From b9c86ebfd4eda321881527819da30a9e0abf3502 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 6 Mar 2025 17:05:20 +0000 Subject: [PATCH] CodeGen from PR 33053 in Azure/azure-rest-api-specs Merge aa25eabc5dcf6816f63dc07738dfdf270bac8cfa into 94b023458e408d9853fc485cccc22f5e776d43ff --- common/config/rush/pnpm-lock.yaml | 45 +- sdk/network/arm-network/CHANGELOG.md | 209 ++ sdk/network/arm-network/LICENSE | 2 +- sdk/network/arm-network/README.md | 8 +- sdk/network/arm-network/_meta.json | 10 +- sdk/network/arm-network/api-extractor.json | 6 +- sdk/network/arm-network/package.json | 32 +- .../arm-network/review/arm-network.api.md | 1190 +++++++- sdk/network/arm-network/src/lroImpl.ts | 4 + sdk/network/arm-network/src/models/index.ts | 1808 ++++++++++-- sdk/network/arm-network/src/models/mappers.ts | 2515 ++++++++++++++--- .../arm-network/src/models/parameters.ts | 370 ++- .../src/networkManagementClient.ts | 51 +- .../src/operations/connectionMonitors.ts | 251 +- .../arm-network/src/operations/flowLogs.ts | 2 +- .../inboundSecurityRuleOperations.ts | 2 +- .../arm-network/src/operations/index.ts | 10 + .../loadBalancerLoadBalancingRules.ts | 4 +- .../src/operations/localNetworkGateways.ts | 2 +- .../networkSecurityPerimeterAccessRules.ts | 449 +++ ...ecurityPerimeterAssociableResourceTypes.ts | 173 ++ .../networkSecurityPerimeterAssociations.ts | 518 ++++ .../networkSecurityPerimeterLinkReferences.ts | 377 +++ .../networkSecurityPerimeterLinks.ts | 428 +++ ...kSecurityPerimeterLoggingConfigurations.ts | 356 +++ ...tworkSecurityPerimeterOperationStatuses.ts | 73 + .../networkSecurityPerimeterProfiles.ts | 347 +++ .../operations/networkSecurityPerimeters.ts | 547 ++++ .../operations/networkVirtualAppliances.ts | 263 +- .../src/operations/networkWatchers.ts | 26 +- .../src/operations/nspAssociationReconcile.ts | 86 + .../src/operations/p2SVpnGateways.ts | 6 +- .../src/operations/packetCaptures.ts | 2 +- .../src/operations/privateDnsZoneGroups.ts | 2 +- .../src/operations/privateEndpoints.ts | 2 +- .../src/operations/privateLinkServices.ts | 8 +- .../src/operations/publicIPPrefixes.ts | 2 +- .../arm-network/src/operations/routeTables.ts | 2 +- .../operations/securityPartnerProviders.ts | 2 +- .../src/operations/serviceEndpointPolicies.ts | 2 +- .../src/operations/virtualApplianceSites.ts | 2 +- .../src/operations/virtualHubBgpConnection.ts | 2 +- .../operations/virtualHubIpConfiguration.ts | 2 +- .../virtualNetworkGatewayConnections.ts | 10 +- .../src/operations/virtualNetworkGateways.ts | 919 +++++- .../src/operations/virtualNetworkTaps.ts | 2 +- .../src/operations/virtualNetworks.ts | 2 +- .../src/operations/virtualRouterPeerings.ts | 2 +- .../src/operations/virtualRouters.ts | 2 +- .../src/operations/vpnConnections.ts | 4 +- .../arm-network/src/operations/vpnGateways.ts | 4 +- .../src/operations/vpnSitesConfiguration.ts | 2 +- .../webApplicationFirewallPolicies.ts | 2 +- .../connectionMonitors.ts | 60 - .../src/operationsInterfaces/index.ts | 10 + .../networkSecurityPerimeterAccessRules.ts | 102 + ...ecurityPerimeterAssociableResourceTypes.ts | 28 + .../networkSecurityPerimeterAssociations.ts | 109 + .../networkSecurityPerimeterLinkReferences.ts | 72 + .../networkSecurityPerimeterLinks.ts | 89 + ...kSecurityPerimeterLoggingConfigurations.ts | 78 + ...tworkSecurityPerimeterOperationStatuses.ts | 27 + .../networkSecurityPerimeterProfiles.ts | 75 + .../networkSecurityPerimeters.ts | 103 + .../networkVirtualAppliances.ts | 65 + .../nspAssociationReconcile.ts | 31 + .../virtualNetworkGateways.ts | 161 ++ sdk/network/arm-network/test/sampleTest.ts | 40 + sdk/network/arm-network/test/snippets.spec.ts | 18 +- .../arm-network/tsconfig.browser.config.json | 5 +- sdk/network/arm-network/tsconfig.json | 36 +- sdk/network/arm-network/tsconfig.samples.json | 4 +- sdk/network/arm-network/tsconfig.test.json | 5 +- .../arm-network/vitest.browser.config.ts | 3 +- sdk/network/arm-network/vitest.config.ts | 1 + sdk/network/arm-network/vitest.esm.config.ts | 6 +- 76 files changed, 10865 insertions(+), 1410 deletions(-) create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterAccessRules.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociableResourceTypes.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociations.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterLinkReferences.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterLinks.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterLoggingConfigurations.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterOperationStatuses.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeterProfiles.ts create mode 100644 sdk/network/arm-network/src/operations/networkSecurityPerimeters.ts create mode 100644 sdk/network/arm-network/src/operations/nspAssociationReconcile.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAccessRules.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociableResourceTypes.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociations.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinkReferences.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinks.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLoggingConfigurations.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterOperationStatuses.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterProfiles.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeters.ts create mode 100644 sdk/network/arm-network/src/operationsInterfaces/nspAssociationReconcile.ts create mode 100644 sdk/network/arm-network/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 1a2803bf0af9..cfa05b777463 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1305,6 +1305,10 @@ packages: resolution: {integrity: sha512-6QmZ9aGdiz+9u7jPhQEg2zY/Tn8hwJrmjAMuHlWpnqE2kHvSDnKCE3BiNLZsENfi/IeLKBuW0QIdZ5UhbSSA0A==} engines: {node: '>=14.0.0'} + '@azure/arm-network@33.5.0': + resolution: {integrity: sha512-wXD34p4/J2kZrkWylabtxLzrea5TK2m9NRwYtBLCvgQXN5NFTQohHgOFhoi/7DgV6w1qaM+qGz9mo5HRxpU70w==} + engines: {node: '>=18.0.0'} + '@azure/arm-recoveryservices@5.4.0': resolution: {integrity: sha512-+BsxHcFzJH28hMAsyI+bbAYVw79d12WagttmFvoidXXq76/5KpNCA2NWTGSV0AlJ+QaCF6+7I7P91PRYnJsr+w==} engines: {node: '>=14.0.0'} @@ -2540,7 +2544,7 @@ packages: version: 0.0.0 '@rush-temp/ai-inference@file:projects/ai-inference.tgz': - resolution: {integrity: sha512-jy3iCFAJq8qZFdMN0GEK8XNPi3lTfEIQEOM4jNCqE850gODahI+XXRqHMbrGUJd2tjmZMm0cKc6CQbjVxFsi/Q==, tarball: file:projects/ai-inference.tgz} + resolution: {integrity: sha512-3F/JVas1qHmWihXHHGxX6EUigHTNsftXBjspS6BMU6/lu/xDNMxKAY30DJMK90KyhH5UxZ+ZRwWlWbhKWW+2ow==, tarball: file:projects/ai-inference.tgz} version: 0.0.0 '@rush-temp/ai-language-conversations@file:projects/ai-language-conversations.tgz': @@ -2560,7 +2564,7 @@ packages: version: 0.0.0 '@rush-temp/ai-projects@file:projects/ai-projects.tgz': - resolution: {integrity: sha512-olWaOR+lScYd4KfOBFDagJ6zLA728vt+08hSgNDsM182EdAAAYN2c5dqJ7BsN/1rv7I6rb6lywdCSQ5gK9pABQ==, tarball: file:projects/ai-projects.tgz} + resolution: {integrity: sha512-rbzbhwz+05oHf7CC83pshBtWypNW2LVlSpfOOwkX3BmqB4MiHah+CmjehPDEKqpnn0vgU4GzdM0BeD4HoI9J1w==, tarball: file:projects/ai-projects.tgz} version: 0.0.0 '@rush-temp/ai-text-analytics@file:projects/ai-text-analytics.tgz': @@ -3188,7 +3192,7 @@ packages: version: 0.0.0 '@rush-temp/arm-mongocluster@file:projects/arm-mongocluster.tgz': - resolution: {integrity: sha512-IV75GkJIy826xX3bpXNNtD5NA8T2xtd2XyhDNitkSqKm3vAGsn5pRJx3bZefvIBWfcBluTLuDDEqq/Px+dI3Nw==, tarball: file:projects/arm-mongocluster.tgz} + resolution: {integrity: sha512-VSHtcSa5nz7I0ALaEsRuydRjY3qaJUeytkprso0UVWMmcsLNQgxomEu8s8ZlN1hFG/6OW0K4pPd3+e1prrN58w==, tarball: file:projects/arm-mongocluster.tgz} version: 0.0.0 '@rush-temp/arm-monitor-profile-2020-09-01-hybrid@file:projects/arm-monitor-profile-2020-09-01-hybrid.tgz': @@ -3220,7 +3224,7 @@ packages: version: 0.0.0 '@rush-temp/arm-network-1@file:projects/arm-network-1.tgz': - resolution: {integrity: sha512-q4ASyNd5Eq5yjwbjsSw/jdjm7J+kEmN9btEESalt2ga97OmAqVFEQXz0+zAQEJ5eIdRKmI2puc4Ek1E+0i1efg==, tarball: file:projects/arm-network-1.tgz} + resolution: {integrity: sha512-I+cWyh82DI1KwYKWeg7NYZPFfGGkhca5giIfluNW/JRqSjJETE4VKy72roWzEMGc6k33fieSaErzn4gjQmUq0A==, tarball: file:projects/arm-network-1.tgz} version: 0.0.0 '@rush-temp/arm-network-profile-2020-09-01-hybrid@file:projects/arm-network-profile-2020-09-01-hybrid.tgz': @@ -3884,7 +3888,7 @@ packages: version: 0.0.0 '@rush-temp/mixed-reality-remote-rendering@file:projects/mixed-reality-remote-rendering.tgz': - resolution: {integrity: sha512-4Wx6KxuTYKmgYWfmzLs2BW2MkwATk98Fdx88WL7/sa632gevVbfOCT5WWUUsqW2OtLN36jpr8Vi6UfKrxEON0g==, tarball: file:projects/mixed-reality-remote-rendering.tgz} + resolution: {integrity: sha512-TN6cq8PIrYAy/tJ4mQIkcRn1Wkr5lBxnDY8UeSvQP9D61ZN0iESKb4j+wnXPJp2RNKa9tBpg8NcOt5Jc7qhwaQ==, tarball: file:projects/mixed-reality-remote-rendering.tgz} version: 0.0.0 '@rush-temp/mock-hub@file:projects/mock-hub.tgz': @@ -3900,11 +3904,11 @@ packages: version: 0.0.0 '@rush-temp/monitor-opentelemetry@file:projects/monitor-opentelemetry.tgz': - resolution: {integrity: sha512-1K08pDS3mRgyqyPHPU/PS/Kwhn10bdtrh9sU9itLgfy+cj+Rn/KkMG0Y0ZIAqhPRYc1/LUdXBVR1LZ/l3gx0Iw==, tarball: file:projects/monitor-opentelemetry.tgz} + resolution: {integrity: sha512-HH9DSuPu9Flo0w2YXzGUnayl/lDLcTwcGEhht0VdjPe7ZwhakhOH8/VoxrZKQTdgseCZMpYDmWgB2BaKkUr/Mg==, tarball: file:projects/monitor-opentelemetry.tgz} version: 0.0.0 '@rush-temp/monitor-query@file:projects/monitor-query.tgz': - resolution: {integrity: sha512-FfDHQlhugBYGKJAG+Qvo0eA9RxpyaY0LHrPOjcmIyF8gy3hxeJf0+Z9/XSfi3jDrCdv+l1K3as1cbuiY48Or4Q==, tarball: file:projects/monitor-query.tgz} + resolution: {integrity: sha512-bQ0lyAnF/GBcL7pwA66f/U6sjezndhPmHkMCjdmz1MD93PYpaQvasNEGspFvjrnt8Xwcg0CmdnzeWbHE6obY1w==, tarball: file:projects/monitor-query.tgz} version: 0.0.0 '@rush-temp/notification-hubs@file:projects/notification-hubs.tgz': @@ -3912,7 +3916,7 @@ packages: version: 0.0.0 '@rush-temp/openai@file:projects/openai.tgz': - resolution: {integrity: sha512-QnN8rZhPnF3/GYsh3cLlyCb6JgnWdpPVrjGoau5jvxZQWcBIWb108P7yNZwXptJcPti/jGYJPFQuwRWW7CxgvA==, tarball: file:projects/openai.tgz} + resolution: {integrity: sha512-EB6z+wWho8coz2hCDFUcYTJ+Jw5CfJ20yzKpIZeNk4OxpglGY7XTSiWxsuCHa++eVGTTXRHMwG/gdOtAv9mZkw==, tarball: file:projects/openai.tgz} version: 0.0.0 '@rush-temp/opentelemetry-instrumentation-azure-sdk@file:projects/opentelemetry-instrumentation-azure-sdk.tgz': @@ -3980,7 +3984,7 @@ packages: version: 0.0.0 '@rush-temp/perf-monitor-opentelemetry@file:projects/perf-monitor-opentelemetry.tgz': - resolution: {integrity: sha512-dwzpNIZPU6i3RcqjhLVipjyiz3ZZMtjs7dOuCSH4TtaOyj5vgqVvQC61FbEsnQrI5coVWW0NEOmbNYbzkih1Yw==, tarball: file:projects/perf-monitor-opentelemetry.tgz} + resolution: {integrity: sha512-B6GNjGVtP+BWESkV/d2t2Kg4FhgyWAibL4khmjnhduwd14Cjtqf/Aoz7B71usfgEXEUE9KvkL3VUg2IVm+MLSw==, tarball: file:projects/perf-monitor-opentelemetry.tgz} version: 0.0.0 '@rush-temp/perf-monitor-query@file:projects/perf-monitor-query.tgz': @@ -4056,7 +4060,7 @@ packages: version: 0.0.0 '@rush-temp/service-bus@file:projects/service-bus.tgz': - resolution: {integrity: sha512-ICttr5Vkcza3Jpy5WP+rciaUvO8NRkplh7TEOk7RWExZR9GFF0hXTNbH11Id8/OSZ17v/vuWtwt+9GFLBeDsZw==, tarball: file:projects/service-bus.tgz} + resolution: {integrity: sha512-CEMwNWHdlbtYASoZFKNN3dzVF8Uno0LED5f7xmGV7kjawCq6iJuwxz4UhBDpDDdYYdG+cAIIcMZfUEj+cdcQsA==, tarball: file:projects/service-bus.tgz} version: 0.0.0 '@rush-temp/storage-blob-changefeed@file:projects/storage-blob-changefeed.tgz': @@ -8343,6 +8347,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@azure/arm-network@33.5.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-client': 1.9.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.19.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + '@azure/arm-recoveryservices@5.4.0': dependencies: '@azure/abort-controller': 1.1.0 @@ -15623,6 +15639,7 @@ snapshots: '@rush-temp/arm-mongocluster@file:projects/arm-mongocluster.tgz(@types/debug@4.1.12)(msw@2.7.2(@types/node@22.7.9)(typescript@5.8.2))(tsx@4.19.3)(vite@6.1.1(@types/node@22.7.9)(tsx@4.19.3)(yaml@2.7.0))(yaml@2.7.0)': dependencies: + '@azure/arm-network': 33.5.0 '@types/node': 18.19.76 '@vitest/browser': 3.0.6(@types/node@18.19.76)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.1(@types/node@22.7.9)(tsx@4.19.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/coverage-istanbul': 3.0.6(vitest@3.0.6) @@ -15904,12 +15921,12 @@ snapshots: dependencies: '@azure/core-lro': 2.7.2 '@types/node': 18.19.76 - '@vitest/browser': 3.0.6(@types/node@18.19.76)(playwright@1.50.1)(typescript@5.7.3)(vite@6.1.1(@types/node@22.7.9)(tsx@4.19.3)(yaml@2.7.0))(vitest@3.0.6) + '@vitest/browser': 3.0.6(@types/node@18.19.76)(playwright@1.50.1)(typescript@5.6.3)(vite@6.1.1(@types/node@22.7.9)(tsx@4.19.3)(yaml@2.7.0))(vitest@3.0.6) '@vitest/coverage-istanbul': 3.0.6(vitest@3.0.6) dotenv: 16.4.7 playwright: 1.50.1 tslib: 2.8.1 - typescript: 5.7.3 + typescript: 5.6.3 vitest: 3.0.6(@types/debug@4.1.12)(@types/node@18.19.76)(@vitest/browser@3.0.6)(msw@2.7.2(@types/node@22.7.9)(typescript@5.8.2))(tsx@4.19.3)(yaml@2.7.0) transitivePeerDependencies: - '@edge-runtime/vm' @@ -23879,7 +23896,7 @@ snapshots: '@types/chai-as-promised@7.1.8': dependencies: - '@types/chai': 4.3.20 + '@types/chai': 5.0.1 '@types/chai-as-promised@8.0.1': dependencies: @@ -27933,7 +27950,7 @@ snapshots: resolve-import: 1.4.6 rimraf: 5.0.10 sync-content: 1.0.2 - typescript: 5.7.3 + typescript: 5.8.2 walk-up-path: 3.0.1 tslib@2.8.1: {} diff --git a/sdk/network/arm-network/CHANGELOG.md b/sdk/network/arm-network/CHANGELOG.md index 3e5abcb56615..78c18c1729ec 100644 --- a/sdk/network/arm-network/CHANGELOG.md +++ b/sdk/network/arm-network/CHANGELOG.md @@ -1,5 +1,214 @@ # Release History +## 34.0.0 (2025-03-06) + +### Features Added + + - Added operation group NetworkSecurityPerimeterAccessRules + - Added operation group NetworkSecurityPerimeterAssociableResourceTypes + - Added operation group NetworkSecurityPerimeterAssociations + - Added operation group NetworkSecurityPerimeterLinkReferences + - Added operation group NetworkSecurityPerimeterLinks + - Added operation group NetworkSecurityPerimeterLoggingConfigurations + - Added operation group NetworkSecurityPerimeterOperationStatuses + - Added operation group NetworkSecurityPerimeterProfiles + - Added operation group NetworkSecurityPerimeters + - Added operation group NspAssociationReconcile + - Added operation NetworkVirtualAppliances.beginGetBootDiagnosticLogs + - Added operation NetworkVirtualAppliances.beginGetBootDiagnosticLogsAndWait + - Added operation NetworkVirtualAppliances.beginReimage + - Added operation NetworkVirtualAppliances.beginReimageAndWait + - Added operation VirtualNetworkGateways.beginGetResiliencyInformation + - Added operation VirtualNetworkGateways.beginGetResiliencyInformationAndWait + - Added operation VirtualNetworkGateways.beginGetRoutesInformation + - Added operation VirtualNetworkGateways.beginGetRoutesInformationAndWait + - Added operation VirtualNetworkGateways.beginInvokeAbortMigration + - Added operation VirtualNetworkGateways.beginInvokeAbortMigrationAndWait + - Added operation VirtualNetworkGateways.beginInvokeCommitMigration + - Added operation VirtualNetworkGateways.beginInvokeCommitMigrationAndWait + - Added operation VirtualNetworkGateways.beginInvokeExecuteMigration + - Added operation VirtualNetworkGateways.beginInvokeExecuteMigrationAndWait + - Added operation VirtualNetworkGateways.beginInvokePrepareMigration + - Added operation VirtualNetworkGateways.beginInvokePrepareMigrationAndWait + - Added Interface AdvertisedPublicPrefixProperties + - Added Interface CircuitMetadataMap + - Added Interface ConnectivityConfigurationPropertiesConnectivityCapabilities + - Added Interface ErrorAdditionalInfo + - Added Interface ErrorDetail + - Added Interface GatewayResiliencyInformation + - Added Interface GatewayResiliencyRecommendation + - Added Interface GatewayRouteSet + - Added Interface GatewayRouteSetsInformation + - Added Interface ManagedRuleSetRuleGroup + - Added Interface NetworkSecurityPerimeter + - Added Interface NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimeterAccessRulesDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterAccessRulesGetOptionalParams + - Added Interface NetworkSecurityPerimeterAccessRulesListNextOptionalParams + - Added Interface NetworkSecurityPerimeterAccessRulesListOptionalParams + - Added Interface NetworkSecurityPerimeterAccessRulesReconcileOptionalParams + - Added Interface NetworkSecurityPerimeterAssociableResourceTypesListNextOptionalParams + - Added Interface NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams + - Added Interface NetworkSecurityPerimeterAssociationsCreateOrUpdateHeaders + - Added Interface NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimeterAssociationsDeleteHeaders + - Added Interface NetworkSecurityPerimeterAssociationsDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterAssociationsGetOptionalParams + - Added Interface NetworkSecurityPerimeterAssociationsListNextOptionalParams + - Added Interface NetworkSecurityPerimeterAssociationsListOptionalParams + - Added Interface NetworkSecurityPerimeterLinkReferencesDeleteHeaders + - Added Interface NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterLinkReferencesGetOptionalParams + - Added Interface NetworkSecurityPerimeterLinkReferencesListNextOptionalParams + - Added Interface NetworkSecurityPerimeterLinkReferencesListOptionalParams + - Added Interface NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimeterLinksDeleteHeaders + - Added Interface NetworkSecurityPerimeterLinksDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterLinksGetOptionalParams + - Added Interface NetworkSecurityPerimeterLinksListNextOptionalParams + - Added Interface NetworkSecurityPerimeterLinksListOptionalParams + - Added Interface NetworkSecurityPerimeterListResult + - Added Interface NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams + - Added Interface NetworkSecurityPerimeterLoggingConfigurationsListNextOptionalParams + - Added Interface NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams + - Added Interface NetworkSecurityPerimeterOperationStatusesGetOptionalParams + - Added Interface NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimeterProfilesDeleteOptionalParams + - Added Interface NetworkSecurityPerimeterProfilesGetOptionalParams + - Added Interface NetworkSecurityPerimeterProfilesListNextOptionalParams + - Added Interface NetworkSecurityPerimeterProfilesListOptionalParams + - Added Interface NetworkSecurityPerimetersCreateOrUpdateOptionalParams + - Added Interface NetworkSecurityPerimetersDeleteHeaders + - Added Interface NetworkSecurityPerimetersDeleteOptionalParams + - Added Interface NetworkSecurityPerimetersGetOptionalParams + - Added Interface NetworkSecurityPerimetersListBySubscriptionNextOptionalParams + - Added Interface NetworkSecurityPerimetersListBySubscriptionOptionalParams + - Added Interface NetworkSecurityPerimetersListNextOptionalParams + - Added Interface NetworkSecurityPerimetersListOptionalParams + - Added Interface NetworkSecurityPerimetersPatchOptionalParams + - Added Interface NetworkVirtualApplianceBootDiagnosticParameters + - Added Interface NetworkVirtualApplianceInstanceId + - Added Interface NetworkVirtualAppliancesGetBootDiagnosticLogsHeaders + - Added Interface NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams + - Added Interface NetworkVirtualAppliancesReimageHeaders + - Added Interface NetworkVirtualAppliancesReimageOptionalParams + - Added Interface NspAccessRule + - Added Interface NspAccessRuleListResult + - Added Interface NspAssociation + - Added Interface NspAssociationReconcilePostOptionalParams + - Added Interface NspAssociationsListResult + - Added Interface NspLink + - Added Interface NspLinkListResult + - Added Interface NspLinkReference + - Added Interface NspLinkReferenceListResult + - Added Interface NspLoggingConfiguration + - Added Interface NspLoggingConfigurationListResult + - Added Interface NspProfile + - Added Interface NspProfileListResult + - Added Interface OperationStatusResult + - Added Interface PerimeterAssociableResource + - Added Interface PerimeterAssociableResourcesListResult + - Added Interface PerimeterBasedAccessRule + - Added Interface ProxyResource + - Added Interface ResiliencyRecommendationComponents + - Added Interface RouteSourceDetails + - Added Interface SubscriptionId + - Added Interface UpdateTagsRequest + - Added Interface VirtualNetworkGatewayMigrationParameters + - Added Interface VirtualNetworkGatewayMigrationStatus + - Added Interface VirtualNetworkGatewaysGetResiliencyInformationHeaders + - Added Interface VirtualNetworkGatewaysGetResiliencyInformationOptionalParams + - Added Interface VirtualNetworkGatewaysGetRoutesInformationHeaders + - Added Interface VirtualNetworkGatewaysGetRoutesInformationOptionalParams + - Added Interface VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams + - Added Interface VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams + - Added Interface VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams + - Added Interface VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams + - Added Type Alias AccessRuleDirection + - Added Type Alias AdvertisedPublicPrefixPropertiesValidationState + - Added Type Alias AssociationAccessMode + - Added Type Alias ConnectedGroupAddressOverlap + - Added Type Alias ConnectedGroupPrivateEndpointScale + - Added Type Alias NetworkSecurityPerimeterAccessRulesCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimeterAccessRulesGetResponse + - Added Type Alias NetworkSecurityPerimeterAccessRulesListNextResponse + - Added Type Alias NetworkSecurityPerimeterAccessRulesListResponse + - Added Type Alias NetworkSecurityPerimeterAccessRulesReconcileResponse + - Added Type Alias NetworkSecurityPerimeterAssociableResourceTypesListNextResponse + - Added Type Alias NetworkSecurityPerimeterAssociableResourceTypesListResponse + - Added Type Alias NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimeterAssociationsGetResponse + - Added Type Alias NetworkSecurityPerimeterAssociationsListNextResponse + - Added Type Alias NetworkSecurityPerimeterAssociationsListResponse + - Added Type Alias NetworkSecurityPerimeterLinkReferencesGetResponse + - Added Type Alias NetworkSecurityPerimeterLinkReferencesListNextResponse + - Added Type Alias NetworkSecurityPerimeterLinkReferencesListResponse + - Added Type Alias NetworkSecurityPerimeterLinksCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimeterLinksGetResponse + - Added Type Alias NetworkSecurityPerimeterLinksListNextResponse + - Added Type Alias NetworkSecurityPerimeterLinksListResponse + - Added Type Alias NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimeterLoggingConfigurationsGetResponse + - Added Type Alias NetworkSecurityPerimeterLoggingConfigurationsListNextResponse + - Added Type Alias NetworkSecurityPerimeterLoggingConfigurationsListResponse + - Added Type Alias NetworkSecurityPerimeterOperationStatusesGetResponse + - Added Type Alias NetworkSecurityPerimeterProfilesCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimeterProfilesGetResponse + - Added Type Alias NetworkSecurityPerimeterProfilesListNextResponse + - Added Type Alias NetworkSecurityPerimeterProfilesListResponse + - Added Type Alias NetworkSecurityPerimetersCreateOrUpdateResponse + - Added Type Alias NetworkSecurityPerimetersGetResponse + - Added Type Alias NetworkSecurityPerimetersListBySubscriptionNextResponse + - Added Type Alias NetworkSecurityPerimetersListBySubscriptionResponse + - Added Type Alias NetworkSecurityPerimetersListNextResponse + - Added Type Alias NetworkSecurityPerimetersListResponse + - Added Type Alias NetworkSecurityPerimetersPatchResponse + - Added Type Alias NetworkVirtualAppliancesGetBootDiagnosticLogsResponse + - Added Type Alias NetworkVirtualAppliancesReimageResponse + - Added Type Alias NspAssociationReconcilePostResponse + - Added Type Alias NspLinkProvisioningState + - Added Type Alias NspLinkStatus + - Added Type Alias NspProvisioningState + - Added Type Alias PeeringEnforcement + - Added Type Alias VirtualNetworkGatewayMigrationPhase + - Added Type Alias VirtualNetworkGatewayMigrationState + - Added Type Alias VirtualNetworkGatewayMigrationType + - Added Type Alias VirtualNetworkGatewaysGetResiliencyInformationResponse + - Added Type Alias VirtualNetworkGatewaysGetRoutesInformationResponse + - Interface ConnectivityConfiguration has a new optional parameter connectivityCapabilities + - Interface EffectiveConnectivityConfiguration has a new optional parameter connectivityCapabilities + - Interface ExpressRouteCircuitPeeringConfig has a new optional parameter advertisedPublicPrefixInfo + - Interface IpamPool has a new optional parameter etag + - Interface LoadBalancingRule has a new optional parameter enableConnectionTracking + - Interface ManagedRuleSet has a new optional parameter computedDisabledRules + - Interface VerifierWorkspace has a new optional parameter etag + - Interface VirtualNetworkGateway has a new optional parameter enableHighBandwidthVpnGateway + - Added Enum KnownAccessRuleDirection + - Added Enum KnownAdvertisedPublicPrefixPropertiesValidationState + - Added Enum KnownAssociationAccessMode + - Added Enum KnownConnectedGroupAddressOverlap + - Added Enum KnownConnectedGroupPrivateEndpointScale + - Added Enum KnownNspLinkProvisioningState + - Added Enum KnownNspLinkStatus + - Added Enum KnownNspProvisioningState + - Added Enum KnownPeeringEnforcement + - Added Enum KnownVirtualNetworkGatewayMigrationPhase + - Added Enum KnownVirtualNetworkGatewayMigrationState + - Added Enum KnownVirtualNetworkGatewayMigrationType + - Enum KnownApplicationGatewayFirewallUserSessionVariable has a new value ClientAddrXFFHeader + - Enum KnownApplicationGatewayFirewallUserSessionVariable has a new value GeoLocationXFFHeader + +### Breaking Changes + + - Removed operation ConnectionMonitors.beginQuery + - Removed operation ConnectionMonitors.beginQueryAndWait + - Removed operation ConnectionMonitors.beginStart + - Removed operation ConnectionMonitors.beginStartAndWait + - Type of parameter networkInterfaceIPConfigurationId of interface LoadBalancerHealthPerRulePerBackendAddress is changed from NetworkInterfaceIPConfiguration to string + + ## 33.5.0 (2024-12-10) ### Features Added diff --git a/sdk/network/arm-network/LICENSE b/sdk/network/arm-network/LICENSE index b2f52a2bad4e..63447fd8bbbf 100644 --- a/sdk/network/arm-network/LICENSE +++ b/sdk/network/arm-network/LICENSE @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/sdk/network/arm-network/README.md b/sdk/network/arm-network/README.md index afca80211912..7ce6dffbc47e 100644 --- a/sdk/network/arm-network/README.md +++ b/sdk/network/arm-network/README.md @@ -63,16 +63,14 @@ For browser environments, use the `InteractiveBrowserCredential` from the `@azur import { InteractiveBrowserCredential } from "@azure/identity"; import { NetworkManagementClient } from "@azure/arm-network"; -const subscriptionId = "00000000-0000-0000-0000-000000000000"; const credential = new InteractiveBrowserCredential({ tenantId: "", - clientId: "", -}); + clientId: "" + }); const client = new NetworkManagementClient(credential, subscriptionId); ``` ### JavaScript Bundle - To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling). ## Key concepts @@ -107,6 +105,8 @@ If you'd like to contribute to this library, please read the [contributing guide - [Microsoft Azure SDK for JavaScript](https://github.com/Azure/azure-sdk-for-js) +![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-js%2Fsdk%2Fnetwork%2Farm-network%2FREADME.png) + [azure_cli]: https://learn.microsoft.com/cli/azure [azure_sub]: https://azure.microsoft.com/free/ [azure_sub]: https://azure.microsoft.com/free/ diff --git a/sdk/network/arm-network/_meta.json b/sdk/network/arm-network/_meta.json index 9fd45d9ee07b..ed884a947ed4 100644 --- a/sdk/network/arm-network/_meta.json +++ b/sdk/network/arm-network/_meta.json @@ -1,8 +1,8 @@ { - "commit": "552b4dd311f90f4a7b2f7adf45461d7a8774a1cc", + "commit": "d5e4930855cb5c0629e2191e751a17da93c29cce", "readme": "specification/network/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.7 --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.29 --generate-sample=true", + "autorest_command": "autorest --version=3.9.7 --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.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.7.16", - "use": "@autorest/typescript@6.0.29" -} + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.21", + "use": "@autorest/typescript@^6.0.12" +} \ No newline at end of file diff --git a/sdk/network/arm-network/api-extractor.json b/sdk/network/arm-network/api-extractor.json index 0794de73deb3..f1d9c8954e48 100644 --- a/sdk/network/arm-network/api-extractor.json +++ b/sdk/network/arm-network/api-extractor.json @@ -1,6 +1,6 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "dist/esm/index.d.ts", + "mainEntryPointFilePath": "./dist-esm/src/index.d.ts", "docModel": { "enabled": true }, @@ -11,7 +11,7 @@ "dtsRollup": { "enabled": true, "untrimmedFilePath": "", - "publicTrimmedFilePath": "dist/arm-network.d.ts" + "publicTrimmedFilePath": "./types/arm-network.d.ts" }, "messages": { "tsdocMessageReporting": { @@ -28,4 +28,4 @@ } } } -} +} \ No newline at end of file diff --git a/sdk/network/arm-network/package.json b/sdk/network/arm-network/package.json index 5fe6b0383266..998f537ee35c 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": "33.5.0", + "version": "34.0.0", "engines": { "node": ">=18.0.0" }, @@ -21,29 +21,31 @@ "azure", "typescript", "browser", - "isomorphic", - "cloud" + "isomorphic" ], "license": "MIT", "main": "./dist/commonjs/index.js", - "module": "./dist/esm/index.js", + "module": "./dist-esm/src/index.js", "types": "./dist/commonjs/index.d.ts", "devDependencies": { "@azure-tools/test-credential": "^2.0.0", "@azure-tools/test-recorder": "^4.1.0", "@azure-tools/test-utils-vitest": "^1.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/identity": "^4.6.0", + "@azure/identity": "^4.7.0", "@azure/logger": "^1.1.4", "@types/node": "^18.0.0", - "@vitest/browser": "^3.0.5", - "@vitest/coverage-istanbul": "^3.0.5", + "@vitest/browser": "^3.0.6", + "@vitest/coverage-istanbul": "^3.0.6", "dotenv": "^16.0.0", "playwright": "^1.50.1", - "typescript": "~5.7.2", - "vitest": "^3.0.5" + "typescript": "~5.6.2", + "vitest": "^3.0.6" + }, + "repository": { + "type": "git", + "url": "https://github.com/Azure/azure-sdk-for-js.git" }, - "repository": "github:Azure/azure-sdk-for-js", "bugs": { "url": "https://github.com/Azure/azure-sdk-for-js/issues" }, @@ -91,14 +93,6 @@ }, "autoPublish": true, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/network/arm-network", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://learn.microsoft.com/javascript/api/@azure/arm-network?view=azure-node-preview" - }, "type": "module", "tshy": { "project": "./tsconfig.src.json", @@ -139,4 +133,4 @@ } } } -} +} \ 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 bbd8b57a1c36..360ddc0614db 100644 --- a/sdk/network/arm-network/review/arm-network.api.md +++ b/sdk/network/arm-network/review/arm-network.api.md @@ -20,6 +20,9 @@ export interface AadAuthenticationParameters { // @public export type Access = string; +// @public +export type AccessRuleDirection = string; + // @public export interface Action { parameters?: Parameter[]; @@ -264,6 +267,17 @@ export type AdminRulesListResponse = AdminRuleListResult; // @public export type AdminState = string; +// @public +export interface AdvertisedPublicPrefixProperties { + prefix?: string; + signature?: string; + validationId?: string; + readonly validationState?: AdvertisedPublicPrefixPropertiesValidationState; +} + +// @public +export type AdvertisedPublicPrefixPropertiesValidationState = string; + // @public export interface ApplicationGateway extends Resource { authenticationCertificates?: ApplicationGatewayAuthenticationCertificate[]; @@ -1340,6 +1354,9 @@ export interface ApplicationSecurityGroupsUpdateTagsOptionalParams extends coreC // @public export type ApplicationSecurityGroupsUpdateTagsResponse = ApplicationSecurityGroup; +// @public +export type AssociationAccessMode = string; + // @public export type AssociationType = string; @@ -2273,6 +2290,13 @@ export interface ChildResource { // @public export type CircuitConnectionStatus = string; +// @public (undocumented) +export interface CircuitMetadataMap { + link?: string; + location?: string; + name?: string; +} + // @public export interface CloudError { error?: CloudErrorBody; @@ -2393,6 +2417,12 @@ export type ConfigurationPolicyGroupsListByVpnServerConfigurationResponse = List // @public export type ConfigurationType = string; +// @public +export type ConnectedGroupAddressOverlap = string; + +// @public +export type ConnectedGroupPrivateEndpointScale = string; + // @public export interface ConnectionMonitor { autoStart?: boolean; @@ -2548,10 +2578,6 @@ export interface ConnectionMonitors { beginCreateOrUpdateAndWait(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, parameters: ConnectionMonitor, options?: ConnectionMonitorsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsDeleteOptionalParams): Promise; - beginQuery(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsQueryOptionalParams): Promise, ConnectionMonitorsQueryResponse>>; - beginQueryAndWait(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsQueryOptionalParams): Promise; - beginStart(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsStartOptionalParams): Promise, void>>; - beginStartAndWait(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsStartOptionalParams): Promise; beginStop(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsStopOptionalParams): Promise, void>>; beginStopAndWait(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsStopOptionalParams): Promise; get(resourceGroupName: string, networkWatcherName: string, connectionMonitorName: string, options?: ConnectionMonitorsGetOptionalParams): Promise; @@ -2598,21 +2624,6 @@ export interface ConnectionMonitorSource { // @public export type ConnectionMonitorSourceStatus = string; -// @public -export interface ConnectionMonitorsQueryOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - -// @public -export type ConnectionMonitorsQueryResponse = ConnectionMonitorQueryResult; - -// @public -export interface ConnectionMonitorsStartOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} - // @public export interface ConnectionMonitorsStopOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -2717,6 +2728,7 @@ export type ConnectionStatus = string; // @public export interface ConnectivityConfiguration extends ChildResource { appliesToGroups?: ConnectivityGroupItem[]; + connectivityCapabilities?: ConnectivityConfigurationPropertiesConnectivityCapabilities; connectivityTopology?: ConnectivityTopology; deleteExistingPeering?: DeleteExistingPeering; description?: string; @@ -2733,6 +2745,13 @@ export interface ConnectivityConfigurationListResult { value?: ConnectivityConfiguration[]; } +// @public +export interface ConnectivityConfigurationPropertiesConnectivityCapabilities { + connectedGroupAddressOverlap: ConnectedGroupAddressOverlap; + connectedGroupPrivateEndpointScale: ConnectedGroupPrivateEndpointScale; + peeringEnforcement: PeeringEnforcement; +} + // @public export interface ConnectivityConfigurations { beginDelete(resourceGroupName: string, networkManagerName: string, configurationName: string, options?: ConnectivityConfigurationsDeleteOptionalParams): Promise, void>>; @@ -3412,6 +3431,7 @@ export type EffectiveBaseSecurityAdminRuleUnion = EffectiveBaseSecurityAdminRule export interface EffectiveConnectivityConfiguration { appliesToGroups?: ConnectivityGroupItem[]; configurationGroups?: ConfigurationGroup[]; + connectivityCapabilities?: ConnectivityConfigurationPropertiesConnectivityCapabilities; connectivityTopology?: ConnectivityTopology; deleteExistingPeering?: DeleteExistingPeering; description?: string; @@ -3554,6 +3574,21 @@ export interface EndpointServicesListResult { // @public export type EndpointType = string; +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorDetail { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorDetail[]; + readonly message?: string; + readonly target?: string; +} + // @public export interface ErrorDetails { code?: string; @@ -3828,6 +3863,7 @@ export interface ExpressRouteCircuitPeeringConfig { advertisedCommunities?: string[]; advertisedPublicPrefixes?: string[]; readonly advertisedPublicPrefixesState?: ExpressRouteCircuitPeeringAdvertisedPublicPrefixState; + advertisedPublicPrefixInfo?: AdvertisedPublicPrefixProperties[]; customerASN?: number; legacyMode?: number; routingRegistryName?: string; @@ -5547,6 +5583,27 @@ export type GatewayLoadBalancerTunnelInterfaceType = string; // @public export type GatewayLoadBalancerTunnelProtocol = string; +// @public +export interface GatewayResiliencyInformation { + components?: ResiliencyRecommendationComponents[]; + lastComputedTime?: string; + maxScoreFromRecommendations?: string; + minScoreFromRecommendations?: string; + nextEligibleComputeTime?: string; + overallScore?: string; + scoreChange?: string; +} + +// @public +export interface GatewayResiliencyRecommendation { + callToActionLink?: string; + callToActionText?: string; + recommendationId?: string; + recommendationText?: string; + recommendationTitle?: string; + severity?: string; +} + // @public export interface GatewayRoute { readonly asPath?: string; @@ -5563,6 +5620,26 @@ export interface GatewayRouteListResult { value?: GatewayRoute[]; } +// @public (undocumented) +export interface GatewayRouteSet { + details?: { + [propertyName: string]: RouteSourceDetails[]; + }; + locations?: string[]; + name?: string; +} + +// @public +export interface GatewayRouteSetsInformation { + circuitsMetadataMap?: { + [propertyName: string]: CircuitMetadataMap; + }; + lastComputedTime?: string; + nextEligibleComputeTime?: string; + routeSets?: GatewayRouteSet[]; + routeSetVersion?: string; +} + // @public export interface GenerateExpressRoutePortsLOARequest { customerName: string; @@ -6141,6 +6218,7 @@ export type IpAllocationType = string; // @public export interface IpamPool extends CommonTrackedResource { + readonly etag?: string; properties: IpamPoolProperties; } @@ -6478,6 +6556,12 @@ export enum KnownAccess { Deny = "Deny" } +// @public +export enum KnownAccessRuleDirection { + Inbound = "Inbound", + Outbound = "Outbound" +} + // @public export enum KnownActionType { Allow = "Allow", @@ -6512,6 +6596,20 @@ export enum KnownAdminState { Enabled = "Enabled" } +// @public +export enum KnownAdvertisedPublicPrefixPropertiesValidationState { + AsnValidationFailed = "AsnValidationFailed", + CertificateMissingInRoutingRegistry = "CertificateMissingInRoutingRegistry", + Configured = "Configured", + Configuring = "Configuring", + InvalidSignatureEncoding = "InvalidSignatureEncoding", + ManualValidationNeeded = "ManualValidationNeeded", + NotConfigured = "NotConfigured", + SignatureVerificationFailed = "SignatureVerificationFailed", + ValidationFailed = "ValidationFailed", + ValidationNeeded = "ValidationNeeded" +} + // @public export enum KnownApplicationGatewayBackendHealthServerHealth { Down = "Down", @@ -6561,7 +6659,9 @@ export enum KnownApplicationGatewayFirewallRateLimitDuration { // @public export enum KnownApplicationGatewayFirewallUserSessionVariable { ClientAddr = "ClientAddr", + ClientAddrXFFHeader = "ClientAddrXFFHeader", GeoLocation = "GeoLocation", + GeoLocationXFFHeader = "GeoLocationXFFHeader", None = "None" } @@ -6724,6 +6824,13 @@ export enum KnownApplicationGatewayWafRuleStateTypes { Enabled = "Enabled" } +// @public +export enum KnownAssociationAccessMode { + Audit = "Audit", + Enforced = "Enforced", + Learning = "Learning" +} + // @public export enum KnownAssociationType { Associated = "Associated", @@ -6855,6 +6962,18 @@ export enum KnownConfigurationType { SecurityUser = "SecurityUser" } +// @public +export enum KnownConnectedGroupAddressOverlap { + Allowed = "Allowed", + Disallowed = "Disallowed" +} + +// @public +export enum KnownConnectedGroupPrivateEndpointScale { + HighScale = "HighScale", + Standard = "Standard" +} + // @public export enum KnownConnectionMonitorEndpointFilterItemType { AgentAddress = "AgentAddress" @@ -7580,6 +7699,35 @@ export enum KnownNicTypeInResponse { PublicNic = "PublicNic" } +// @public +export enum KnownNspLinkProvisioningState { + Accepted = "Accepted", + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating", + WaitForRemoteCompletion = "WaitForRemoteCompletion" +} + +// @public +export enum KnownNspLinkStatus { + Approved = "Approved", + Disconnected = "Disconnected", + Pending = "Pending", + Rejected = "Rejected" +} + +// @public +export enum KnownNspProvisioningState { + Accepted = "Accepted", + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded", + Updating = "Updating" +} + // @public export enum KnownOfficeTrafficCategory { All = "All", @@ -7647,6 +7795,12 @@ export enum KnownPcStatus { Unknown = "Unknown" } +// @public +export enum KnownPeeringEnforcement { + Enforced = "Enforced", + Unenforced = "Unenforced" +} + // @public export enum KnownPfsGroup { ECP256 = "ECP256", @@ -8020,6 +8174,32 @@ export enum KnownVirtualNetworkGatewayConnectionType { VPNClient = "VPNClient" } +// @public +export enum KnownVirtualNetworkGatewayMigrationPhase { + Abort = "Abort", + AbortSucceeded = "AbortSucceeded", + Commit = "Commit", + CommitSucceeded = "CommitSucceeded", + Execute = "Execute", + ExecuteSucceeded = "ExecuteSucceeded", + None = "None", + Prepare = "Prepare", + PrepareSucceeded = "PrepareSucceeded" +} + +// @public +export enum KnownVirtualNetworkGatewayMigrationState { + Failed = "Failed", + InProgress = "InProgress", + None = "None", + Succeeded = "Succeeded" +} + +// @public +export enum KnownVirtualNetworkGatewayMigrationType { + UpgradeDeploymentToStandardIP = "UpgradeDeploymentToStandardIP" +} + // @public export enum KnownVirtualNetworkGatewaySkuName { Basic = "Basic", @@ -8539,7 +8719,7 @@ export interface LoadBalancerHealthPerRule { // @public export interface LoadBalancerHealthPerRulePerBackendAddress { ipAddress?: string; - networkInterfaceIPConfigurationId?: NetworkInterfaceIPConfiguration; + networkInterfaceIPConfigurationId?: string; reason?: string; state?: string; } @@ -8814,6 +8994,7 @@ export interface LoadBalancingRule extends SubResource { backendAddressPools?: SubResource[]; backendPort?: number; disableOutboundSnat?: boolean; + enableConnectionTracking?: boolean; enableFloatingIP?: boolean; enableTcpReset?: boolean; readonly etag?: string; @@ -8935,11 +9116,18 @@ export interface ManagedRulesDefinition { // @public export interface ManagedRuleSet { + readonly computedDisabledRules?: ManagedRuleSetRuleGroup[]; ruleGroupOverrides?: ManagedRuleGroupOverride[]; ruleSetType: string; ruleSetVersion: string; } +// @public +export interface ManagedRuleSetRuleGroup { + ruleGroupName: string; + rules?: string[]; +} + // @public export interface ManagedServiceIdentity { readonly principalId?: string; @@ -9899,12 +10087,32 @@ export class NetworkManagementClient extends coreClient.ServiceClient { // (undocumented) networkSecurityGroups: NetworkSecurityGroups; // (undocumented) + networkSecurityPerimeterAccessRules: NetworkSecurityPerimeterAccessRules; + // (undocumented) + networkSecurityPerimeterAssociableResourceTypes: NetworkSecurityPerimeterAssociableResourceTypes; + // (undocumented) + networkSecurityPerimeterAssociations: NetworkSecurityPerimeterAssociations; + // (undocumented) + networkSecurityPerimeterLinkReferences: NetworkSecurityPerimeterLinkReferences; + // (undocumented) + networkSecurityPerimeterLinks: NetworkSecurityPerimeterLinks; + // (undocumented) + networkSecurityPerimeterLoggingConfigurations: NetworkSecurityPerimeterLoggingConfigurations; + // (undocumented) + networkSecurityPerimeterOperationStatuses: NetworkSecurityPerimeterOperationStatuses; + // (undocumented) + networkSecurityPerimeterProfiles: NetworkSecurityPerimeterProfiles; + // (undocumented) + networkSecurityPerimeters: NetworkSecurityPerimeters; + // (undocumented) networkVirtualApplianceConnections: NetworkVirtualApplianceConnections; // (undocumented) networkVirtualAppliances: NetworkVirtualAppliances; // (undocumented) networkWatchers: NetworkWatchers; // (undocumented) + nspAssociationReconcile: NspAssociationReconcile; + // (undocumented) operations: Operations; // (undocumented) p2SVpnGateways: P2SVpnGateways; @@ -10514,191 +10722,621 @@ export interface NetworkSecurityGroupsUpdateTagsOptionalParams extends coreClien export type NetworkSecurityGroupsUpdateTagsResponse = NetworkSecurityGroup; // @public -export interface NetworkSecurityRulesEvaluationResult { - destinationMatched?: boolean; - destinationPortMatched?: boolean; - name?: string; - protocolMatched?: boolean; - sourceMatched?: boolean; - sourcePortMatched?: boolean; +export interface NetworkSecurityPerimeter extends Resource { + readonly perimeterGuid?: string; + readonly provisioningState?: NspProvisioningState; } // @public -export interface NetworkVirtualAppliance extends Resource { - additionalNics?: VirtualApplianceAdditionalNicProperties[]; - readonly addressPrefix?: string; - bootStrapConfigurationBlobs?: string[]; - cloudInitConfiguration?: string; - cloudInitConfigurationBlobs?: string[]; - delegation?: DelegationProperties; - readonly deploymentType?: string; - readonly etag?: string; - identity?: ManagedServiceIdentity; - readonly inboundSecurityRules?: SubResource[]; - internetIngressPublicIps?: InternetIngressPublicIpsProperties[]; - networkProfile?: NetworkVirtualAppliancePropertiesFormatNetworkProfile; - nvaSku?: VirtualApplianceSkuProperties; - partnerManagedResource?: PartnerManagedResourceProperties; - readonly provisioningState?: ProvisioningState; - sshPublicKey?: string; - virtualApplianceAsn?: number; - readonly virtualApplianceConnections?: SubResource[]; - readonly virtualApplianceNics?: VirtualApplianceNicProperties[]; - readonly virtualApplianceSites?: SubResource[]; - virtualHub?: SubResource; +export interface NetworkSecurityPerimeterAccessRules { + createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, accessRuleName: string, parameters: NspAccessRule, options?: NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, accessRuleName: string, options?: NetworkSecurityPerimeterAccessRulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, accessRuleName: string, options?: NetworkSecurityPerimeterAccessRulesGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, options?: NetworkSecurityPerimeterAccessRulesListOptionalParams): PagedAsyncIterableIterator; + reconcile(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, accessRuleName: string, parameters: Record, options?: NetworkSecurityPerimeterAccessRulesReconcileOptionalParams): Promise; } // @public -export interface NetworkVirtualApplianceConnection extends SubResource { - asn?: number; - bgpPeerAddress?: string[]; - enableInternetSecurity?: boolean; - name?: string; - namePropertiesName?: string; - readonly provisioningState?: ProvisioningState; - routingConfiguration?: RoutingConfiguration; - tunnelIdentifier?: number; +export interface NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { } // @public -export interface NetworkVirtualApplianceConnectionList { - nextLink?: string; - value?: NetworkVirtualApplianceConnection[]; -} +export type NetworkSecurityPerimeterAccessRulesCreateOrUpdateResponse = NspAccessRule; // @public -export interface NetworkVirtualApplianceConnections { - beginCreateOrUpdate(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, networkVirtualApplianceConnectionParameters: NetworkVirtualApplianceConnection, options?: NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams): Promise, NetworkVirtualApplianceConnectionsCreateOrUpdateResponse>>; - beginCreateOrUpdateAndWait(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, networkVirtualApplianceConnectionParameters: NetworkVirtualApplianceConnection, options?: NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsDeleteOptionalParams): Promise, void>>; - beginDeleteAndWait(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsDeleteOptionalParams): Promise; - get(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsGetOptionalParams): Promise; - list(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualApplianceConnectionsListOptionalParams): PagedAsyncIterableIterator; +export interface NetworkSecurityPerimeterAccessRulesDeleteOptionalParams extends coreClient.OperationOptions { } // @public -export interface NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; +export interface NetworkSecurityPerimeterAccessRulesGetOptionalParams extends coreClient.OperationOptions { } // @public -export type NetworkVirtualApplianceConnectionsCreateOrUpdateResponse = NetworkVirtualApplianceConnection; +export type NetworkSecurityPerimeterAccessRulesGetResponse = NspAccessRule; // @public -export interface NetworkVirtualApplianceConnectionsDeleteHeaders { - location?: string; +export interface NetworkSecurityPerimeterAccessRulesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface NetworkVirtualApplianceConnectionsDeleteOptionalParams extends coreClient.OperationOptions { - resumeFrom?: string; - updateIntervalInMs?: number; -} +export type NetworkSecurityPerimeterAccessRulesListNextResponse = NspAccessRuleListResult; // @public -export interface NetworkVirtualApplianceConnectionsGetOptionalParams extends coreClient.OperationOptions { +export interface NetworkSecurityPerimeterAccessRulesListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; } // @public -export type NetworkVirtualApplianceConnectionsGetResponse = NetworkVirtualApplianceConnection; +export type NetworkSecurityPerimeterAccessRulesListResponse = NspAccessRuleListResult; // @public -export interface NetworkVirtualApplianceConnectionsListNextOptionalParams extends coreClient.OperationOptions { +export interface NetworkSecurityPerimeterAccessRulesReconcileOptionalParams extends coreClient.OperationOptions { } // @public -export type NetworkVirtualApplianceConnectionsListNextResponse = NetworkVirtualApplianceConnectionList; +export type NetworkSecurityPerimeterAccessRulesReconcileResponse = Record; // @public -export interface NetworkVirtualApplianceConnectionsListOptionalParams extends coreClient.OperationOptions { +export interface NetworkSecurityPerimeterAssociableResourceTypes { + list(location: string, options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams): PagedAsyncIterableIterator; } // @public -export type NetworkVirtualApplianceConnectionsListResponse = NetworkVirtualApplianceConnectionList; +export interface NetworkSecurityPerimeterAssociableResourceTypesListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface NetworkVirtualApplianceInstanceIds { - instanceIds?: string[]; -} +export type NetworkSecurityPerimeterAssociableResourceTypesListNextResponse = PerimeterAssociableResourcesListResult; // @public -export interface NetworkVirtualApplianceListResult { - nextLink?: string; - value?: NetworkVirtualAppliance[]; +export interface NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams extends coreClient.OperationOptions { } // @public -export interface NetworkVirtualAppliancePropertiesFormatNetworkProfile { - // (undocumented) - networkInterfaceConfigurations?: VirtualApplianceNetworkInterfaceConfiguration[]; -} +export type NetworkSecurityPerimeterAssociableResourceTypesListResponse = PerimeterAssociableResourcesListResult; // @public -export interface NetworkVirtualAppliances { - beginCreateOrUpdate(resourceGroupName: string, networkVirtualApplianceName: string, parameters: NetworkVirtualAppliance, options?: NetworkVirtualAppliancesCreateOrUpdateOptionalParams): Promise, NetworkVirtualAppliancesCreateOrUpdateResponse>>; - beginCreateOrUpdateAndWait(resourceGroupName: string, networkVirtualApplianceName: string, parameters: NetworkVirtualAppliance, options?: NetworkVirtualAppliancesCreateOrUpdateOptionalParams): Promise; - beginDelete(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesDeleteOptionalParams): Promise, void>>; - beginDeleteAndWait(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesDeleteOptionalParams): Promise; - beginRestart(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesRestartOptionalParams): Promise, NetworkVirtualAppliancesRestartResponse>>; - beginRestartAndWait(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesRestartOptionalParams): Promise; - get(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesGetOptionalParams): Promise; - list(options?: NetworkVirtualAppliancesListOptionalParams): PagedAsyncIterableIterator; - listByResourceGroup(resourceGroupName: string, options?: NetworkVirtualAppliancesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; - updateTags(resourceGroupName: string, networkVirtualApplianceName: string, parameters: TagsObject, options?: NetworkVirtualAppliancesUpdateTagsOptionalParams): Promise; +export interface NetworkSecurityPerimeterAssociations { + beginCreateOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, parameters: NspAssociation, options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams): Promise, NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, parameters: NspAssociation, options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, options?: NetworkSecurityPerimeterAssociationsGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterAssociationsListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface NetworkVirtualAppliancesCreateOrUpdateHeaders { - location?: string; +export interface NetworkSecurityPerimeterAssociationsCreateOrUpdateHeaders { + azureAsyncOperation?: string; } // @public -export interface NetworkVirtualAppliancesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +export interface NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } // @public -export type NetworkVirtualAppliancesCreateOrUpdateResponse = NetworkVirtualAppliance; +export type NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse = NspAssociation; // @public -export interface NetworkVirtualAppliancesDeleteHeaders { - location?: string; +export interface NetworkSecurityPerimeterAssociationsDeleteHeaders { + azureAsyncOperation?: string; } // @public -export interface NetworkVirtualAppliancesDeleteOptionalParams extends coreClient.OperationOptions { +export interface NetworkSecurityPerimeterAssociationsDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } // @public -export interface NetworkVirtualAppliancesGetOptionalParams extends coreClient.OperationOptions { - expand?: string; +export interface NetworkSecurityPerimeterAssociationsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type NetworkVirtualAppliancesGetResponse = NetworkVirtualAppliance; +export type NetworkSecurityPerimeterAssociationsGetResponse = NspAssociation; // @public -export interface NetworkVirtualApplianceSiteListResult { - nextLink?: string; - value?: VirtualApplianceSite[]; +export interface NetworkSecurityPerimeterAssociationsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface NetworkVirtualApplianceSku extends Resource { - availableScaleUnits?: NetworkVirtualApplianceSkuInstances[]; - readonly availableVersions?: string[]; - readonly etag?: string; - readonly vendor?: string; +export type NetworkSecurityPerimeterAssociationsListNextResponse = NspAssociationsListResult; + +// @public +export interface NetworkSecurityPerimeterAssociationsListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; } // @public -export interface NetworkVirtualApplianceSkuInstances { - readonly instanceCount?: number; - readonly scaleUnit?: string; +export type NetworkSecurityPerimeterAssociationsListResponse = NspAssociationsListResult; + +// @public +export interface NetworkSecurityPerimeterLinkReferences { + beginDelete(resourceGroupName: string, networkSecurityPerimeterName: string, linkReferenceName: string, options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, linkReferenceName: string, options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, linkReferenceName: string, options?: NetworkSecurityPerimeterLinkReferencesGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkSecurityPerimeterLinkReferencesDeleteHeaders { + location?: string; +} + +// @public +export interface NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NetworkSecurityPerimeterLinkReferencesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLinkReferencesGetResponse = NspLinkReference; + +// @public +export interface NetworkSecurityPerimeterLinkReferencesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLinkReferencesListNextResponse = NspLinkReferenceListResult; + +// @public +export interface NetworkSecurityPerimeterLinkReferencesListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type NetworkSecurityPerimeterLinkReferencesListResponse = NspLinkReferenceListResult; + +// @public +export interface NetworkSecurityPerimeterLinks { + beginDelete(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksDeleteOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, parameters: NspLink, options?: NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, linkName: string, options?: NetworkSecurityPerimeterLinksGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterLinksListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLinksCreateOrUpdateResponse = NspLink; + +// @public +export interface NetworkSecurityPerimeterLinksDeleteHeaders { + location?: string; +} + +// @public +export interface NetworkSecurityPerimeterLinksDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NetworkSecurityPerimeterLinksGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLinksGetResponse = NspLink; + +// @public +export interface NetworkSecurityPerimeterLinksListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLinksListNextResponse = NspLinkListResult; + +// @public +export interface NetworkSecurityPerimeterLinksListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type NetworkSecurityPerimeterLinksListResponse = NspLinkListResult; + +// @public +export interface NetworkSecurityPerimeterListResult { + nextLink?: string; + value?: NetworkSecurityPerimeter[]; +} + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurations { + createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, loggingConfigurationName: string, parameters: NspLoggingConfiguration, options?: NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, networkSecurityPerimeterName: string, loggingConfigurationName: string, options?: NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, loggingConfigurationName: string, options?: NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateResponse = NspLoggingConfiguration; + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLoggingConfigurationsGetResponse = NspLoggingConfiguration; + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLoggingConfigurationsListNextResponse = NspLoggingConfigurationListResult; + +// @public +export interface NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterLoggingConfigurationsListResponse = NspLoggingConfigurationListResult; + +// @public +export interface NetworkSecurityPerimeterOperationStatuses { + get(location: string, operationId: string, options?: NetworkSecurityPerimeterOperationStatusesGetOptionalParams): Promise; +} + +// @public +export interface NetworkSecurityPerimeterOperationStatusesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterOperationStatusesGetResponse = OperationStatusResult; + +// @public +export interface NetworkSecurityPerimeterProfiles { + createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, parameters: NspProfile, options?: NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, options?: NetworkSecurityPerimeterProfilesDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, profileName: string, options?: NetworkSecurityPerimeterProfilesGetOptionalParams): Promise; + list(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimeterProfilesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterProfilesCreateOrUpdateResponse = NspProfile; + +// @public +export interface NetworkSecurityPerimeterProfilesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface NetworkSecurityPerimeterProfilesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterProfilesGetResponse = NspProfile; + +// @public +export interface NetworkSecurityPerimeterProfilesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimeterProfilesListNextResponse = NspProfileListResult; + +// @public +export interface NetworkSecurityPerimeterProfilesListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type NetworkSecurityPerimeterProfilesListResponse = NspProfileListResult; + +// @public +export interface NetworkSecurityPerimeters { + beginDelete(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimetersDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimetersDeleteOptionalParams): Promise; + createOrUpdate(resourceGroupName: string, networkSecurityPerimeterName: string, parameters: NetworkSecurityPerimeter, options?: NetworkSecurityPerimetersCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, networkSecurityPerimeterName: string, options?: NetworkSecurityPerimetersGetOptionalParams): Promise; + list(resourceGroupName: string, options?: NetworkSecurityPerimetersListOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + patch(resourceGroupName: string, networkSecurityPerimeterName: string, parameters: UpdateTagsRequest, options?: NetworkSecurityPerimetersPatchOptionalParams): Promise; +} + +// @public +export interface NetworkSecurityPerimetersCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimetersCreateOrUpdateResponse = NetworkSecurityPerimeter; + +// @public +export interface NetworkSecurityPerimetersDeleteHeaders { + azureAsyncOperation?: string; +} + +// @public +export interface NetworkSecurityPerimetersDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NetworkSecurityPerimetersGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimetersGetResponse = NetworkSecurityPerimeter; + +// @public +export interface NetworkSecurityPerimetersListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimetersListBySubscriptionNextResponse = NetworkSecurityPerimeterListResult; + +// @public +export interface NetworkSecurityPerimetersListBySubscriptionOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type NetworkSecurityPerimetersListBySubscriptionResponse = NetworkSecurityPerimeterListResult; + +// @public +export interface NetworkSecurityPerimetersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimetersListNextResponse = NetworkSecurityPerimeterListResult; + +// @public +export interface NetworkSecurityPerimetersListOptionalParams extends coreClient.OperationOptions { + skipToken?: string; + top?: number; +} + +// @public +export type NetworkSecurityPerimetersListResponse = NetworkSecurityPerimeterListResult; + +// @public +export interface NetworkSecurityPerimetersPatchOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkSecurityPerimetersPatchResponse = NetworkSecurityPerimeter; + +// @public +export interface NetworkSecurityRulesEvaluationResult { + destinationMatched?: boolean; + destinationPortMatched?: boolean; + name?: string; + protocolMatched?: boolean; + sourceMatched?: boolean; + sourcePortMatched?: boolean; +} + +// @public +export interface NetworkVirtualAppliance extends Resource { + additionalNics?: VirtualApplianceAdditionalNicProperties[]; + readonly addressPrefix?: string; + bootStrapConfigurationBlobs?: string[]; + cloudInitConfiguration?: string; + cloudInitConfigurationBlobs?: string[]; + delegation?: DelegationProperties; + readonly deploymentType?: string; + readonly etag?: string; + identity?: ManagedServiceIdentity; + readonly inboundSecurityRules?: SubResource[]; + internetIngressPublicIps?: InternetIngressPublicIpsProperties[]; + networkProfile?: NetworkVirtualAppliancePropertiesFormatNetworkProfile; + nvaSku?: VirtualApplianceSkuProperties; + partnerManagedResource?: PartnerManagedResourceProperties; + readonly provisioningState?: ProvisioningState; + sshPublicKey?: string; + virtualApplianceAsn?: number; + readonly virtualApplianceConnections?: SubResource[]; + readonly virtualApplianceNics?: VirtualApplianceNicProperties[]; + readonly virtualApplianceSites?: SubResource[]; + virtualHub?: SubResource; +} + +// @public +export interface NetworkVirtualApplianceBootDiagnosticParameters { + consoleScreenshotStorageSasUrl?: string; + instanceId?: number; + serialConsoleStorageSasUrl?: string; +} + +// @public +export interface NetworkVirtualApplianceConnection extends SubResource { + asn?: number; + bgpPeerAddress?: string[]; + enableInternetSecurity?: boolean; + name?: string; + namePropertiesName?: string; + readonly provisioningState?: ProvisioningState; + routingConfiguration?: RoutingConfiguration; + tunnelIdentifier?: number; +} + +// @public +export interface NetworkVirtualApplianceConnectionList { + nextLink?: string; + value?: NetworkVirtualApplianceConnection[]; +} + +// @public +export interface NetworkVirtualApplianceConnections { + beginCreateOrUpdate(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, networkVirtualApplianceConnectionParameters: NetworkVirtualApplianceConnection, options?: NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams): Promise, NetworkVirtualApplianceConnectionsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, networkVirtualApplianceConnectionParameters: NetworkVirtualApplianceConnection, options?: NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsDeleteOptionalParams): Promise; + get(resourceGroupName: string, networkVirtualApplianceName: string, connectionName: string, options?: NetworkVirtualApplianceConnectionsGetOptionalParams): Promise; + list(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualApplianceConnectionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface NetworkVirtualApplianceConnectionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NetworkVirtualApplianceConnectionsCreateOrUpdateResponse = NetworkVirtualApplianceConnection; + +// @public +export interface NetworkVirtualApplianceConnectionsDeleteHeaders { + location?: string; +} + +// @public +export interface NetworkVirtualApplianceConnectionsDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NetworkVirtualApplianceConnectionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkVirtualApplianceConnectionsGetResponse = NetworkVirtualApplianceConnection; + +// @public +export interface NetworkVirtualApplianceConnectionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkVirtualApplianceConnectionsListNextResponse = NetworkVirtualApplianceConnectionList; + +// @public +export interface NetworkVirtualApplianceConnectionsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NetworkVirtualApplianceConnectionsListResponse = NetworkVirtualApplianceConnectionList; + +// @public (undocumented) +export interface NetworkVirtualApplianceInstanceId { + instanceId?: number; +} + +// @public +export interface NetworkVirtualApplianceInstanceIds { + instanceIds?: string[]; +} + +// @public +export interface NetworkVirtualApplianceListResult { + nextLink?: string; + value?: NetworkVirtualAppliance[]; +} + +// @public +export interface NetworkVirtualAppliancePropertiesFormatNetworkProfile { + // (undocumented) + networkInterfaceConfigurations?: VirtualApplianceNetworkInterfaceConfiguration[]; +} + +// @public +export interface NetworkVirtualAppliances { + beginCreateOrUpdate(resourceGroupName: string, networkVirtualApplianceName: string, parameters: NetworkVirtualAppliance, options?: NetworkVirtualAppliancesCreateOrUpdateOptionalParams): Promise, NetworkVirtualAppliancesCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, networkVirtualApplianceName: string, parameters: NetworkVirtualAppliance, options?: NetworkVirtualAppliancesCreateOrUpdateOptionalParams): Promise; + beginDelete(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesDeleteOptionalParams): Promise, void>>; + beginDeleteAndWait(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesDeleteOptionalParams): Promise; + beginGetBootDiagnosticLogs(resourceGroupName: string, networkVirtualApplianceName: string, request: NetworkVirtualApplianceBootDiagnosticParameters, options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams): Promise, NetworkVirtualAppliancesGetBootDiagnosticLogsResponse>>; + beginGetBootDiagnosticLogsAndWait(resourceGroupName: string, networkVirtualApplianceName: string, request: NetworkVirtualApplianceBootDiagnosticParameters, options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams): Promise; + beginReimage(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesReimageOptionalParams): Promise, NetworkVirtualAppliancesReimageResponse>>; + beginReimageAndWait(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesReimageOptionalParams): Promise; + beginRestart(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesRestartOptionalParams): Promise, NetworkVirtualAppliancesRestartResponse>>; + beginRestartAndWait(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesRestartOptionalParams): Promise; + get(resourceGroupName: string, networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesGetOptionalParams): Promise; + list(options?: NetworkVirtualAppliancesListOptionalParams): PagedAsyncIterableIterator; + listByResourceGroup(resourceGroupName: string, options?: NetworkVirtualAppliancesListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + updateTags(resourceGroupName: string, networkVirtualApplianceName: string, parameters: TagsObject, options?: NetworkVirtualAppliancesUpdateTagsOptionalParams): Promise; +} + +// @public +export interface NetworkVirtualAppliancesCreateOrUpdateHeaders { + location?: string; +} + +// @public +export interface NetworkVirtualAppliancesCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NetworkVirtualAppliancesCreateOrUpdateResponse = NetworkVirtualAppliance; + +// @public +export interface NetworkVirtualAppliancesDeleteHeaders { + location?: string; +} + +// @public +export interface NetworkVirtualAppliancesDeleteOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface NetworkVirtualAppliancesGetBootDiagnosticLogsHeaders { + location?: string; +} + +// @public +export interface NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NetworkVirtualAppliancesGetBootDiagnosticLogsResponse = NetworkVirtualApplianceInstanceId; + +// @public +export interface NetworkVirtualAppliancesGetOptionalParams extends coreClient.OperationOptions { + expand?: string; +} + +// @public +export type NetworkVirtualAppliancesGetResponse = NetworkVirtualAppliance; + +// @public +export interface NetworkVirtualApplianceSiteListResult { + nextLink?: string; + value?: VirtualApplianceSite[]; +} + +// @public +export interface NetworkVirtualApplianceSku extends Resource { + availableScaleUnits?: NetworkVirtualApplianceSkuInstances[]; + readonly availableVersions?: string[]; + readonly etag?: string; + readonly vendor?: string; +} + +// @public +export interface NetworkVirtualApplianceSkuInstances { + readonly instanceCount?: number; + readonly scaleUnit?: string; } // @public @@ -10735,6 +11373,21 @@ export interface NetworkVirtualAppliancesListOptionalParams extends coreClient.O // @public export type NetworkVirtualAppliancesListResponse = NetworkVirtualApplianceListResult; +// @public +export interface NetworkVirtualAppliancesReimageHeaders { + location?: string; +} + +// @public +export interface NetworkVirtualAppliancesReimageOptionalParams extends coreClient.OperationOptions { + networkVirtualApplianceInstanceIds?: NetworkVirtualApplianceInstanceIds; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type NetworkVirtualAppliancesReimageResponse = NetworkVirtualApplianceInstanceIds; + // @public export interface NetworkVirtualAppliancesRestartHeaders { location?: string; @@ -10976,6 +11629,125 @@ export type NicTypeInRequest = string; // @public export type NicTypeInResponse = string; +// @public +export interface NspAccessRule extends Resource { + addressPrefixes?: string[]; + direction?: AccessRuleDirection; + emailAddresses?: string[]; + fullyQualifiedDomainNames?: string[]; + readonly networkSecurityPerimeters?: PerimeterBasedAccessRule[]; + phoneNumbers?: string[]; + readonly provisioningState?: NspProvisioningState; + serviceTags?: string[]; + subscriptions?: SubscriptionId[]; +} + +// @public +export interface NspAccessRuleListResult { + nextLink?: string; + value?: NspAccessRule[]; +} + +// @public +export interface NspAssociation extends Resource { + accessMode?: AssociationAccessMode; + readonly hasProvisioningIssues?: string; + privateLinkResource?: SubResource; + profile?: SubResource; + readonly provisioningState?: NspProvisioningState; +} + +// @public +export interface NspAssociationReconcile { + post(resourceGroupName: string, networkSecurityPerimeterName: string, associationName: string, parameters: Record, options?: NspAssociationReconcilePostOptionalParams): Promise; +} + +// @public +export interface NspAssociationReconcilePostOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type NspAssociationReconcilePostResponse = Record; + +// @public +export interface NspAssociationsListResult { + nextLink?: string; + value?: NspAssociation[]; +} + +// @public +export interface NspLink extends ProxyResource { + autoApprovedRemotePerimeterResourceId?: string; + description?: string; + localInboundProfiles?: string[]; + readonly localOutboundProfiles?: string[]; + readonly provisioningState?: NspLinkProvisioningState; + remoteInboundProfiles?: string[]; + readonly remoteOutboundProfiles?: string[]; + readonly remotePerimeterGuid?: string; + readonly remotePerimeterLocation?: string; + readonly status?: NspLinkStatus; +} + +// @public +export interface NspLinkListResult { + nextLink?: string; + value?: NspLink[]; +} + +// @public +export type NspLinkProvisioningState = string; + +// @public +export interface NspLinkReference extends ProxyResource { + readonly description?: string; + localInboundProfiles?: string[]; + readonly localOutboundProfiles?: string[]; + readonly provisioningState?: NspLinkProvisioningState; + readonly remoteInboundProfiles?: string[]; + readonly remoteOutboundProfiles?: string[]; + readonly remotePerimeterGuid?: string; + readonly remotePerimeterLocation?: string; + readonly remotePerimeterResourceId?: string; + status?: NspLinkStatus; +} + +// @public +export interface NspLinkReferenceListResult { + nextLink?: string; + value?: NspLinkReference[]; +} + +// @public +export type NspLinkStatus = string; + +// @public +export interface NspLoggingConfiguration extends ProxyResource { + enabledLogCategories?: string[]; + version?: string; +} + +// @public +export interface NspLoggingConfigurationListResult { + nextLink?: string; + value?: NspLoggingConfiguration[]; +} + +// @public +export interface NspProfile extends Resource { + readonly accessRulesVersion?: string; + readonly diagnosticSettingsVersion?: string; +} + +// @public +export interface NspProfileListResult { + nextLink?: string; + value?: NspProfile[]; +} + +// @public +export type NspProvisioningState = string; + // @public export interface O365BreakOutCategoryPolicies { allow?: boolean; @@ -11043,6 +11815,19 @@ export interface OperationsListOptionalParams extends coreClient.OperationOption // @public export type OperationsListResponse = OperationListResult; +// @public +export interface OperationStatusResult { + endTime?: Date; + error?: ErrorDetail; + id?: string; + name?: string; + operations?: OperationStatusResult[]; + percentComplete?: number; + readonly resourceId?: string; + startTime?: Date; + status: string; +} + // @public export interface OrderBy { field?: string; @@ -11511,6 +12296,9 @@ export interface PeerExpressRouteCircuitConnectionsListOptionalParams extends co // @public export type PeerExpressRouteCircuitConnectionsListResponse = PeerExpressRouteCircuitConnectionListResult; +// @public +export type PeeringEnforcement = string; + // @public export interface PeerRoute { readonly asPath?: string; @@ -11522,6 +12310,26 @@ export interface PeerRoute { readonly weight?: number; } +// @public +export interface PerimeterAssociableResource extends Resource { + readonly displayName?: string; + readonly publicDnsZones?: string[]; + readonly resourceType?: string; +} + +// @public +export interface PerimeterAssociableResourcesListResult { + nextLink?: string; + value?: PerimeterAssociableResource[]; +} + +// @public (undocumented) +export interface PerimeterBasedAccessRule { + readonly id?: string; + readonly location?: string; + readonly perimeterGuid?: string; +} + // @public export type PfsGroup = string; @@ -12041,6 +12849,14 @@ export type ProtocolType = string; // @public export type ProvisioningState = string; +// @public +export interface ProxyResource { + readonly etag?: string; + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + // @public export interface PublicIPAddress extends Resource { ddosSettings?: DdosSettings; @@ -12609,6 +13425,14 @@ export interface ReferencedPublicIpAddress { // @public export type ResiliencyModel = string; +// @public +export interface ResiliencyRecommendationComponents { + currentScore?: string; + maxScore?: string; + name?: string; + recommendations?: GatewayResiliencyRecommendation[]; +} + // @public export interface Resource { id?: string; @@ -12969,6 +13793,13 @@ export interface RoutesListOptionalParams extends coreClient.OperationOptions { // @public export type RoutesListResponse = RouteListResult; +// @public (undocumented) +export interface RouteSourceDetails { + circuit?: string; + pri?: string; + sec?: string; +} + // @public export interface RouteTable extends Resource { disableBgpRoutePropagation?: boolean; @@ -14422,6 +15253,11 @@ export interface SubResource { id?: string; } +// @public (undocumented) +export interface SubscriptionId { + id?: string; +} + // @public export interface SubscriptionNetworkManagerConnections { createOrUpdate(networkManagerConnectionName: string, parameters: NetworkManagerConnection, options?: SubscriptionNetworkManagerConnectionsCreateOrUpdateOptionalParams): Promise; @@ -14615,6 +15451,14 @@ export interface UnprepareNetworkPoliciesRequest { serviceName?: string; } +// @public +export interface UpdateTagsRequest { + readonly id?: string; + tags?: { + [propertyName: string]: string; + }; +} + // @public export interface Usage { currentValue: number; @@ -14684,6 +15528,7 @@ export interface VerificationIPFlowResult { // @public export interface VerifierWorkspace extends CommonTrackedResource { + readonly etag?: string; properties?: VerifierWorkspaceProperties; } @@ -15341,6 +16186,7 @@ export interface VirtualNetworkGateway extends Resource { enableBgp?: boolean; enableBgpRouteTranslationForNat?: boolean; enableDnsForwarding?: boolean; + enableHighBandwidthVpnGateway?: boolean; enablePrivateIpAddress?: boolean; readonly etag?: string; extendedLocation?: ExtendedLocation; @@ -15608,6 +16454,28 @@ export interface VirtualNetworkGatewayListResult { value?: VirtualNetworkGateway[]; } +// @public +export interface VirtualNetworkGatewayMigrationParameters { + migrationType: VirtualNetworkGatewayMigrationType; + resourceUrl?: SubResource; +} + +// @public +export type VirtualNetworkGatewayMigrationPhase = string; + +// @public +export type VirtualNetworkGatewayMigrationState = string; + +// @public +export interface VirtualNetworkGatewayMigrationStatus { + errorMessage?: string; + phase?: VirtualNetworkGatewayMigrationPhase; + state?: VirtualNetworkGatewayMigrationState; +} + +// @public +export type VirtualNetworkGatewayMigrationType = string; + // @public export interface VirtualNetworkGatewayNatRule extends SubResource { readonly etag?: string; @@ -15707,12 +16575,24 @@ export interface VirtualNetworkGateways { beginGetFailoverSingleTestDetailsAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, peeringLocation: string, failoverTestId: string, options?: VirtualNetworkGatewaysGetFailoverSingleTestDetailsOptionalParams): Promise; beginGetLearnedRoutes(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetLearnedRoutesOptionalParams): Promise, VirtualNetworkGatewaysGetLearnedRoutesResponse>>; beginGetLearnedRoutesAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetLearnedRoutesOptionalParams): Promise; + beginGetResiliencyInformation(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams): Promise, VirtualNetworkGatewaysGetResiliencyInformationResponse>>; + beginGetResiliencyInformationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams): Promise; + beginGetRoutesInformation(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams): Promise, VirtualNetworkGatewaysGetRoutesInformationResponse>>; + beginGetRoutesInformationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams): Promise; beginGetVpnclientConnectionHealth(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams): Promise, VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse>>; beginGetVpnclientConnectionHealthAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams): Promise; beginGetVpnclientIpsecParameters(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnclientIpsecParametersOptionalParams): Promise, VirtualNetworkGatewaysGetVpnclientIpsecParametersResponse>>; beginGetVpnclientIpsecParametersAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnclientIpsecParametersOptionalParams): Promise; beginGetVpnProfilePackageUrl(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnProfilePackageUrlOptionalParams): Promise, VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse>>; beginGetVpnProfilePackageUrlAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysGetVpnProfilePackageUrlOptionalParams): Promise; + beginInvokeAbortMigration(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams): Promise, void>>; + beginInvokeAbortMigrationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams): Promise; + beginInvokeCommitMigration(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams): Promise, void>>; + beginInvokeCommitMigrationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams): Promise; + beginInvokeExecuteMigration(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams): Promise, void>>; + beginInvokeExecuteMigrationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams): Promise; + beginInvokePrepareMigration(resourceGroupName: string, virtualNetworkGatewayName: string, migrationParams: VirtualNetworkGatewayMigrationParameters, options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams): Promise, void>>; + beginInvokePrepareMigrationAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, migrationParams: VirtualNetworkGatewayMigrationParameters, options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams): Promise; beginReset(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysResetOptionalParams): Promise, VirtualNetworkGatewaysResetResponse>>; beginResetAndWait(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysResetOptionalParams): Promise; beginResetVpnClientSharedKey(resourceGroupName: string, virtualNetworkGatewayName: string, options?: VirtualNetworkGatewaysResetVpnClientSharedKeyOptionalParams): Promise, void>>; @@ -15841,9 +16721,41 @@ export type VirtualNetworkGatewaysGetLearnedRoutesResponse = GatewayRouteListRes export interface VirtualNetworkGatewaysGetOptionalParams extends coreClient.OperationOptions { } +// @public +export interface VirtualNetworkGatewaysGetResiliencyInformationHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface VirtualNetworkGatewaysGetResiliencyInformationOptionalParams extends coreClient.OperationOptions { + attemptRefresh?: boolean; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkGatewaysGetResiliencyInformationResponse = GatewayResiliencyInformation; + // @public export type VirtualNetworkGatewaysGetResponse = VirtualNetworkGateway; +// @public +export interface VirtualNetworkGatewaysGetRoutesInformationHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface VirtualNetworkGatewaysGetRoutesInformationOptionalParams extends coreClient.OperationOptions { + attemptRefresh?: boolean; + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type VirtualNetworkGatewaysGetRoutesInformationResponse = GatewayRouteSetsInformation; + // @public export interface VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -15873,6 +16785,30 @@ export type VirtualNetworkGatewaysGetVpnProfilePackageUrlResponse = { body: string; }; +// @public +export interface VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export interface VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + // @public export interface VirtualNetworkGatewaySku { readonly capacity?: number; diff --git a/sdk/network/arm-network/src/lroImpl.ts b/sdk/network/arm-network/src/lroImpl.ts index d8bc98987053..5f88efab981b 100644 --- a/sdk/network/arm-network/src/lroImpl.ts +++ b/sdk/network/arm-network/src/lroImpl.ts @@ -5,6 +5,10 @@ * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + import { AbortSignalLike } from "@azure/abort-controller"; import { LongRunningOperation, LroResponse } from "@azure/core-lro"; diff --git a/sdk/network/arm-network/src/models/index.ts b/sdk/network/arm-network/src/models/index.ts index 12718478c1be..29825ba8b9c9 100644 --- a/sdk/network/arm-network/src/models/index.ts +++ b/sdk/network/arm-network/src/models/index.ts @@ -1394,6 +1394,23 @@ export interface ExpressRouteCircuitPeeringConfig { customerASN?: number; /** The RoutingRegistryName of the configuration. */ routingRegistryName?: string; + /** List of Prefix information required to perform validation. */ + advertisedPublicPrefixInfo?: AdvertisedPublicPrefixProperties[]; +} + +/** Prefix properties required to perform validation using openssl signature. */ +export interface AdvertisedPublicPrefixProperties { + /** Advertised Public Prefix. */ + prefix?: string; + /** Validation string that contains circuit peering info. */ + validationId?: string; + /** Signed string generated by encrypting validationId with a private key. */ + signature?: string; + /** + * Advertised Public Prefix State that denotes if the prefix is validated or not. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly validationState?: AdvertisedPublicPrefixPropertiesValidationState; } /** Contains stats associated with the peering. */ @@ -2397,8 +2414,8 @@ export interface LoadBalancerHealthPerRule { export interface LoadBalancerHealthPerRulePerBackendAddress { /** The IP address belonging to the backend address. */ ipAddress?: string; - /** The id of the network interface ip configuration belonging to the backend address */ - networkInterfaceIPConfigurationId?: NetworkInterfaceIPConfiguration; + /** Resource ID of the Network Interface IP Configuration. */ + networkInterfaceIPConfigurationId?: string; /** The current health of the backend instances that is associated to the LB rule. */ state?: string; /** The explanation of the State */ @@ -2679,6 +2696,8 @@ export interface EffectiveConnectivityConfiguration { hubs?: Hub[]; /** Flag if global mesh is supported. */ isGlobal?: IsGlobal; + /** Collection of additional settings to enhance specific topology behaviors of the connectivity configuration resource. */ + connectivityCapabilities?: ConnectivityConfigurationPropertiesConnectivityCapabilities; /** Groups for configuration */ appliesToGroups?: ConnectivityGroupItem[]; /** @@ -2703,6 +2722,16 @@ export interface Hub { resourceType?: string; } +/** Collection of additional settings to enhance specific topology behaviors of the connectivity configuration resource. */ +export interface ConnectivityConfigurationPropertiesConnectivityCapabilities { + /** Option indicating the scale of private endpoints allowed in the connected group of the connectivity configuration. */ + connectedGroupPrivateEndpointScale: ConnectedGroupPrivateEndpointScale; + /** Behavior to handle overlapped IP address space among members of the connected group of the connectivity configuration. */ + connectedGroupAddressOverlap: ConnectedGroupAddressOverlap; + /** Option indicating enforcement of peerings created by the connectivity configuration. */ + peeringEnforcement: PeeringEnforcement; +} + /** Connectivity group item. */ export interface ConnectivityGroupItem { /** Network group Id. */ @@ -3024,6 +3053,196 @@ export interface SecurityRuleListResult { nextLink?: string; } +/** Update tags request. */ +export interface UpdateTagsRequest { + /** + * Network security perimeter identifier. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** List of tags for Network Security Perimeter */ + tags?: { [propertyName: string]: string }; +} + +/** Result of the request to list NetworkSecurityPerimeter. It contains a list of network security perimeters and a URL link to get the next set of results. */ +export interface NetworkSecurityPerimeterListResult { + /** Gets a page of NetworkSecurityPerimeter */ + value?: NetworkSecurityPerimeter[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results. */ +export interface NspProfileListResult { + /** Gets a page of NSP profile */ + value?: NspProfile[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +export interface SubscriptionId { + /** Subscription id in the ARM id format. */ + id?: string; +} + +export interface PerimeterBasedAccessRule { + /** + * NSP id in the ARM id format. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * Resource guid of the NSP supplied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly perimeterGuid?: string; + /** + * Location of the NSP supplied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly location?: string; +} + +/** Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results. */ +export interface NspAccessRuleListResult { + /** Gets a page of NSP access rule */ + value?: NspAccessRule[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results. */ +export interface NspAssociationsListResult { + /** Gets a page of NSP resource associations */ + value?: NspAssociation[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Paged list of perimeter associable resources. */ +export interface PerimeterAssociableResourcesListResult { + /** Gets paged list of perimeter associable resources. */ + value?: PerimeterAssociableResource[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Proxy resource representation. */ +export interface ProxyResource { + /** + * Resource ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; + /** + * 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; +} + +/** Result of the request to list NSP link resources. Contains a list of NSP link resources and a URL link to get the next set of results. */ +export interface NspLinkListResult { + /** Gets a page of NSP Link resources. */ + value?: NspLink[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Result of the request to list NSP linkReference resources. Contains a list of NSP linkReference resources and a URL link to get the next set of results. */ +export interface NspLinkReferenceListResult { + /** Gets a page of NSP LinkReference resources. */ + value?: NspLinkReference[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Result of the request to list NSP logging configuration. Contains a list of NSP logging configurations and a URL link to get the next set of results. */ +export interface NspLoggingConfigurationListResult { + /** Gets a page of NSP logging configuration */ + value?: NspLoggingConfiguration[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** The current status of an async operation. */ +export interface OperationStatusResult { + /** Fully qualified ID for the async operation. */ + id?: string; + /** + * Fully qualified ID of the resource against which the original async operation was started. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; + /** Name of the async operation. */ + name?: string; + /** Operation status. */ + status: string; + /** Percent of the operation that is complete. */ + percentComplete?: number; + /** The start time of the operation. */ + startTime?: Date; + /** The end time of the operation. */ + endTime?: Date; + /** The operations list. */ + operations?: OperationStatusResult[]; + /** If present, details of the operation error. */ + error?: ErrorDetail; +} + +/** The error detail. */ +export interface ErrorDetail { + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorDetail[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; +} + /** A list of Reachability Analysis Intents. */ export interface ReachabilityAnalysisIntentListResult { /** Gets a page of Reachability Analysis Intents */ @@ -3244,6 +3463,21 @@ export interface NetworkVirtualApplianceInstanceIds { instanceIds?: string[]; } +/** Specifies input parameters required to retrieve the boot diagnostic logs for an NVA instance */ +export interface NetworkVirtualApplianceBootDiagnosticParameters { + /** The network virtual appliance instance id for which boot diagnostic logs is being requested */ + instanceId?: number; + /** Specifies the sas-url to the storage blob into which serial console logs for the requested instance will be written */ + serialConsoleStorageSasUrl?: string; + /** Specifies the sas-url to the storage blob into which console screen shot for the requested instance will be written */ + consoleScreenshotStorageSasUrl?: string; +} + +export interface NetworkVirtualApplianceInstanceId { + /** The network virtual appliance instance id for which boot diagnostic logs is being requested */ + instanceId?: number; +} + /** Response for ListNetworkVirtualAppliances API service call. */ export interface NetworkVirtualApplianceListResult { /** List of Network Virtual Appliances. */ @@ -4400,41 +4634,6 @@ export interface ConnectionMonitorResult { readonly connectionMonitorType?: ConnectionMonitorType; } -/** List of connection states snapshots. */ -export interface ConnectionMonitorQueryResult { - /** Status of connection monitor source. */ - sourceStatus?: ConnectionMonitorSourceStatus; - /** Information about connection states. */ - states?: ConnectionStateSnapshot[]; -} - -/** Connection state snapshot. */ -export interface ConnectionStateSnapshot { - /** The connection state. */ - connectionState?: ConnectionState; - /** The start time of the connection snapshot. */ - startTime?: Date; - /** The end time of the connection snapshot. */ - endTime?: Date; - /** Connectivity analysis evaluation state. */ - evaluationState?: EvaluationState; - /** Average latency in ms. */ - avgLatencyInMs?: number; - /** Minimum latency in ms. */ - minLatencyInMs?: number; - /** Maximum latency in ms. */ - maxLatencyInMs?: number; - /** The number of sent probes. */ - probesSent?: number; - /** The number of failed probes. */ - probesFailed?: number; - /** - * List of hops between the source and the destination. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly hops?: ConnectivityHop[]; -} - /** List of connection monitors. */ export interface ConnectionMonitorListResult { /** Information about connection monitors. */ @@ -5424,6 +5623,93 @@ export interface GatewayRoute { readonly weight?: number; } +/** Gateway Resiliency Information */ +export interface GatewayResiliencyInformation { + /** Current Resiliency Score for the gateway */ + overallScore?: string; + /** Update in the Resiliency Score for the gateway from the last computed score */ + scoreChange?: string; + /** Minimum increase expected in the score if the at least one of the recommendations is applied for the gateway */ + minScoreFromRecommendations?: string; + /** Maximum increase expected in the score if all of the recommendations are applied for the gateway */ + maxScoreFromRecommendations?: string; + /** Timestamp denoting the last time when the resiliency score was computed for the gateway */ + lastComputedTime?: string; + /** Timestamp denoting the next eligible time to re-compute the resiliency score for the gateway */ + nextEligibleComputeTime?: string; + /** List of Resiliency based Recommendation Components for the gateway */ + components?: ResiliencyRecommendationComponents[]; +} + +/** Gateway Resiliency based Recommendations */ +export interface ResiliencyRecommendationComponents { + /** Name of the Resiliency based Recommendation Component */ + name?: string; + /** Current Score of the gateway */ + currentScore?: string; + /** Max score that the gateway can achieve if the specified recommendation is applied */ + maxScore?: string; + /** List of Gateway Resiliency based Recommendations */ + recommendations?: GatewayResiliencyRecommendation[]; +} + +/** Resiliency Recommendation details */ +export interface GatewayResiliencyRecommendation { + /** Recommendation Title */ + recommendationTitle?: string; + /** Recommendation Id */ + recommendationId?: string; + /** Impact associated with the recommendation */ + severity?: string; + /** Recommendation details */ + recommendationText?: string; + /** Acton items to apply the recommendation */ + callToActionText?: string; + /** Link to the public documentation for the associated recommendation */ + callToActionLink?: string; +} + +/** Gateway Route Sets Information */ +export interface GatewayRouteSetsInformation { + /** Timestamp denoting the last time when the route sets were computed for the gateway */ + lastComputedTime?: string; + /** Timestamp denoting the next eligible time to re-compute the route sets for the gateway */ + nextEligibleComputeTime?: string; + /** Version for the route set */ + routeSetVersion?: string; + /** List of Gateway Route Sets */ + routeSets?: GatewayRouteSet[]; + /** Dictionary containing map of the circuit id and circuit details */ + circuitsMetadataMap?: { [propertyName: string]: CircuitMetadataMap }; +} + +export interface GatewayRouteSet { + /** Route Set name */ + name?: string; + /** List of different locations from where the routes are learned */ + locations?: string[]; + /** List of different Route Sources */ + details?: { [propertyName: string]: RouteSourceDetails[] }; +} + +export interface RouteSourceDetails { + /** Express Route Circuit identifier */ + circuit?: string; + /** Flag to indicate if the route learned from the primary device is active or passive */ + pri?: string; + /** Flag to indicate if the route learned from the secondary device is active or passive */ + sec?: string; +} + +export interface CircuitMetadataMap { + /** Express Route Circuit Name */ + name?: string; + /** Link to the Express Route circuit */ + link?: string; + /** Peering location of the Express Route Circuit */ + location?: string; +} + /** An IPSec parameters for a virtual network gateway P2S connection. */ export interface VpnClientIPsecParameters { /** The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. */ @@ -5666,6 +5952,14 @@ export interface ListVirtualNetworkGatewayNatRulesResult { nextLink?: string; } +/** Virtual network gateway migration parameters. */ +export interface VirtualNetworkGatewayMigrationParameters { + /** MigrationType for the virtual network gateway. */ + migrationType: VirtualNetworkGatewayMigrationType; + /** The reference to the public IP resource. */ + resourceUrl?: SubResource; +} + /** Response for ListVirtualNetworkTap API service call. */ export interface VirtualNetworkTapListResult { /** A list of VirtualNetworkTaps in a resource group. */ @@ -6564,6 +6858,11 @@ export interface ManagedRuleSet { ruleSetVersion: string; /** Defines the rule group overrides to apply to the rule set. */ ruleGroupOverrides?: ManagedRuleGroupOverride[]; + /** + * Stores the final list of disabled rule groups + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly computedDisabledRules?: ManagedRuleSetRuleGroup[]; } /** Defines a managed rule group override setting. */ @@ -6586,6 +6885,14 @@ export interface ManagedRuleOverride { sensitivity?: SensitivityType; } +/** Defines a managed rule set rule group */ +export interface ManagedRuleSetRuleGroup { + /** Name of the rule group */ + ruleGroupName: string; + /** List of rules within the rule group */ + rules?: string[]; +} + /** Defines an application gateway for containers reference. */ export interface ApplicationGatewayForContainersReferenceDefinition { /** Resource Id of the application gateway for containers. */ @@ -6638,6 +6945,51 @@ export interface AzureAsyncOperationResult { error?: ErrorModel; } +/** Connection state snapshot. */ +export interface ConnectionStateSnapshot { + /** The connection state. */ + connectionState?: ConnectionState; + /** The start time of the connection snapshot. */ + startTime?: Date; + /** The end time of the connection snapshot. */ + endTime?: Date; + /** Connectivity analysis evaluation state. */ + evaluationState?: EvaluationState; + /** Average latency in ms. */ + avgLatencyInMs?: number; + /** Minimum latency in ms. */ + minLatencyInMs?: number; + /** Maximum latency in ms. */ + maxLatencyInMs?: number; + /** The number of sent probes. */ + probesSent?: number; + /** The number of failed probes. */ + probesFailed?: number; + /** + * List of hops between the source and the destination. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hops?: ConnectivityHop[]; +} + +/** List of connection states snapshots. */ +export interface ConnectionMonitorQueryResult { + /** Status of connection monitor source. */ + sourceStatus?: ConnectionMonitorSourceStatus; + /** Information about connection states. */ + states?: ConnectionStateSnapshot[]; +} + +/** Migration status for the Virtual Network Gateway. */ +export interface VirtualNetworkGatewayMigrationStatus { + /** Represent the current state of gateway migration. */ + state?: VirtualNetworkGatewayMigrationState; + /** Represent the current migration phase of gateway. */ + phase?: VirtualNetworkGatewayMigrationPhase; + /** Error if any occurs during migration. */ + errorMessage?: string; +} + /** VpnSite Resource. */ export interface VpnSiteId { /** @@ -8622,6 +8974,8 @@ export interface LoadBalancingRule extends SubResource { enableTcpReset?: boolean; /** Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. */ disableOutboundSnat?: boolean; + /** Defines whether connections between 2 communicating endpoints can be tracked and associated to the same backend VM over its lifetime when using UDP protocol. */ + enableConnectionTracking?: boolean; /** * The provisioning state of the load balancing rule resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -10970,35 +11324,130 @@ export interface NetworkProfile extends Resource { readonly provisioningState?: ProvisioningState; } -/** NetworkVirtualAppliance Resource. */ -export interface NetworkVirtualAppliance extends Resource { - /** The service principal that has read access to cloud-init and config blob. */ - identity?: ManagedServiceIdentity; +/** The Network Security Perimeter resource */ +export interface NetworkSecurityPerimeter extends Resource { /** - * A unique read-only string that changes whenever the resource is updated. + * The provisioning state of the scope assignment resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly etag?: string; - /** Network Virtual Appliance SKU. */ - nvaSku?: VirtualApplianceSkuProperties; + readonly provisioningState?: NspProvisioningState; /** - * Address Prefix. + * perimeter guid of the network security perimeter. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly addressPrefix?: string; - /** BootStrapConfigurationBlobs storage URLs. */ - bootStrapConfigurationBlobs?: string[]; - /** The Virtual Hub where Network Virtual Appliance is being deployed. */ - virtualHub?: SubResource; - /** CloudInitConfigurationBlob storage URLs. */ - cloudInitConfigurationBlobs?: string[]; - /** CloudInitConfiguration string in plain text. */ - cloudInitConfiguration?: string; - /** VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported. */ - virtualApplianceAsn?: number; - /** Public key for SSH login. */ - sshPublicKey?: string; - /** + readonly perimeterGuid?: string; +} + +/** The network security perimeter profile resource */ +export interface NspProfile extends Resource { + /** + * Version number that increases with every update to access rules within the profile. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly accessRulesVersion?: string; + /** + * Version number that increases with every update to diagnostic settings within the profile. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly diagnosticSettingsVersion?: string; +} + +/** The NSP access rule resource */ +export interface NspAccessRule extends Resource { + /** + * The provisioning state of the scope assignment resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: NspProvisioningState; + /** Direction that specifies whether the access rules is inbound/outbound. */ + direction?: AccessRuleDirection; + /** Inbound address prefixes (IPv4/IPv6) */ + addressPrefixes?: string[]; + /** Outbound rules fully qualified domain name format. */ + fullyQualifiedDomainNames?: string[]; + /** List of subscription ids */ + subscriptions?: SubscriptionId[]; + /** + * Rule specified by the perimeter id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly networkSecurityPerimeters?: PerimeterBasedAccessRule[]; + /** Outbound rules email address format. */ + emailAddresses?: string[]; + /** Outbound rules phone number format. */ + phoneNumbers?: string[]; + /** Inbound rules service tag names. */ + serviceTags?: string[]; +} + +/** The NSP resource association resource */ +export interface NspAssociation extends Resource { + /** + * The provisioning state of the resource association resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: NspProvisioningState; + /** The PaaS resource to be associated. */ + privateLinkResource?: SubResource; + /** Profile id to which the PaaS resource is associated. */ + profile?: SubResource; + /** Access mode on the association. */ + accessMode?: AssociationAccessMode; + /** + * Specifies if there are provisioning issues + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hasProvisioningIssues?: string; +} + +/** Resource that is onboarded to use network security perimeter. Also referred as perimeter associable resource. */ +export interface PerimeterAssociableResource extends Resource { + /** + * A friendly name for the properties of perimeter associable resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * Resource type/provider name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceType?: string; + /** + * Public DNS zone names of the resources. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly publicDnsZones?: string[]; +} + +/** NetworkVirtualAppliance Resource. */ +export interface NetworkVirtualAppliance extends Resource { + /** The service principal that has read access to cloud-init and config blob. */ + identity?: ManagedServiceIdentity; + /** + * 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; + /** Network Virtual Appliance SKU. */ + nvaSku?: VirtualApplianceSkuProperties; + /** + * Address Prefix. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly addressPrefix?: string; + /** BootStrapConfigurationBlobs storage URLs. */ + bootStrapConfigurationBlobs?: string[]; + /** The Virtual Hub where Network Virtual Appliance is being deployed. */ + virtualHub?: SubResource; + /** CloudInitConfigurationBlob storage URLs. */ + cloudInitConfigurationBlobs?: string[]; + /** CloudInitConfiguration string in plain text. */ + cloudInitConfiguration?: string; + /** VirtualAppliance ASN. Microsoft private, public and IANA reserved ASN are not supported. */ + virtualApplianceAsn?: number; + /** Public key for SSH login. */ + sshPublicKey?: string; + /** * List of Virtual Appliance Network Interfaces. * NOTE: This property will not be serialized. It can only be populated by the server. */ @@ -11268,6 +11717,8 @@ export interface VirtualNetworkGateway extends Resource { enablePrivateIpAddress?: boolean; /** ActiveActive flag. */ active?: boolean; + /** Flag for enabling creation of high bandwidth VPN gateway */ + enableHighBandwidthVpnGateway?: boolean; /** disableIPSecReplayProtection flag. */ disableIPSecReplayProtection?: boolean; /** The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting. */ @@ -12025,6 +12476,8 @@ export interface ConnectivityConfiguration extends ChildResource { hubs?: Hub[]; /** Flag if global mesh is supported. */ isGlobal?: IsGlobal; + /** Collection of additional settings to enhance specific topology behaviors of the connectivity configuration resource. */ + connectivityCapabilities?: ConnectivityConfigurationPropertiesConnectivityCapabilities; /** Groups for configuration */ appliesToGroups?: ConnectivityGroupItem[]; /** @@ -12411,6 +12864,104 @@ export interface EffectiveDefaultSecurityAdminRule readonly resourceGuid?: string; } +/** The network security perimeter link resource */ +export interface NspLink extends ProxyResource { + /** + * The provisioning state of the NSP Link resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: NspLinkProvisioningState; + /** Perimeter ARM Id for the remote NSP with which the link gets created in Auto-approval mode. It should be used when the NSP admin have Microsoft.Network/networkSecurityPerimeters/linkPerimeter/action permission on the remote NSP resource. */ + autoApprovedRemotePerimeterResourceId?: string; + /** + * Remote NSP Guid with which the link gets created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remotePerimeterGuid?: string; + /** + * Remote NSP location with which the link gets created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remotePerimeterLocation?: string; + /** Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. */ + localInboundProfiles?: string[]; + /** + * Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly localOutboundProfiles?: string[]; + /** Remote Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. This property can only be updated in auto-approval mode. */ + remoteInboundProfiles?: string[]; + /** + * Remote Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remoteOutboundProfiles?: string[]; + /** A message passed to the owner of the remote NSP link resource with this connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. Restricted to 140 chars. */ + description?: string; + /** + * The NSP link state. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: NspLinkStatus; +} + +/** The network security perimeter linkReference resource */ +export interface NspLinkReference extends ProxyResource { + /** + * The provisioning state of the NSP LinkReference resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: NspLinkProvisioningState; + /** + * Perimeter ARM Id for the remote NSP with which the link is created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remotePerimeterResourceId?: string; + /** + * Remote NSP Guid with which the link is created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remotePerimeterGuid?: string; + /** + * Remote NSP location with which the link gets created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remotePerimeterLocation?: string; + /** Local Inbound profile names to which Inbound is allowed. Use ['*'] to allow inbound to all profiles. */ + localInboundProfiles?: string[]; + /** + * Local Outbound profile names from which Outbound is allowed. In current version, it is readonly property and it's value is set to ['*'] to allow outbound from all profiles. In later version, user will be able to modify it. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly localOutboundProfiles?: string[]; + /** + * Remote Inbound profile names to which Inbound is allowed. ['*'] value implies inbound is allowed to all profiles at remote perimeter. This property can only be updated from corresponding link resource present in remote perimeter. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remoteInboundProfiles?: string[]; + /** + * Remote Outbound profile names from which Outbound is allowed. ['*'] value implies outbound is allowed from all profiles at remote perimeter. This property can only be updated from corresponding link resource present in remote perimeter. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly remoteOutboundProfiles?: string[]; + /** + * A message sent by the remote NSP link admin for connection request. In case of Auto-approved flow, it is default to 'Auto Approved'. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** The NSP linkReference state. It cannot be changed if link is created in auto-approval mode. */ + status?: NspLinkStatus; +} + +/** The NSP logging configuration */ +export interface NspLoggingConfiguration extends ProxyResource { + /** The log categories to enable in the NSP logging configuration. */ + enabledLogCategories?: string[]; + /** The version of the NSP logging configuration. */ + version?: string; +} + /** The properties of a packet capture session. */ export interface PacketCaptureResultProperties extends PacketCaptureParameters { /** @@ -12517,12 +13068,22 @@ export interface NetworkRule extends FirewallPolicyRule { export interface IpamPool extends CommonTrackedResource { /** Properties of IpamPool resource properties which are specific to the Pool resource. */ properties: IpamPoolProperties; + /** + * String representing unique etag for the resource document. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; } /** Instance of Verifier Workspace. */ export interface VerifierWorkspace extends CommonTrackedResource { /** Properties of Verifier Workspace resource. */ properties?: VerifierWorkspaceProperties; + /** + * String representing unique etag for the resource document. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly etag?: string; } /** Instance of StaticCidr resource. */ @@ -12829,6 +13390,36 @@ export interface SecurityUserRulesDeleteHeaders { location?: string; } +/** Defines headers for NetworkSecurityPerimeters_delete operation. */ +export interface NetworkSecurityPerimetersDeleteHeaders { + /** Azure async operation header */ + azureAsyncOperation?: string; +} + +/** Defines headers for NetworkSecurityPerimeterAssociations_createOrUpdate operation. */ +export interface NetworkSecurityPerimeterAssociationsCreateOrUpdateHeaders { + /** Azure async operation header */ + azureAsyncOperation?: string; +} + +/** Defines headers for NetworkSecurityPerimeterAssociations_delete operation. */ +export interface NetworkSecurityPerimeterAssociationsDeleteHeaders { + /** Azure async operation header */ + azureAsyncOperation?: string; +} + +/** Defines headers for NetworkSecurityPerimeterLinks_delete operation. */ +export interface NetworkSecurityPerimeterLinksDeleteHeaders { + /** location header */ + location?: string; +} + +/** Defines headers for NetworkSecurityPerimeterLinkReferences_delete operation. */ +export interface NetworkSecurityPerimeterLinkReferencesDeleteHeaders { + /** location header */ + location?: string; +} + /** Defines headers for ReachabilityAnalysisRuns_delete operation. */ export interface ReachabilityAnalysisRunsDeleteHeaders { /** The URL of the resource used to check the status of the asynchronous operation. */ @@ -12859,6 +13450,18 @@ export interface NetworkVirtualAppliancesRestartHeaders { location?: string; } +/** Defines headers for NetworkVirtualAppliances_reimage operation. */ +export interface NetworkVirtualAppliancesReimageHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for NetworkVirtualAppliances_getBootDiagnosticLogs operation. */ +export interface NetworkVirtualAppliancesGetBootDiagnosticLogsHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + /** Defines headers for RouteFilters_delete operation. */ export interface RouteFiltersDeleteHeaders { /** @@ -12895,6 +13498,16 @@ export interface RouteFilterRulesDeleteHeaders { azureAsyncOperation?: string; } +/** Defines headers for VirtualNetworkGateways_getResiliencyInformation operation. */ +export interface VirtualNetworkGatewaysGetResiliencyInformationHeaders { + location?: string; +} + +/** Defines headers for VirtualNetworkGateways_getRoutesInformation operation. */ +export interface VirtualNetworkGatewaysGetRoutesInformationHeaders { + location?: string; +} + /** Defines headers for VirtualNetworkGateways_getFailoverAllTestDetails operation. */ export interface VirtualNetworkGatewaysGetFailoverAllTestDetailsHeaders { location?: string; @@ -14511,6 +15124,48 @@ export enum KnownExpressRouteCircuitPeeringAdvertisedPublicPrefixState { */ export type ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = string; +/** Known values of {@link AdvertisedPublicPrefixPropertiesValidationState} that the service accepts. */ +export enum KnownAdvertisedPublicPrefixPropertiesValidationState { + /** NotConfigured */ + NotConfigured = "NotConfigured", + /** Configuring */ + Configuring = "Configuring", + /** Configured */ + Configured = "Configured", + /** ValidationNeeded */ + ValidationNeeded = "ValidationNeeded", + /** ValidationFailed */ + ValidationFailed = "ValidationFailed", + /** ManualValidationNeeded */ + ManualValidationNeeded = "ManualValidationNeeded", + /** AsnValidationFailed */ + AsnValidationFailed = "AsnValidationFailed", + /** CertificateMissingInRoutingRegistry */ + CertificateMissingInRoutingRegistry = "CertificateMissingInRoutingRegistry", + /** InvalidSignatureEncoding */ + InvalidSignatureEncoding = "InvalidSignatureEncoding", + /** SignatureVerificationFailed */ + SignatureVerificationFailed = "SignatureVerificationFailed", +} + +/** + * Defines values for AdvertisedPublicPrefixPropertiesValidationState. \ + * {@link KnownAdvertisedPublicPrefixPropertiesValidationState} can be used interchangeably with AdvertisedPublicPrefixPropertiesValidationState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotConfigured** \ + * **Configuring** \ + * **Configured** \ + * **ValidationNeeded** \ + * **ValidationFailed** \ + * **ManualValidationNeeded** \ + * **AsnValidationFailed** \ + * **CertificateMissingInRoutingRegistry** \ + * **InvalidSignatureEncoding** \ + * **SignatureVerificationFailed** + */ +export type AdvertisedPublicPrefixPropertiesValidationState = string; + /** Known values of {@link ExpressRouteCircuitPeeringState} that the service accepts. */ export enum KnownExpressRouteCircuitPeeringState { /** Disabled */ @@ -15219,6 +15874,60 @@ export enum KnownIsGlobal { */ export type IsGlobal = string; +/** Known values of {@link ConnectedGroupPrivateEndpointScale} that the service accepts. */ +export enum KnownConnectedGroupPrivateEndpointScale { + /** Default. Allows for up to 2K private endpoints in the connected group. */ + Standard = "Standard", + /** Allows for up to 20K private endpoints in the connected group. */ + HighScale = "HighScale", +} + +/** + * Defines values for ConnectedGroupPrivateEndpointScale. \ + * {@link KnownConnectedGroupPrivateEndpointScale} can be used interchangeably with ConnectedGroupPrivateEndpointScale, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard**: Default. Allows for up to 2K private endpoints in the connected group. \ + * **HighScale**: Allows for up to 20K private endpoints in the connected group. + */ +export type ConnectedGroupPrivateEndpointScale = string; + +/** Known values of {@link ConnectedGroupAddressOverlap} that the service accepts. */ +export enum KnownConnectedGroupAddressOverlap { + /** Default. Allows connected group members to have overlapping IP address space. */ + Allowed = "Allowed", + /** Strictly disallows connected group members from having overlapping IP address space. Prevents the addition of a virtual network with overlapping address to the connected group, blocks peering between a virtual network and a connected group member if any connected group member has an overlapping range, and restricts address space modifications that would introduce overlap. */ + Disallowed = "Disallowed", +} + +/** + * Defines values for ConnectedGroupAddressOverlap. \ + * {@link KnownConnectedGroupAddressOverlap} can be used interchangeably with ConnectedGroupAddressOverlap, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Allowed**: Default. Allows connected group members to have overlapping IP address space. \ + * **Disallowed**: Strictly disallows connected group members from having overlapping IP address space. Prevents the addition of a virtual network with overlapping address to the connected group, blocks peering between a virtual network and a connected group member if any connected group member has an overlapping range, and restricts address space modifications that would introduce overlap. + */ +export type ConnectedGroupAddressOverlap = string; + +/** Known values of {@link PeeringEnforcement} that the service accepts. */ +export enum KnownPeeringEnforcement { + /** Default. Peerings created by the connectivity configuration may be modified or deleted outside of the network manager. */ + Unenforced = "Unenforced", + /** Peerings created by the connectivity configuration will not be modifiable or deletable outside of the network manager. */ + Enforced = "Enforced", +} + +/** + * Defines values for PeeringEnforcement. \ + * {@link KnownPeeringEnforcement} can be used interchangeably with PeeringEnforcement, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unenforced**: Default. Peerings created by the connectivity configuration may be modified or deleted outside of the network manager. \ + * **Enforced**: Peerings created by the connectivity configuration will not be modifiable or deletable outside of the network manager. + */ +export type PeeringEnforcement = string; + /** Known values of {@link UseHubGateway} that the service accepts. */ export enum KnownUseHubGateway { /** False */ @@ -15525,65 +16234,191 @@ export enum KnownSecurityConfigurationRuleDirection { */ export type SecurityConfigurationRuleDirection = string; -/** Known values of {@link NetworkProtocol} that the service accepts. */ -export enum KnownNetworkProtocol { - /** Any */ - Any = "Any", - /** TCP */ - TCP = "TCP", - /** UDP */ - UDP = "UDP", - /** Icmp */ - Icmp = "ICMP", +/** Known values of {@link NspProvisioningState} that the service accepts. */ +export enum KnownNspProvisioningState { + /** Succeeded */ + Succeeded = "Succeeded", + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Deleting */ + Deleting = "Deleting", + /** Accepted */ + Accepted = "Accepted", + /** Failed */ + Failed = "Failed", } /** - * Defines values for NetworkProtocol. \ - * {@link KnownNetworkProtocol} can be used interchangeably with NetworkProtocol, + * Defines values for NspProvisioningState. \ + * {@link KnownNspProvisioningState} can be used interchangeably with NspProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Any** \ - * **TCP** \ - * **UDP** \ - * **ICMP** + * **Succeeded** \ + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Accepted** \ + * **Failed** */ -export type NetworkProtocol = string; +export type NspProvisioningState = string; -/** Known values of {@link NicTypeInResponse} that the service accepts. */ -export enum KnownNicTypeInResponse { - /** PublicNic */ - PublicNic = "PublicNic", - /** PrivateNic */ - PrivateNic = "PrivateNic", - /** AdditionalNic */ - AdditionalNic = "AdditionalNic", +/** Known values of {@link AccessRuleDirection} that the service accepts. */ +export enum KnownAccessRuleDirection { + /** Inbound */ + Inbound = "Inbound", + /** Outbound */ + Outbound = "Outbound", } /** - * Defines values for NicTypeInResponse. \ - * {@link KnownNicTypeInResponse} can be used interchangeably with NicTypeInResponse, + * Defines values for AccessRuleDirection. \ + * {@link KnownAccessRuleDirection} can be used interchangeably with AccessRuleDirection, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **PublicNic** \ - * **PrivateNic** \ - * **AdditionalNic** + * **Inbound** \ + * **Outbound** */ -export type NicTypeInResponse = string; +export type AccessRuleDirection = string; -/** Known values of {@link NicTypeInRequest} that the service accepts. */ -export enum KnownNicTypeInRequest { - /** PublicNic */ - PublicNic = "PublicNic", - /** PrivateNic */ - PrivateNic = "PrivateNic", +/** Known values of {@link AssociationAccessMode} that the service accepts. */ +export enum KnownAssociationAccessMode { + /** Learning */ + Learning = "Learning", + /** Enforced */ + Enforced = "Enforced", + /** Audit */ + Audit = "Audit", } /** - * Defines values for NicTypeInRequest. \ - * {@link KnownNicTypeInRequest} can be used interchangeably with NicTypeInRequest, + * Defines values for AssociationAccessMode. \ + * {@link KnownAssociationAccessMode} can be used interchangeably with AssociationAccessMode, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **PublicNic** \ + * **Learning** \ + * **Enforced** \ + * **Audit** + */ +export type AssociationAccessMode = string; + +/** Known values of {@link NspLinkProvisioningState} that the service accepts. */ +export enum KnownNspLinkProvisioningState { + /** Succeeded */ + Succeeded = "Succeeded", + /** Creating */ + Creating = "Creating", + /** Updating */ + Updating = "Updating", + /** Deleting */ + Deleting = "Deleting", + /** Accepted */ + Accepted = "Accepted", + /** Failed */ + Failed = "Failed", + /** WaitForRemoteCompletion */ + WaitForRemoteCompletion = "WaitForRemoteCompletion", +} + +/** + * Defines values for NspLinkProvisioningState. \ + * {@link KnownNspLinkProvisioningState} can be used interchangeably with NspLinkProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Creating** \ + * **Updating** \ + * **Deleting** \ + * **Accepted** \ + * **Failed** \ + * **WaitForRemoteCompletion** + */ +export type NspLinkProvisioningState = string; + +/** Known values of {@link NspLinkStatus} that the service accepts. */ +export enum KnownNspLinkStatus { + /** Approved */ + Approved = "Approved", + /** Pending */ + Pending = "Pending", + /** Rejected */ + Rejected = "Rejected", + /** Disconnected */ + Disconnected = "Disconnected", +} + +/** + * Defines values for NspLinkStatus. \ + * {@link KnownNspLinkStatus} can be used interchangeably with NspLinkStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approved** \ + * **Pending** \ + * **Rejected** \ + * **Disconnected** + */ +export type NspLinkStatus = string; + +/** Known values of {@link NetworkProtocol} that the service accepts. */ +export enum KnownNetworkProtocol { + /** Any */ + Any = "Any", + /** TCP */ + TCP = "TCP", + /** UDP */ + UDP = "UDP", + /** Icmp */ + Icmp = "ICMP", +} + +/** + * Defines values for NetworkProtocol. \ + * {@link KnownNetworkProtocol} can be used interchangeably with NetworkProtocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Any** \ + * **TCP** \ + * **UDP** \ + * **ICMP** + */ +export type NetworkProtocol = string; + +/** Known values of {@link NicTypeInResponse} that the service accepts. */ +export enum KnownNicTypeInResponse { + /** PublicNic */ + PublicNic = "PublicNic", + /** PrivateNic */ + PrivateNic = "PrivateNic", + /** AdditionalNic */ + AdditionalNic = "AdditionalNic", +} + +/** + * Defines values for NicTypeInResponse. \ + * {@link KnownNicTypeInResponse} can be used interchangeably with NicTypeInResponse, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **PublicNic** \ + * **PrivateNic** \ + * **AdditionalNic** + */ +export type NicTypeInResponse = string; + +/** Known values of {@link NicTypeInRequest} that the service accepts. */ +export enum KnownNicTypeInRequest { + /** PublicNic */ + PublicNic = "PublicNic", + /** PrivateNic */ + PrivateNic = "PrivateNic", +} + +/** + * Defines values for NicTypeInRequest. \ + * {@link KnownNicTypeInRequest} can be used interchangeably with NicTypeInRequest, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **PublicNic** \ * **PrivateNic** */ export type NicTypeInRequest = string; @@ -16170,69 +17005,6 @@ export enum KnownConnectionMonitorType { */ export type ConnectionMonitorType = string; -/** Known values of {@link ConnectionMonitorSourceStatus} that the service accepts. */ -export enum KnownConnectionMonitorSourceStatus { - /** Unknown */ - Unknown = "Unknown", - /** Active */ - Active = "Active", - /** Inactive */ - Inactive = "Inactive", -} - -/** - * Defines values for ConnectionMonitorSourceStatus. \ - * {@link KnownConnectionMonitorSourceStatus} can be used interchangeably with ConnectionMonitorSourceStatus, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Unknown** \ - * **Active** \ - * **Inactive** - */ -export type ConnectionMonitorSourceStatus = string; - -/** Known values of {@link ConnectionState} that the service accepts. */ -export enum KnownConnectionState { - /** Reachable */ - Reachable = "Reachable", - /** Unreachable */ - Unreachable = "Unreachable", - /** Unknown */ - Unknown = "Unknown", -} - -/** - * Defines values for ConnectionState. \ - * {@link KnownConnectionState} can be used interchangeably with ConnectionState, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Reachable** \ - * **Unreachable** \ - * **Unknown** - */ -export type ConnectionState = string; - -/** Known values of {@link EvaluationState} that the service accepts. */ -export enum KnownEvaluationState { - /** NotStarted */ - NotStarted = "NotStarted", - /** InProgress */ - InProgress = "InProgress", - /** Completed */ - Completed = "Completed", -} - -/** - * Defines values for EvaluationState. \ - * {@link KnownEvaluationState} can be used interchangeably with EvaluationState, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **NotStarted** \ - * **InProgress** \ - * **Completed** - */ -export type EvaluationState = string; - /** Known values of {@link IsWorkloadProtected} that the service accepts. */ export enum KnownIsWorkloadProtected { /** False */ @@ -17256,6 +18028,21 @@ export enum KnownFailoverTestStatusForSingleTest { */ export type FailoverTestStatusForSingleTest = string; +/** Known values of {@link VirtualNetworkGatewayMigrationType} that the service accepts. */ +export enum KnownVirtualNetworkGatewayMigrationType { + /** Indicates that it is a migration process from basic IP CSES to standard IP VMSS. */ + UpgradeDeploymentToStandardIP = "UpgradeDeploymentToStandardIP", +} + +/** + * Defines values for VirtualNetworkGatewayMigrationType. \ + * {@link KnownVirtualNetworkGatewayMigrationType} can be used interchangeably with VirtualNetworkGatewayMigrationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **UpgradeDeploymentToStandardIP**: Indicates that it is a migration process from basic IP CSES to standard IP VMSS. + */ +export type VirtualNetworkGatewayMigrationType = string; + /** Known values of {@link OfficeTrafficCategory} that the service accepts. */ export enum KnownOfficeTrafficCategory { /** Optimize */ @@ -17846,6 +18633,10 @@ export enum KnownApplicationGatewayFirewallUserSessionVariable { GeoLocation = "GeoLocation", /** None */ None = "None", + /** ClientAddrXFFHeader */ + ClientAddrXFFHeader = "ClientAddrXFFHeader", + /** GeoLocationXFFHeader */ + GeoLocationXFFHeader = "GeoLocationXFFHeader", } /** @@ -17855,7 +18646,9 @@ export enum KnownApplicationGatewayFirewallUserSessionVariable { * ### Known values supported by the service * **ClientAddr** \ * **GeoLocation** \ - * **None** + * **None** \ + * **ClientAddrXFFHeader** \ + * **GeoLocationXFFHeader** */ export type ApplicationGatewayFirewallUserSessionVariable = string; @@ -18258,68 +19051,194 @@ export enum KnownSecurityConfigurationRuleAccess { */ export type SecurityConfigurationRuleAccess = string; -/** Known values of {@link TunnelConnectionStatus} that the service accepts. */ -export enum KnownTunnelConnectionStatus { +/** Known values of {@link ConnectionState} that the service accepts. */ +export enum KnownConnectionState { + /** Reachable */ + Reachable = "Reachable", + /** Unreachable */ + Unreachable = "Unreachable", /** Unknown */ Unknown = "Unknown", - /** Connecting */ - Connecting = "Connecting", - /** Connected */ - Connected = "Connected", - /** NotConnected */ - NotConnected = "NotConnected", } /** - * Defines values for TunnelConnectionStatus. \ - * {@link KnownTunnelConnectionStatus} can be used interchangeably with TunnelConnectionStatus, + * Defines values for ConnectionState. \ + * {@link KnownConnectionState} can be used interchangeably with ConnectionState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Unknown** \ - * **Connecting** \ - * **Connected** \ - * **NotConnected** + * **Reachable** \ + * **Unreachable** \ + * **Unknown** */ -export type TunnelConnectionStatus = string; +export type ConnectionState = string; -/** Known values of {@link HubVirtualNetworkConnectionStatus} that the service accepts. */ -export enum KnownHubVirtualNetworkConnectionStatus { +/** Known values of {@link EvaluationState} that the service accepts. */ +export enum KnownEvaluationState { + /** NotStarted */ + NotStarted = "NotStarted", + /** InProgress */ + InProgress = "InProgress", + /** Completed */ + Completed = "Completed", +} + +/** + * Defines values for EvaluationState. \ + * {@link KnownEvaluationState} can be used interchangeably with EvaluationState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotStarted** \ + * **InProgress** \ + * **Completed** + */ +export type EvaluationState = string; + +/** Known values of {@link ConnectionMonitorSourceStatus} that the service accepts. */ +export enum KnownConnectionMonitorSourceStatus { /** Unknown */ Unknown = "Unknown", - /** Connecting */ - Connecting = "Connecting", - /** Connected */ - Connected = "Connected", - /** NotConnected */ - NotConnected = "NotConnected", + /** Active */ + Active = "Active", + /** Inactive */ + Inactive = "Inactive", } /** - * Defines values for HubVirtualNetworkConnectionStatus. \ - * {@link KnownHubVirtualNetworkConnectionStatus} can be used interchangeably with HubVirtualNetworkConnectionStatus, + * Defines values for ConnectionMonitorSourceStatus. \ + * {@link KnownConnectionMonitorSourceStatus} can be used interchangeably with ConnectionMonitorSourceStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Unknown** \ - * **Connecting** \ - * **Connected** \ - * **NotConnected** + * **Active** \ + * **Inactive** */ -export type HubVirtualNetworkConnectionStatus = string; -/** Defines values for ResourceIdentityType. */ -export type ResourceIdentityType = - | "SystemAssigned" - | "UserAssigned" - | "SystemAssigned, UserAssigned" - | "None"; -/** Defines values for PublicIpAddressDnsSettingsDomainNameLabelScope. */ -export type PublicIpAddressDnsSettingsDomainNameLabelScope = - | "TenantReuse" - | "SubscriptionReuse" - | "ResourceGroupReuse" - | "NoReuse"; -/** Defines values for SlotType. */ -export type SlotType = "Production" | "Staging"; -/** Defines values for FirewallPolicyIdpsSignatureMode. */ +export type ConnectionMonitorSourceStatus = string; + +/** Known values of {@link VirtualNetworkGatewayMigrationState} that the service accepts. */ +export enum KnownVirtualNetworkGatewayMigrationState { + /** None */ + None = "None", + /** InProgress */ + InProgress = "InProgress", + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", +} + +/** + * Defines values for VirtualNetworkGatewayMigrationState. \ + * {@link KnownVirtualNetworkGatewayMigrationState} can be used interchangeably with VirtualNetworkGatewayMigrationState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **InProgress** \ + * **Succeeded** \ + * **Failed** + */ +export type VirtualNetworkGatewayMigrationState = string; + +/** Known values of {@link VirtualNetworkGatewayMigrationPhase} that the service accepts. */ +export enum KnownVirtualNetworkGatewayMigrationPhase { + /** No migration phase set on gateway. */ + None = "None", + /** Gateway is going through prepare migration or prepare has failed. Please see state and error details for more information. */ + Prepare = "Prepare", + /** Prepare succeeded on gateway. */ + PrepareSucceeded = "PrepareSucceeded", + /** Gateway is going through execute migration or execute has failed. Please see state and error details for more information. */ + Execute = "Execute", + /** Execute succeeded on gateway. */ + ExecuteSucceeded = "ExecuteSucceeded", + /** Gateway is going through commit migration or commit has failed. Please see state and error details for more information. */ + Commit = "Commit", + /** Commit succeeded, represent migration is complete for the gateway. */ + CommitSucceeded = "CommitSucceeded", + /** Represent abort succeeded on gateway, start with prepare to retrigger migration. */ + AbortSucceeded = "AbortSucceeded", + /** Gateway is going through abort migration or abort has failed. Please see state and error details for more information. */ + Abort = "Abort", +} + +/** + * Defines values for VirtualNetworkGatewayMigrationPhase. \ + * {@link KnownVirtualNetworkGatewayMigrationPhase} can be used interchangeably with VirtualNetworkGatewayMigrationPhase, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None**: No migration phase set on gateway. \ + * **Prepare**: Gateway is going through prepare migration or prepare has failed. Please see state and error details for more information. \ + * **PrepareSucceeded**: Prepare succeeded on gateway. \ + * **Execute**: Gateway is going through execute migration or execute has failed. Please see state and error details for more information. \ + * **ExecuteSucceeded**: Execute succeeded on gateway. \ + * **Commit**: Gateway is going through commit migration or commit has failed. Please see state and error details for more information. \ + * **CommitSucceeded**: Commit succeeded, represent migration is complete for the gateway. \ + * **AbortSucceeded**: Represent abort succeeded on gateway, start with prepare to retrigger migration. \ + * **Abort**: Gateway is going through abort migration or abort has failed. Please see state and error details for more information. + */ +export type VirtualNetworkGatewayMigrationPhase = string; + +/** Known values of {@link TunnelConnectionStatus} that the service accepts. */ +export enum KnownTunnelConnectionStatus { + /** Unknown */ + Unknown = "Unknown", + /** Connecting */ + Connecting = "Connecting", + /** Connected */ + Connected = "Connected", + /** NotConnected */ + NotConnected = "NotConnected", +} + +/** + * Defines values for TunnelConnectionStatus. \ + * {@link KnownTunnelConnectionStatus} can be used interchangeably with TunnelConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Connecting** \ + * **Connected** \ + * **NotConnected** + */ +export type TunnelConnectionStatus = string; + +/** Known values of {@link HubVirtualNetworkConnectionStatus} that the service accepts. */ +export enum KnownHubVirtualNetworkConnectionStatus { + /** Unknown */ + Unknown = "Unknown", + /** Connecting */ + Connecting = "Connecting", + /** Connected */ + Connected = "Connected", + /** NotConnected */ + NotConnected = "NotConnected", +} + +/** + * Defines values for HubVirtualNetworkConnectionStatus. \ + * {@link KnownHubVirtualNetworkConnectionStatus} can be used interchangeably with HubVirtualNetworkConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unknown** \ + * **Connecting** \ + * **Connected** \ + * **NotConnected** + */ +export type HubVirtualNetworkConnectionStatus = string; +/** Defines values for ResourceIdentityType. */ +export type ResourceIdentityType = + | "SystemAssigned" + | "UserAssigned" + | "SystemAssigned, UserAssigned" + | "None"; +/** Defines values for PublicIpAddressDnsSettingsDomainNameLabelScope. */ +export type PublicIpAddressDnsSettingsDomainNameLabelScope = + | "TenantReuse" + | "SubscriptionReuse" + | "ResourceGroupReuse" + | "NoReuse"; +/** Defines values for SlotType. */ +export type SlotType = "Production" | "Staging"; +/** Defines values for FirewallPolicyIdpsSignatureMode. */ export type FirewallPolicyIdpsSignatureMode = 0 | 1 | 2; /** Defines values for FirewallPolicyIdpsSignatureSeverity. */ export type FirewallPolicyIdpsSignatureSeverity = 1 | 2 | 3; @@ -22243,6 +23162,364 @@ export interface DefaultSecurityRulesListNextOptionalParams /** Contains response data for the listNext operation. */ export type DefaultSecurityRulesListNextResponse = SecurityRuleListResult; +/** Optional parameters. */ +export interface NetworkSecurityPerimetersGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimetersGetResponse = NetworkSecurityPerimeter; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkSecurityPerimetersCreateOrUpdateResponse = + NetworkSecurityPerimeter; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersDeleteOptionalParams + 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 NetworkSecurityPerimetersPatchOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the patch operation. */ +export type NetworkSecurityPerimetersPatchResponse = NetworkSecurityPerimeter; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the listBySubscription operation. */ +export type NetworkSecurityPerimetersListBySubscriptionResponse = + NetworkSecurityPerimeterListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimetersListResponse = + NetworkSecurityPerimeterListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listBySubscriptionNext operation. */ +export type NetworkSecurityPerimetersListBySubscriptionNextResponse = + NetworkSecurityPerimeterListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimetersListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimetersListNextResponse = + NetworkSecurityPerimeterListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterProfilesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterProfilesGetResponse = NspProfile; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkSecurityPerimeterProfilesCreateOrUpdateResponse = NspProfile; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterProfilesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterProfilesListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterProfilesListResponse = NspProfileListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterProfilesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterProfilesListNextResponse = + NspProfileListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterAccessRulesGetResponse = NspAccessRule; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkSecurityPerimeterAccessRulesCreateOrUpdateResponse = + NspAccessRule; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterAccessRulesListResponse = + NspAccessRuleListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesReconcileOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the reconcile operation. */ +export type NetworkSecurityPerimeterAccessRulesReconcileResponse = Record< + string, + unknown +>; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAccessRulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterAccessRulesListNextResponse = + NspAccessRuleListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterAssociationsGetResponse = NspAssociation; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams + 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 NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse = + NspAssociation; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociationsDeleteOptionalParams + 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 NetworkSecurityPerimeterAssociationsListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterAssociationsListResponse = + NspAssociationsListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterAssociationsListNextResponse = + NspAssociationsListResult; + +/** Optional parameters. */ +export interface NspAssociationReconcilePostOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the post operation. */ +export type NspAssociationReconcilePostResponse = Record; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterAssociableResourceTypesListResponse = + PerimeterAssociableResourcesListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterAssociableResourceTypesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterAssociableResourceTypesListNextResponse = + PerimeterAssociableResourcesListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinksGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterLinksGetResponse = NspLink; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkSecurityPerimeterLinksCreateOrUpdateResponse = NspLink; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinksDeleteOptionalParams + 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 NetworkSecurityPerimeterLinksListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterLinksListResponse = NspLinkListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinksListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterLinksListNextResponse = NspLinkListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinkReferencesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterLinkReferencesGetResponse = + NspLinkReference; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams + 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 NetworkSecurityPerimeterLinkReferencesListOptionalParams + extends coreClient.OperationOptions { + /** An optional query parameter which specifies the maximum number of records to be returned by the server. */ + top?: number; + /** SkipToken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls. */ + skipToken?: string; +} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterLinkReferencesListResponse = + NspLinkReferenceListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLinkReferencesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterLinkReferencesListNextResponse = + NspLinkReferenceListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterLoggingConfigurationsGetResponse = + NspLoggingConfiguration; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateResponse = + NspLoggingConfiguration; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type NetworkSecurityPerimeterLoggingConfigurationsListResponse = + NspLoggingConfigurationListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterLoggingConfigurationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkSecurityPerimeterLoggingConfigurationsListNextResponse = + NspLoggingConfigurationListResult; + +/** Optional parameters. */ +export interface NetworkSecurityPerimeterOperationStatusesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkSecurityPerimeterOperationStatusesGetResponse = + OperationStatusResult; + /** Optional parameters. */ export interface ReachabilityAnalysisIntentsListOptionalParams extends coreClient.OperationOptions { @@ -22459,6 +23736,34 @@ export interface NetworkVirtualAppliancesRestartOptionalParams export type NetworkVirtualAppliancesRestartResponse = NetworkVirtualApplianceInstanceIds; +/** Optional parameters. */ +export interface NetworkVirtualAppliancesReimageOptionalParams + extends coreClient.OperationOptions { + /** Specifies a list of virtual machine instance IDs from the Network Virtual Appliance VM instances. */ + networkVirtualApplianceInstanceIds?: NetworkVirtualApplianceInstanceIds; + /** 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 reimage operation. */ +export type NetworkVirtualAppliancesReimageResponse = + NetworkVirtualApplianceInstanceIds; + +/** Optional parameters. */ +export interface NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams + 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 getBootDiagnosticLogs operation. */ +export type NetworkVirtualAppliancesGetBootDiagnosticLogsResponse = + NetworkVirtualApplianceInstanceId; + /** Optional parameters. */ export interface NetworkVirtualAppliancesListByResourceGroupOptionalParams extends coreClient.OperationOptions {} @@ -22866,27 +24171,6 @@ export interface ConnectionMonitorsStopOptionalParams resumeFrom?: string; } -/** Optional parameters. */ -export interface ConnectionMonitorsStartOptionalParams - 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 ConnectionMonitorsQueryOptionalParams - 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 query operation. */ -export type ConnectionMonitorsQueryResponse = ConnectionMonitorQueryResult; - /** Optional parameters. */ export interface ConnectionMonitorsListOptionalParams extends coreClient.OperationOptions {} @@ -24194,6 +25478,36 @@ export interface VirtualNetworkGatewaysGetAdvertisedRoutesOptionalParams export type VirtualNetworkGatewaysGetAdvertisedRoutesResponse = GatewayRouteListResult; +/** Optional parameters. */ +export interface VirtualNetworkGatewaysGetResiliencyInformationOptionalParams + extends coreClient.OperationOptions { + /** Attempt to recalculate the Resiliency Information for the gateway */ + attemptRefresh?: boolean; + /** 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 getResiliencyInformation operation. */ +export type VirtualNetworkGatewaysGetResiliencyInformationResponse = + GatewayResiliencyInformation; + +/** Optional parameters. */ +export interface VirtualNetworkGatewaysGetRoutesInformationOptionalParams + extends coreClient.OperationOptions { + /** Attempt to recalculate the Route Sets Information for the gateway */ + attemptRefresh?: boolean; + /** 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 getRoutesInformation operation. */ +export type VirtualNetworkGatewaysGetRoutesInformationResponse = + GatewayRouteSetsInformation; + /** Optional parameters. */ export interface VirtualNetworkGatewaysSetVpnclientIpsecParametersOptionalParams extends coreClient.OperationOptions { @@ -24342,6 +25656,42 @@ export interface VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnect resumeFrom?: string; } +/** Optional parameters. */ +export interface VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams + 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 VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams + 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 VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams + 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 VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams + 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 VirtualNetworkGatewaysListNextOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/network/arm-network/src/models/mappers.ts b/sdk/network/arm-network/src/models/mappers.ts index 92972fdaaab1..745f34259ca0 100644 --- a/sdk/network/arm-network/src/models/mappers.ts +++ b/sdk/network/arm-network/src/models/mappers.ts @@ -3894,6 +3894,52 @@ export const ExpressRouteCircuitPeeringConfig: coreClient.CompositeMapper = { name: "String", }, }, + advertisedPublicPrefixInfo: { + serializedName: "advertisedPublicPrefixInfo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AdvertisedPublicPrefixProperties", + }, + }, + }, + }, + }, + }, +}; + +export const AdvertisedPublicPrefixProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AdvertisedPublicPrefixProperties", + modelProperties: { + prefix: { + serializedName: "prefix", + type: { + name: "String", + }, + }, + validationId: { + serializedName: "validationId", + type: { + name: "String", + }, + }, + signature: { + serializedName: "signature", + type: { + name: "String", + }, + }, + validationState: { + serializedName: "validationState", + readOnly: true, + type: { + name: "String", + }, + }, }, }, }; @@ -6725,8 +6771,7 @@ export const LoadBalancerHealthPerRulePerBackendAddress: coreClient.CompositeMap networkInterfaceIPConfigurationId: { serializedName: "networkInterfaceIPConfigurationId", type: { - name: "Composite", - className: "NetworkInterfaceIPConfiguration", + name: "String", }, }, state: { @@ -7615,6 +7660,14 @@ export const EffectiveConnectivityConfiguration: coreClient.CompositeMapper = { name: "String", }, }, + connectivityCapabilities: { + serializedName: "properties.connectivityCapabilities", + type: { + name: "Composite", + className: + "ConnectivityConfigurationPropertiesConnectivityCapabilities", + }, + }, appliesToGroups: { serializedName: "properties.appliesToGroups", type: { @@ -7672,6 +7725,40 @@ export const Hub: coreClient.CompositeMapper = { }, }; +export const ConnectivityConfigurationPropertiesConnectivityCapabilities: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ConnectivityConfigurationPropertiesConnectivityCapabilities", + modelProperties: { + connectedGroupPrivateEndpointScale: { + defaultValue: "Standard", + serializedName: "connectedGroupPrivateEndpointScale", + required: true, + type: { + name: "String", + }, + }, + connectedGroupAddressOverlap: { + defaultValue: "Allowed", + serializedName: "connectedGroupAddressOverlap", + required: true, + type: { + name: "String", + }, + }, + peeringEnforcement: { + defaultValue: "Unenforced", + serializedName: "peeringEnforcement", + required: true, + type: { + name: "String", + }, + }, + }, + }, + }; + export const ConnectivityGroupItem: coreClient.CompositeMapper = { type: { name: "Composite", @@ -8634,150 +8721,60 @@ export const SecurityRuleListResult: coreClient.CompositeMapper = { }, }; -export const ReachabilityAnalysisIntentListResult: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ReachabilityAnalysisIntentListResult", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ReachabilityAnalysisIntent", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String", - }, - }, - }, - }, - }; - -export const ReachabilityAnalysisIntentProperties: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ReachabilityAnalysisIntentProperties", - modelProperties: { - provisioningState: { - serializedName: "provisioningState", - type: { - name: "String", - }, - }, - description: { - serializedName: "description", - type: { - name: "String", - }, - }, - sourceResourceId: { - serializedName: "sourceResourceId", - required: true, - type: { - name: "String", - }, - }, - destinationResourceId: { - serializedName: "destinationResourceId", - required: true, - type: { - name: "String", - }, - }, - ipTraffic: { - serializedName: "ipTraffic", - type: { - name: "Composite", - className: "IPTraffic", - }, - }, - }, - }, - }; - -export const IPTraffic: coreClient.CompositeMapper = { +export const UpdateTagsRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IPTraffic", + className: "UpdateTagsRequest", modelProperties: { - sourceIps: { - serializedName: "sourceIps", - required: true, - type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, - }, - }, - destinationIps: { - serializedName: "destinationIps", - required: true, + id: { + serializedName: "id", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, - sourcePorts: { - serializedName: "sourcePorts", - required: true, + tags: { + serializedName: "tags", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - destinationPorts: { - serializedName: "destinationPorts", - required: true, + }, + }, +}; + +export const NetworkSecurityPerimeterListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterListResult", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String", + name: "Composite", + className: "NetworkSecurityPerimeter", }, }, }, }, - protocols: { - serializedName: "protocols", - required: true, + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, }, }, }; -export const ReachabilityAnalysisRunListResult: coreClient.CompositeMapper = { +export const NspProfileListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ReachabilityAnalysisRunListResult", + className: "NspProfileListResult", modelProperties: { value: { serializedName: "value", @@ -8786,7 +8783,7 @@ export const ReachabilityAnalysisRunListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ReachabilityAnalysisRun", + className: "NspProfile", }, }, }, @@ -8801,47 +8798,43 @@ export const ReachabilityAnalysisRunListResult: coreClient.CompositeMapper = { }, }; -export const ReachabilityAnalysisRunProperties: coreClient.CompositeMapper = { +export const SubscriptionId: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ReachabilityAnalysisRunProperties", + className: "SubscriptionId", modelProperties: { - description: { - serializedName: "description", - type: { - name: "String", - }, - }, - intentId: { - serializedName: "intentId", - required: true, + id: { + serializedName: "id", type: { name: "String", }, }, - intentContent: { - serializedName: "intentContent", - type: { - name: "Composite", - className: "IntentContent", - }, - }, - analysisResult: { - serializedName: "analysisResult", + }, + }, +}; + +export const PerimeterBasedAccessRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerimeterBasedAccessRule", + modelProperties: { + id: { + serializedName: "id", readOnly: true, type: { name: "String", }, }, - errorMessage: { - serializedName: "errorMessage", + perimeterGuid: { + serializedName: "perimeterGuid", readOnly: true, type: { name: "String", }, }, - provisioningState: { - serializedName: "provisioningState", + location: { + serializedName: "location", + readOnly: true, type: { name: "String", }, @@ -8850,20 +8843,592 @@ export const ReachabilityAnalysisRunProperties: coreClient.CompositeMapper = { }, }; -export const IntentContent: coreClient.CompositeMapper = { +export const NspAccessRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IntentContent", + className: "NspAccessRuleListResult", modelProperties: { - description: { - serializedName: "description", + value: { + serializedName: "value", type: { - name: "String", - }, - }, - sourceResourceId: { - serializedName: "sourceResourceId", - required: true, + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NspAccessRule", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspAssociationsListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspAssociationsListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NspAssociation", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const PerimeterAssociableResourcesListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "PerimeterAssociableResourcesListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PerimeterAssociableResource", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + 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", + }, + }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspLinkListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspLinkListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NspLink", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspLinkReferenceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspLinkReferenceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NspLinkReference", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspLoggingConfigurationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspLoggingConfigurationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NspLoggingConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const OperationStatusResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationStatusResult", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String", + }, + }, + resourceId: { + serializedName: "resourceId", + readOnly: true, + type: { + name: "String", + }, + }, + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + status: { + serializedName: "status", + required: true, + type: { + name: "String", + }, + }, + percentComplete: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0, + }, + serializedName: "percentComplete", + type: { + name: "Number", + }, + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime", + }, + }, + endTime: { + serializedName: "endTime", + type: { + name: "DateTime", + }, + }, + operations: { + serializedName: "operations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "OperationStatusResult", + }, + }, + }, + }, + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail", + }, + }, + }, + }, +}; + +export const ErrorDetail: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, + type: { + name: "String", + }, + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String", + }, + }, + target: { + serializedName: "target", + readOnly: true, + type: { + name: "String", + }, + }, + details: { + serializedName: "details", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDetail", + }, + }, + }, + }, + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + }, + }, + }, + }, + }, + }, +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String", + }, + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } }, + }, + }, + }, + }, +}; + +export const ReachabilityAnalysisIntentListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ReachabilityAnalysisIntentListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReachabilityAnalysisIntent", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const ReachabilityAnalysisIntentProperties: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ReachabilityAnalysisIntentProperties", + modelProperties: { + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String", + }, + }, + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + sourceResourceId: { + serializedName: "sourceResourceId", + required: true, + type: { + name: "String", + }, + }, + destinationResourceId: { + serializedName: "destinationResourceId", + required: true, + type: { + name: "String", + }, + }, + ipTraffic: { + serializedName: "ipTraffic", + type: { + name: "Composite", + className: "IPTraffic", + }, + }, + }, + }, + }; + +export const IPTraffic: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IPTraffic", + modelProperties: { + sourceIps: { + serializedName: "sourceIps", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationIps: { + serializedName: "destinationIps", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + sourcePorts: { + serializedName: "sourcePorts", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationPorts: { + serializedName: "destinationPorts", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + protocols: { + serializedName: "protocols", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + +export const ReachabilityAnalysisRunListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReachabilityAnalysisRunListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ReachabilityAnalysisRun", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ReachabilityAnalysisRunProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReachabilityAnalysisRunProperties", + modelProperties: { + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + intentId: { + serializedName: "intentId", + required: true, + type: { + name: "String", + }, + }, + intentContent: { + serializedName: "intentContent", + type: { + name: "Composite", + className: "IntentContent", + }, + }, + analysisResult: { + serializedName: "analysisResult", + readOnly: true, + type: { + name: "String", + }, + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const IntentContent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IntentContent", + modelProperties: { + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + sourceResourceId: { + serializedName: "sourceResourceId", + required: true, type: { name: "String", }, @@ -9258,6 +9823,49 @@ export const NetworkVirtualApplianceInstanceIds: coreClient.CompositeMapper = { }, }; +export const NetworkVirtualApplianceBootDiagnosticParameters: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkVirtualApplianceBootDiagnosticParameters", + modelProperties: { + instanceId: { + serializedName: "instanceId", + type: { + name: "Number", + }, + }, + serialConsoleStorageSasUrl: { + serializedName: "serialConsoleStorageSasUrl", + type: { + name: "String", + }, + }, + consoleScreenshotStorageSasUrl: { + serializedName: "consoleScreenshotStorageSasUrl", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkVirtualApplianceInstanceId: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkVirtualApplianceInstanceId", + modelProperties: { + instanceId: { + serializedName: "instanceId", + type: { + name: "Number", + }, + }, + }, + }, +}; + export const NetworkVirtualApplianceListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -12638,160 +13246,37 @@ export const ConnectionMonitorResult: coreClient.CompositeMapper = { }, }, notes: { - serializedName: "properties.notes", - type: { - name: "String", - }, - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String", - }, - }, - startTime: { - serializedName: "properties.startTime", - readOnly: true, - type: { - name: "DateTime", - }, - }, - monitoringStatus: { - serializedName: "properties.monitoringStatus", - readOnly: true, - type: { - name: "String", - }, - }, - connectionMonitorType: { - serializedName: "properties.connectionMonitorType", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ConnectionMonitorQueryResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConnectionMonitorQueryResult", - modelProperties: { - sourceStatus: { - serializedName: "sourceStatus", - type: { - name: "String", - }, - }, - states: { - serializedName: "states", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ConnectionStateSnapshot", - }, - }, - }, - }, - }, - }, -}; - -export const ConnectionStateSnapshot: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ConnectionStateSnapshot", - modelProperties: { - connectionState: { - serializedName: "connectionState", - type: { - name: "String", - }, - }, - startTime: { - serializedName: "startTime", - type: { - name: "DateTime", - }, - }, - endTime: { - serializedName: "endTime", - type: { - name: "DateTime", - }, - }, - evaluationState: { - serializedName: "evaluationState", - type: { - name: "String", - }, - }, - avgLatencyInMs: { - constraints: { - InclusiveMaximum: 4294967295, - InclusiveMinimum: 0, - }, - serializedName: "avgLatencyInMs", - type: { - name: "Number", - }, - }, - minLatencyInMs: { - constraints: { - InclusiveMaximum: 4294967295, - InclusiveMinimum: 0, - }, - serializedName: "minLatencyInMs", - type: { - name: "Number", - }, - }, - maxLatencyInMs: { - constraints: { - InclusiveMaximum: 4294967295, - InclusiveMinimum: 0, - }, - serializedName: "maxLatencyInMs", + serializedName: "properties.notes", type: { - name: "Number", + name: "String", }, }, - probesSent: { - constraints: { - InclusiveMaximum: 4294967295, - InclusiveMinimum: 0, - }, - serializedName: "probesSent", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { - name: "Number", + name: "String", }, }, - probesFailed: { - constraints: { - InclusiveMaximum: 4294967295, - InclusiveMinimum: 0, + startTime: { + serializedName: "properties.startTime", + readOnly: true, + type: { + name: "DateTime", }, - serializedName: "probesFailed", + }, + monitoringStatus: { + serializedName: "properties.monitoringStatus", + readOnly: true, type: { - name: "Number", + name: "String", }, }, - hops: { - serializedName: "hops", + connectionMonitorType: { + serializedName: "properties.connectionMonitorType", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ConnectivityHop", - }, - }, + name: "String", }, }, }, @@ -15301,40 +15786,327 @@ export const BgpPeerStatus: coreClient.CompositeMapper = { serializedName: "routesReceived", readOnly: true, type: { - name: "Number", + name: "Number", + }, + }, + messagesSent: { + serializedName: "messagesSent", + readOnly: true, + type: { + name: "Number", + }, + }, + messagesReceived: { + serializedName: "messagesReceived", + readOnly: true, + type: { + name: "Number", + }, + }, + }, + }, +}; + +export const GatewayRouteListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayRoute", + }, + }, + }, + }, + }, + }, +}; + +export const GatewayRoute: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRoute", + modelProperties: { + localAddress: { + serializedName: "localAddress", + readOnly: true, + type: { + name: "String", + }, + }, + network: { + serializedName: "network", + readOnly: true, + type: { + name: "String", + }, + }, + nextHop: { + serializedName: "nextHop", + readOnly: true, + type: { + name: "String", + }, + }, + sourcePeer: { + serializedName: "sourcePeer", + readOnly: true, + type: { + name: "String", + }, + }, + origin: { + serializedName: "origin", + readOnly: true, + type: { + name: "String", + }, + }, + asPath: { + serializedName: "asPath", + readOnly: true, + type: { + name: "String", + }, + }, + weight: { + serializedName: "weight", + readOnly: true, + type: { + name: "Number", + }, + }, + }, + }, +}; + +export const GatewayResiliencyInformation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayResiliencyInformation", + modelProperties: { + overallScore: { + serializedName: "overallScore", + type: { + name: "String", + }, + }, + scoreChange: { + serializedName: "scoreChange", + type: { + name: "String", + }, + }, + minScoreFromRecommendations: { + serializedName: "minScoreFromRecommendations", + type: { + name: "String", + }, + }, + maxScoreFromRecommendations: { + serializedName: "maxScoreFromRecommendations", + type: { + name: "String", + }, + }, + lastComputedTime: { + serializedName: "lastComputedTime", + type: { + name: "String", + }, + }, + nextEligibleComputeTime: { + serializedName: "nextEligibleComputeTime", + type: { + name: "String", + }, + }, + components: { + serializedName: "components", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResiliencyRecommendationComponents", + }, + }, + }, + }, + }, + }, +}; + +export const ResiliencyRecommendationComponents: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResiliencyRecommendationComponents", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + currentScore: { + serializedName: "currentScore", + type: { + name: "String", + }, + }, + maxScore: { + serializedName: "maxScore", + type: { + name: "String", + }, + }, + recommendations: { + serializedName: "recommendations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayResiliencyRecommendation", + }, + }, + }, + }, + }, + }, +}; + +export const GatewayResiliencyRecommendation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayResiliencyRecommendation", + modelProperties: { + recommendationTitle: { + serializedName: "recommendationTitle", + type: { + name: "String", + }, + }, + recommendationId: { + serializedName: "recommendationId", + type: { + name: "String", + }, + }, + severity: { + serializedName: "severity", + type: { + name: "String", + }, + }, + recommendationText: { + serializedName: "recommendationText", + type: { + name: "String", + }, + }, + callToActionText: { + serializedName: "callToActionText", + type: { + name: "String", + }, + }, + callToActionLink: { + serializedName: "callToActionLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const GatewayRouteSetsInformation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "GatewayRouteSetsInformation", + modelProperties: { + lastComputedTime: { + serializedName: "lastComputedTime", + type: { + name: "String", + }, + }, + nextEligibleComputeTime: { + serializedName: "nextEligibleComputeTime", + type: { + name: "String", + }, + }, + routeSetVersion: { + serializedName: "routeSetVersion", + type: { + name: "String", }, }, - messagesSent: { - serializedName: "messagesSent", - readOnly: true, + routeSets: { + serializedName: "routeSets", type: { - name: "Number", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "GatewayRouteSet", + }, + }, }, }, - messagesReceived: { - serializedName: "messagesReceived", - readOnly: true, + circuitsMetadataMap: { + serializedName: "circuitsMetadataMap", type: { - name: "Number", + name: "Dictionary", + value: { + type: { name: "Composite", className: "CircuitMetadataMap" }, + }, }, }, }, }, }; -export const GatewayRouteListResult: coreClient.CompositeMapper = { +export const GatewayRouteSet: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GatewayRouteListResult", + className: "GatewayRouteSet", modelProperties: { - value: { - serializedName: "value", + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + locations: { + serializedName: "locations", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "GatewayRoute", + name: "String", + }, + }, + }, + }, + details: { + serializedName: "details", + type: { + name: "Dictionary", + value: { + type: { + name: "Sequence", + element: { + type: { name: "Composite", className: "RouteSourceDetails" }, + }, }, }, }, @@ -15343,60 +16115,56 @@ export const GatewayRouteListResult: coreClient.CompositeMapper = { }, }; -export const GatewayRoute: coreClient.CompositeMapper = { +export const RouteSourceDetails: coreClient.CompositeMapper = { type: { name: "Composite", - className: "GatewayRoute", + className: "RouteSourceDetails", modelProperties: { - localAddress: { - serializedName: "localAddress", - readOnly: true, + circuit: { + serializedName: "circuit", type: { name: "String", }, }, - network: { - serializedName: "network", - readOnly: true, + pri: { + serializedName: "pri", type: { name: "String", }, }, - nextHop: { - serializedName: "nextHop", - readOnly: true, + sec: { + serializedName: "sec", type: { name: "String", }, }, - sourcePeer: { - serializedName: "sourcePeer", - readOnly: true, + }, + }, +}; + +export const CircuitMetadataMap: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CircuitMetadataMap", + modelProperties: { + name: { + serializedName: "name", type: { name: "String", }, }, - origin: { - serializedName: "origin", - readOnly: true, + link: { + serializedName: "link", type: { name: "String", }, }, - asPath: { - serializedName: "asPath", - readOnly: true, + location: { + serializedName: "location", type: { name: "String", }, }, - weight: { - serializedName: "weight", - readOnly: true, - type: { - name: "Number", - }, - }, }, }, }; @@ -16072,6 +16840,30 @@ export const ListVirtualNetworkGatewayNatRulesResult: coreClient.CompositeMapper }, }; +export const VirtualNetworkGatewayMigrationParameters: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "VirtualNetworkGatewayMigrationParameters", + modelProperties: { + migrationType: { + serializedName: "migrationType", + required: true, + type: { + name: "String", + }, + }, + resourceUrl: { + serializedName: "resourceUrl", + type: { + name: "Composite", + className: "SubResource", + }, + }, + }, + }, + }; + export const VirtualNetworkTapListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -18860,6 +19652,19 @@ export const ManagedRuleSet: coreClient.CompositeMapper = { }, }, }, + computedDisabledRules: { + serializedName: "computedDisabledRules", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ManagedRuleSetRuleGroup", + }, + }, + }, + }, }, }, }; @@ -18926,6 +19731,33 @@ export const ManagedRuleOverride: coreClient.CompositeMapper = { }, }; +export const ManagedRuleSetRuleGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedRuleSetRuleGroup", + modelProperties: { + ruleGroupName: { + serializedName: "ruleGroupName", + required: true, + type: { + name: "String", + }, + }, + rules: { + serializedName: "rules", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + export const ApplicationGatewayForContainersReferenceDefinition: coreClient.CompositeMapper = { type: { @@ -19060,23 +19892,174 @@ export const AzureAsyncOperationResult: coreClient.CompositeMapper = { name: "Composite", className: "AzureAsyncOperationResult", modelProperties: { - status: { - serializedName: "status", + status: { + serializedName: "status", + type: { + name: "String", + }, + }, + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorModel", + }, + }, + }, + }, +}; + +export const ConnectionStateSnapshot: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConnectionStateSnapshot", + modelProperties: { + connectionState: { + serializedName: "connectionState", + type: { + name: "String", + }, + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime", + }, + }, + endTime: { + serializedName: "endTime", + type: { + name: "DateTime", + }, + }, + evaluationState: { + serializedName: "evaluationState", + type: { + name: "String", + }, + }, + avgLatencyInMs: { + constraints: { + InclusiveMaximum: 4294967295, + InclusiveMinimum: 0, + }, + serializedName: "avgLatencyInMs", + type: { + name: "Number", + }, + }, + minLatencyInMs: { + constraints: { + InclusiveMaximum: 4294967295, + InclusiveMinimum: 0, + }, + serializedName: "minLatencyInMs", + type: { + name: "Number", + }, + }, + maxLatencyInMs: { + constraints: { + InclusiveMaximum: 4294967295, + InclusiveMinimum: 0, + }, + serializedName: "maxLatencyInMs", + type: { + name: "Number", + }, + }, + probesSent: { + constraints: { + InclusiveMaximum: 4294967295, + InclusiveMinimum: 0, + }, + serializedName: "probesSent", + type: { + name: "Number", + }, + }, + probesFailed: { + constraints: { + InclusiveMaximum: 4294967295, + InclusiveMinimum: 0, + }, + serializedName: "probesFailed", + type: { + name: "Number", + }, + }, + hops: { + serializedName: "hops", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectivityHop", + }, + }, + }, + }, + }, + }, +}; + +export const ConnectionMonitorQueryResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConnectionMonitorQueryResult", + modelProperties: { + sourceStatus: { + serializedName: "sourceStatus", type: { name: "String", }, }, - error: { - serializedName: "error", + states: { + serializedName: "states", type: { - name: "Composite", - className: "ErrorModel", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectionStateSnapshot", + }, + }, }, }, }, }, }; +export const VirtualNetworkGatewayMigrationStatus: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "VirtualNetworkGatewayMigrationStatus", + modelProperties: { + state: { + serializedName: "state", + type: { + name: "String", + }, + }, + phase: { + serializedName: "phase", + type: { + name: "String", + }, + }, + errorMessage: { + serializedName: "errorMessage", + type: { + name: "String", + }, + }, + }, + }, + }; + export const VpnSiteId: coreClient.CompositeMapper = { type: { name: "Composite", @@ -23757,6 +24740,12 @@ export const LoadBalancingRule: coreClient.CompositeMapper = { name: "Boolean", }, }, + enableConnectionTracking: { + serializedName: "properties.enableConnectionTracking", + type: { + name: "Boolean", + }, + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -29641,45 +30630,276 @@ export const NetworkProfile: coreClient.CompositeMapper = { name: "String", }, }, - containerNetworkInterfaces: { - serializedName: "properties.containerNetworkInterfaces", + containerNetworkInterfaces: { + serializedName: "properties.containerNetworkInterfaces", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerNetworkInterface", + }, + }, + }, + }, + containerNetworkInterfaceConfigurations: { + serializedName: "properties.containerNetworkInterfaceConfigurations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ContainerNetworkInterfaceConfiguration", + }, + }, + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NetworkSecurityPerimeter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkSecurityPerimeter", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + perimeterGuid: { + serializedName: "properties.perimeterGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspProfile: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspProfile", + modelProperties: { + ...Resource.type.modelProperties, + accessRulesVersion: { + serializedName: "properties.accessRulesVersion", + readOnly: true, + type: { + name: "String", + }, + }, + diagnosticSettingsVersion: { + serializedName: "properties.diagnosticSettingsVersion", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspAccessRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspAccessRule", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + direction: { + serializedName: "properties.direction", + type: { + name: "String", + }, + }, + addressPrefixes: { + serializedName: "properties.addressPrefixes", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + fullyQualifiedDomainNames: { + serializedName: "properties.fullyQualifiedDomainNames", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + subscriptions: { + serializedName: "properties.subscriptions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SubscriptionId", + }, + }, + }, + }, + networkSecurityPerimeters: { + serializedName: "properties.networkSecurityPerimeters", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PerimeterBasedAccessRule", + }, + }, + }, + }, + emailAddresses: { + serializedName: "properties.emailAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + phoneNumbers: { + serializedName: "properties.phoneNumbers", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + serviceTags: { + serializedName: "properties.serviceTags", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + +export const NspAssociation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspAssociation", + modelProperties: { + ...Resource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + privateLinkResource: { + serializedName: "properties.privateLinkResource", + type: { + name: "Composite", + className: "SubResource", + }, + }, + profile: { + serializedName: "properties.profile", + type: { + name: "Composite", + className: "SubResource", + }, + }, + accessMode: { + serializedName: "properties.accessMode", + type: { + name: "String", + }, + }, + hasProvisioningIssues: { + serializedName: "properties.hasProvisioningIssues", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const PerimeterAssociableResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PerimeterAssociableResource", + modelProperties: { + ...Resource.type.modelProperties, + displayName: { + serializedName: "properties.displayName", + readOnly: true, + type: { + name: "String", + }, + }, + resourceType: { + serializedName: "properties.resourceType", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ContainerNetworkInterface", - }, - }, + name: "String", }, }, - containerNetworkInterfaceConfigurations: { - serializedName: "properties.containerNetworkInterfaceConfigurations", + publicDnsZones: { + serializedName: "properties.publicDnsZones", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ContainerNetworkInterfaceConfiguration", + name: "String", }, }, }, }, - resourceGuid: { - serializedName: "properties.resourceGuid", - readOnly: true, - type: { - name: "String", - }, - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String", - }, - }, }, }, }; @@ -30458,6 +31678,12 @@ export const VirtualNetworkGateway: coreClient.CompositeMapper = { name: "Boolean", }, }, + enableHighBandwidthVpnGateway: { + serializedName: "properties.enableHighBandwidthVpnGateway", + type: { + name: "Boolean", + }, + }, disableIPSecReplayProtection: { serializedName: "properties.disableIPSecReplayProtection", type: { @@ -32471,6 +33697,14 @@ export const ConnectivityConfiguration: coreClient.CompositeMapper = { name: "String", }, }, + connectivityCapabilities: { + serializedName: "properties.connectivityCapabilities", + type: { + name: "Composite", + className: + "ConnectivityConfigurationPropertiesConnectivityCapabilities", + }, + }, appliesToGroups: { serializedName: "properties.appliesToGroups", type: { @@ -33132,8 +34366,240 @@ export const EffectiveSecurityAdminRule: coreClient.CompositeMapper = { }, }, }, - sourcePortRanges: { - serializedName: "properties.sourcePortRanges", + sourcePortRanges: { + serializedName: "properties.sourcePortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationPortRanges: { + serializedName: "properties.destinationPortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + access: { + serializedName: "properties.access", + type: { + name: "String", + }, + }, + priority: { + constraints: { + InclusiveMaximum: 4096, + InclusiveMinimum: 1, + }, + serializedName: "properties.priority", + type: { + name: "Number", + }, + }, + direction: { + serializedName: "properties.direction", + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const EffectiveDefaultSecurityAdminRule: coreClient.CompositeMapper = { + serializedName: "Default", + type: { + name: "Composite", + className: "EffectiveDefaultSecurityAdminRule", + uberParent: "EffectiveBaseSecurityAdminRule", + polymorphicDiscriminator: + EffectiveBaseSecurityAdminRule.type.polymorphicDiscriminator, + modelProperties: { + ...EffectiveBaseSecurityAdminRule.type.modelProperties, + description: { + serializedName: "properties.description", + readOnly: true, + type: { + name: "String", + }, + }, + flag: { + serializedName: "properties.flag", + type: { + name: "String", + }, + }, + protocol: { + serializedName: "properties.protocol", + readOnly: true, + type: { + name: "String", + }, + }, + sources: { + serializedName: "properties.sources", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AddressPrefixItem", + }, + }, + }, + }, + destinations: { + serializedName: "properties.destinations", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AddressPrefixItem", + }, + }, + }, + }, + sourcePortRanges: { + serializedName: "properties.sourcePortRanges", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationPortRanges: { + serializedName: "properties.destinationPortRanges", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + access: { + serializedName: "properties.access", + readOnly: true, + type: { + name: "String", + }, + }, + priority: { + serializedName: "properties.priority", + readOnly: true, + type: { + name: "Number", + }, + }, + direction: { + serializedName: "properties.direction", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NspLink: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspLink", + modelProperties: { + ...ProxyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + autoApprovedRemotePerimeterResourceId: { + serializedName: "properties.autoApprovedRemotePerimeterResourceId", + type: { + name: "String", + }, + }, + remotePerimeterGuid: { + serializedName: "properties.remotePerimeterGuid", + readOnly: true, + type: { + name: "String", + }, + }, + remotePerimeterLocation: { + serializedName: "properties.remotePerimeterLocation", + readOnly: true, + type: { + name: "String", + }, + }, + localInboundProfiles: { + constraints: { + UniqueItems: true, + }, + serializedName: "properties.localInboundProfiles", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + localOutboundProfiles: { + constraints: { + UniqueItems: true, + }, + serializedName: "properties.localOutboundProfiles", + readOnly: true, type: { name: "Sequence", element: { @@ -33143,8 +34609,11 @@ export const EffectiveSecurityAdminRule: coreClient.CompositeMapper = { }, }, }, - destinationPortRanges: { - serializedName: "properties.destinationPortRanges", + remoteInboundProfiles: { + constraints: { + UniqueItems: true, + }, + serializedName: "properties.remoteInboundProfiles", type: { name: "Sequence", element: { @@ -33154,37 +34623,29 @@ export const EffectiveSecurityAdminRule: coreClient.CompositeMapper = { }, }, }, - access: { - serializedName: "properties.access", - type: { - name: "String", - }, - }, - priority: { + remoteOutboundProfiles: { constraints: { - InclusiveMaximum: 4096, - InclusiveMinimum: 1, - }, - serializedName: "properties.priority", - type: { - name: "Number", + UniqueItems: true, }, - }, - direction: { - serializedName: "properties.direction", + serializedName: "properties.remoteOutboundProfiles", + readOnly: true, type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "String", + }, + }, }, }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + description: { + serializedName: "properties.description", type: { name: "String", }, }, - resourceGuid: { - serializedName: "properties.resourceGuid", + status: { + serializedName: "properties.status", readOnly: true, type: { name: "String", @@ -33194,64 +34655,71 @@ export const EffectiveSecurityAdminRule: coreClient.CompositeMapper = { }, }; -export const EffectiveDefaultSecurityAdminRule: coreClient.CompositeMapper = { - serializedName: "Default", +export const NspLinkReference: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EffectiveDefaultSecurityAdminRule", - uberParent: "EffectiveBaseSecurityAdminRule", - polymorphicDiscriminator: - EffectiveBaseSecurityAdminRule.type.polymorphicDiscriminator, + className: "NspLinkReference", modelProperties: { - ...EffectiveBaseSecurityAdminRule.type.modelProperties, - description: { - serializedName: "properties.description", + ...ProxyResource.type.modelProperties, + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, type: { name: "String", }, }, - flag: { - serializedName: "properties.flag", + remotePerimeterResourceId: { + serializedName: "properties.remotePerimeterResourceId", + readOnly: true, type: { name: "String", }, }, - protocol: { - serializedName: "properties.protocol", + remotePerimeterGuid: { + serializedName: "properties.remotePerimeterGuid", readOnly: true, type: { name: "String", }, }, - sources: { - serializedName: "properties.sources", + remotePerimeterLocation: { + serializedName: "properties.remotePerimeterLocation", readOnly: true, + type: { + name: "String", + }, + }, + localInboundProfiles: { + constraints: { + UniqueItems: true, + }, + serializedName: "properties.localInboundProfiles", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "AddressPrefixItem", + name: "String", }, }, }, }, - destinations: { - serializedName: "properties.destinations", + localOutboundProfiles: { + constraints: { + UniqueItems: true, + }, + serializedName: "properties.localOutboundProfiles", readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "AddressPrefixItem", + name: "String", }, }, }, }, - sourcePortRanges: { - serializedName: "properties.sourcePortRanges", + remoteInboundProfiles: { + serializedName: "properties.remoteInboundProfiles", readOnly: true, type: { name: "Sequence", @@ -33262,8 +34730,8 @@ export const EffectiveDefaultSecurityAdminRule: coreClient.CompositeMapper = { }, }, }, - destinationPortRanges: { - serializedName: "properties.destinationPortRanges", + remoteOutboundProfiles: { + serializedName: "properties.remoteOutboundProfiles", readOnly: true, type: { name: "Sequence", @@ -33274,37 +34742,42 @@ export const EffectiveDefaultSecurityAdminRule: coreClient.CompositeMapper = { }, }, }, - access: { - serializedName: "properties.access", + description: { + serializedName: "properties.description", readOnly: true, type: { name: "String", }, }, - priority: { - serializedName: "properties.priority", - readOnly: true, - type: { - name: "Number", - }, - }, - direction: { - serializedName: "properties.direction", - readOnly: true, + status: { + serializedName: "properties.status", type: { name: "String", }, }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + }, + }, +}; + +export const NspLoggingConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NspLoggingConfiguration", + modelProperties: { + ...ProxyResource.type.modelProperties, + enabledLogCategories: { + serializedName: "properties.enabledLogCategories", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "String", + }, + }, }, }, - resourceGuid: { - serializedName: "properties.resourceGuid", - readOnly: true, + version: { + serializedName: "properties.version", type: { name: "String", }, @@ -33677,6 +35150,13 @@ export const IpamPool: coreClient.CompositeMapper = { className: "IpamPoolProperties", }, }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String", + }, + }, }, }, }; @@ -33694,6 +35174,13 @@ export const VerifierWorkspace: coreClient.CompositeMapper = { className: "VerifierWorkspaceProperties", }, }, + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String", + }, + }, }, }, }; @@ -34423,6 +35910,86 @@ export const SecurityUserRulesDeleteHeaders: coreClient.CompositeMapper = { }, }; +export const NetworkSecurityPerimetersDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkSecurityPerimetersDeleteHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkSecurityPerimeterAssociationsCreateOrUpdateHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterAssociationsCreateOrUpdateHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkSecurityPerimeterAssociationsDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterAssociationsDeleteHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkSecurityPerimeterLinksDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterLinksDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkSecurityPerimeterLinkReferencesDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkSecurityPerimeterLinkReferencesDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + export const ReachabilityAnalysisRunsDeleteHeaders: coreClient.CompositeMapper = { type: { @@ -34502,6 +36069,38 @@ export const NetworkVirtualAppliancesRestartHeaders: coreClient.CompositeMapper }, }; +export const NetworkVirtualAppliancesReimageHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkVirtualAppliancesReimageHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkVirtualAppliancesGetBootDiagnosticLogsHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkVirtualAppliancesGetBootDiagnosticLogsHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + export const RouteFiltersDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", @@ -34544,6 +36143,38 @@ export const RouteFilterRulesDeleteHeaders: coreClient.CompositeMapper = { }, }; +export const VirtualNetworkGatewaysGetResiliencyInformationHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "VirtualNetworkGatewaysGetResiliencyInformationHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const VirtualNetworkGatewaysGetRoutesInformationHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "VirtualNetworkGatewaysGetRoutesInformationHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + export const VirtualNetworkGatewaysGetFailoverAllTestDetailsHeaders: coreClient.CompositeMapper = { type: { diff --git a/sdk/network/arm-network/src/models/parameters.ts b/sdk/network/arm-network/src/models/parameters.ts index f1b98a594ca3..1bd15101e98b 100644 --- a/sdk/network/arm-network/src/models/parameters.ts +++ b/sdk/network/arm-network/src/models/parameters.ts @@ -83,12 +83,20 @@ import { NetworkProfile as NetworkProfileMapper, NetworkSecurityGroup as NetworkSecurityGroupMapper, SecurityRule as SecurityRuleMapper, + NetworkSecurityPerimeter as NetworkSecurityPerimeterMapper, + UpdateTagsRequest as UpdateTagsRequestMapper, + NspProfile as NspProfileMapper, + NspAccessRule as NspAccessRuleMapper, + NspAssociation as NspAssociationMapper, + NspLink as NspLinkMapper, + NspLoggingConfiguration as NspLoggingConfigurationMapper, ReachabilityAnalysisIntent as ReachabilityAnalysisIntentMapper, ReachabilityAnalysisRun as ReachabilityAnalysisRunMapper, VerifierWorkspace as VerifierWorkspaceMapper, VerifierWorkspaceUpdate as VerifierWorkspaceUpdateMapper, NetworkVirtualAppliance as NetworkVirtualApplianceMapper, NetworkVirtualApplianceInstanceIds as NetworkVirtualApplianceInstanceIdsMapper, + NetworkVirtualApplianceBootDiagnosticParameters as NetworkVirtualApplianceBootDiagnosticParametersMapper, VirtualApplianceSite as VirtualApplianceSiteMapper, InboundSecurityRule as InboundSecurityRuleMapper, NetworkWatcher as NetworkWatcherMapper, @@ -133,6 +141,7 @@ import { VpnPacketCaptureStopParameters as VpnPacketCaptureStopParametersMapper, ExpressRouteFailoverStopApiParameters as ExpressRouteFailoverStopApiParametersMapper, P2SVpnConnectionRequest as P2SVpnConnectionRequestMapper, + VirtualNetworkGatewayMigrationParameters as VirtualNetworkGatewayMigrationParametersMapper, VirtualNetworkGatewayConnection as VirtualNetworkGatewayConnectionMapper, ConnectionSharedKey as ConnectionSharedKeyMapper, ConnectionResetSharedKey as ConnectionResetSharedKeyMapper, @@ -223,7 +232,7 @@ export const applicationGatewayName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2024-05-01", + defaultValue: "2024-07-01", isConstant: true, serializedName: "api-version", type: { @@ -1224,11 +1233,39 @@ export const loadBalancingRuleName: OperationURLParameter = { }, }; +export const groupName2: OperationURLParameter = { + parameterPath: "groupName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "groupName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const loadBalancerName2: OperationURLParameter = { + parameterPath: "loadBalancerName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "loadBalancerName", + required: true, + type: { + name: "String", + }, + }, +}; + export const loadBalancingRuleName1: OperationURLParameter = { parameterPath: "loadBalancingRuleName", mapper: { constraints: { - Pattern: new RegExp("^[a-z][a-z0-9]*$"), + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), }, serializedName: "loadBalancingRuleName", required: true, @@ -1630,6 +1667,183 @@ export const defaultSecurityRuleName: OperationURLParameter = { }, }; +export const networkSecurityPerimeterName: OperationURLParameter = { + parameterPath: "networkSecurityPerimeterName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "networkSecurityPerimeterName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters44: OperationParameter = { + parameterPath: "parameters", + mapper: NetworkSecurityPerimeterMapper, +}; + +export const parameters45: OperationParameter = { + parameterPath: "parameters", + mapper: UpdateTagsRequestMapper, +}; + +export const profileName: OperationURLParameter = { + parameterPath: "profileName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "profileName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters46: OperationParameter = { + parameterPath: "parameters", + mapper: NspProfileMapper, +}; + +export const accessRuleName: OperationURLParameter = { + parameterPath: "accessRuleName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "accessRuleName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters47: OperationParameter = { + parameterPath: "parameters", + mapper: NspAccessRuleMapper, +}; + +export const parameters48: OperationParameter = { + parameterPath: "parameters", + mapper: { + serializedName: "parameters", + required: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } }, + }, + }, +}; + +export const associationName: OperationURLParameter = { + parameterPath: "associationName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "associationName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters49: OperationParameter = { + parameterPath: "parameters", + mapper: NspAssociationMapper, +}; + +export const linkName1: OperationURLParameter = { + parameterPath: "linkName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "linkName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters50: OperationParameter = { + parameterPath: "parameters", + mapper: NspLinkMapper, +}; + +export const linkReferenceName: OperationURLParameter = { + parameterPath: "linkReferenceName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "linkReferenceName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const loggingConfigurationName: OperationURLParameter = { + parameterPath: "loggingConfigurationName", + mapper: { + constraints: { + Pattern: new RegExp( + "(^[a-zA-Z0-9]+[a-zA-Z0-9_.-]*[a-zA-Z0-9_]+$)|(^[a-zA-Z0-9]$)", + ), + MaxLength: 80, + }, + serializedName: "loggingConfigurationName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const parameters51: OperationParameter = { + parameterPath: "parameters", + mapper: NspLoggingConfigurationMapper, +}; + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + serializedName: "operationId", + required: true, + type: { + name: "String", + }, + }, +}; + export const workspaceName: OperationURLParameter = { parameterPath: "workspaceName", mapper: { @@ -1703,7 +1917,7 @@ export const networkVirtualApplianceName: OperationURLParameter = { }, }; -export const parameters44: OperationParameter = { +export const parameters52: OperationParameter = { parameterPath: "parameters", mapper: NetworkVirtualApplianceMapper, }; @@ -1713,6 +1927,25 @@ export const networkVirtualApplianceInstanceIds: OperationParameter = { mapper: NetworkVirtualApplianceInstanceIdsMapper, }; +export const networkVirtualApplianceName1: OperationURLParameter = { + parameterPath: "networkVirtualApplianceName", + mapper: { + constraints: { + Pattern: new RegExp("^[A-Za-z0-9_]+"), + }, + serializedName: "networkVirtualApplianceName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const request1: OperationParameter = { + parameterPath: "request", + mapper: NetworkVirtualApplianceBootDiagnosticParametersMapper, +}; + export const siteName: OperationURLParameter = { parameterPath: "siteName", mapper: { @@ -1724,7 +1957,7 @@ export const siteName: OperationURLParameter = { }, }; -export const parameters45: OperationParameter = { +export const parameters53: OperationParameter = { parameterPath: "parameters", mapper: VirtualApplianceSiteMapper, }; @@ -1740,12 +1973,12 @@ export const skuName: OperationURLParameter = { }, }; -export const parameters46: OperationParameter = { +export const parameters54: OperationParameter = { parameterPath: "parameters", mapper: InboundSecurityRuleMapper, }; -export const parameters47: OperationParameter = { +export const parameters55: OperationParameter = { parameterPath: "parameters", mapper: NetworkWatcherMapper, }; @@ -1761,67 +1994,67 @@ export const networkWatcherName: OperationURLParameter = { }, }; -export const parameters48: OperationParameter = { +export const parameters56: OperationParameter = { parameterPath: "parameters", mapper: TopologyParametersMapper, }; -export const parameters49: OperationParameter = { +export const parameters57: OperationParameter = { parameterPath: "parameters", mapper: VerificationIPFlowParametersMapper, }; -export const parameters50: OperationParameter = { +export const parameters58: OperationParameter = { parameterPath: "parameters", mapper: NextHopParametersMapper, }; -export const parameters51: OperationParameter = { +export const parameters59: OperationParameter = { parameterPath: "parameters", mapper: SecurityGroupViewParametersMapper, }; -export const parameters52: OperationParameter = { +export const parameters60: OperationParameter = { parameterPath: "parameters", mapper: TroubleshootingParametersMapper, }; -export const parameters53: OperationParameter = { +export const parameters61: OperationParameter = { parameterPath: "parameters", mapper: QueryTroubleshootingParametersMapper, }; -export const parameters54: OperationParameter = { +export const parameters62: OperationParameter = { parameterPath: "parameters", mapper: FlowLogInformationMapper, }; -export const parameters55: OperationParameter = { +export const parameters63: OperationParameter = { parameterPath: "parameters", mapper: FlowLogStatusParametersMapper, }; -export const parameters56: OperationParameter = { +export const parameters64: OperationParameter = { parameterPath: "parameters", mapper: ConnectivityParametersMapper, }; -export const parameters57: OperationParameter = { +export const parameters65: OperationParameter = { parameterPath: "parameters", mapper: AzureReachabilityReportParametersMapper, }; -export const parameters58: OperationParameter = { +export const parameters66: OperationParameter = { parameterPath: "parameters", mapper: AvailableProvidersListParametersMapper, }; -export const parameters59: OperationParameter = { +export const parameters67: OperationParameter = { parameterPath: "parameters", mapper: NetworkConfigurationDiagnosticParametersMapper, }; -export const parameters60: OperationParameter = { +export const parameters68: OperationParameter = { parameterPath: "parameters", mapper: PacketCaptureMapper, }; @@ -1837,7 +2070,7 @@ export const packetCaptureName: OperationURLParameter = { }, }; -export const parameters61: OperationParameter = { +export const parameters69: OperationParameter = { parameterPath: "parameters", mapper: ConnectionMonitorMapper, }; @@ -1863,7 +2096,7 @@ export const migrate: OperationQueryParameter = { }, }; -export const parameters62: OperationParameter = { +export const parameters70: OperationParameter = { parameterPath: "parameters", mapper: FlowLogMapper, }; @@ -1890,7 +2123,7 @@ export const privateEndpointName: OperationURLParameter = { }, }; -export const parameters63: OperationParameter = { +export const parameters71: OperationParameter = { parameterPath: "parameters", mapper: PrivateEndpointMapper, }; @@ -1906,7 +2139,7 @@ export const privateDnsZoneGroupName: OperationURLParameter = { }, }; -export const parameters64: OperationParameter = { +export const parameters72: OperationParameter = { parameterPath: "parameters", mapper: PrivateDnsZoneGroupMapper, }; @@ -1922,7 +2155,7 @@ export const serviceName: OperationURLParameter = { }, }; -export const parameters65: OperationParameter = { +export const parameters73: OperationParameter = { parameterPath: "parameters", mapper: PrivateLinkServiceMapper, }; @@ -1938,12 +2171,12 @@ export const peConnectionName: OperationURLParameter = { }, }; -export const parameters66: OperationParameter = { +export const parameters74: OperationParameter = { parameterPath: "parameters", mapper: PrivateEndpointConnectionMapper, }; -export const parameters67: OperationParameter = { +export const parameters75: OperationParameter = { parameterPath: "parameters", mapper: CheckPrivateLinkServiceVisibilityRequestMapper, }; @@ -1959,7 +2192,7 @@ export const publicIpPrefixName: OperationURLParameter = { }, }; -export const parameters68: OperationParameter = { +export const parameters76: OperationParameter = { parameterPath: "parameters", mapper: PublicIPPrefixMapper, }; @@ -1996,7 +2229,7 @@ export const routeTableName: OperationURLParameter = { }, }; -export const parameters69: OperationParameter = { +export const parameters77: OperationParameter = { parameterPath: "parameters", mapper: RouteTableMapper, }; @@ -2028,7 +2261,7 @@ export const securityPartnerProviderName: OperationURLParameter = { }, }; -export const parameters70: OperationParameter = { +export const parameters78: OperationParameter = { parameterPath: "parameters", mapper: SecurityPartnerProviderMapper, }; @@ -2044,7 +2277,7 @@ export const serviceEndpointPolicyName: OperationURLParameter = { }, }; -export const parameters71: OperationParameter = { +export const parameters79: OperationParameter = { parameterPath: "parameters", mapper: ServiceEndpointPolicyMapper, }; @@ -2099,7 +2332,7 @@ export const location1: OperationURLParameter = { }, }; -export const parameters72: OperationParameter = { +export const parameters80: OperationParameter = { parameterPath: "parameters", mapper: VirtualNetworkMapper, }; @@ -2177,7 +2410,7 @@ export const syncRemoteAddressSpace: OperationQueryParameter = { }, }; -export const parameters73: OperationParameter = { +export const parameters81: OperationParameter = { parameterPath: "parameters", mapper: VirtualNetworkGatewayMapper, }; @@ -2203,7 +2436,7 @@ export const gatewayVip: OperationQueryParameter = { }, }; -export const parameters74: OperationParameter = { +export const parameters82: OperationParameter = { parameterPath: "parameters", mapper: VpnClientParametersMapper, }; @@ -2229,12 +2462,22 @@ export const peer1: OperationQueryParameter = { }, }; +export const attemptRefresh: OperationQueryParameter = { + parameterPath: ["options", "attemptRefresh"], + mapper: { + serializedName: "attemptRefresh", + type: { + name: "Boolean", + }, + }, +}; + export const vpnclientIpsecParams: OperationParameter = { parameterPath: "vpnclientIpsecParams", mapper: VpnClientIPsecParametersMapper, }; -export const parameters75: OperationParameter = { +export const parameters83: OperationParameter = { parameterPath: "parameters", mapper: VpnDeviceScriptParametersMapper, }; @@ -2250,12 +2493,12 @@ export const virtualNetworkGatewayConnectionName: OperationURLParameter = { }, }; -export const parameters76: OperationParameter = { +export const parameters84: OperationParameter = { parameterPath: ["options", "parameters"], mapper: VpnPacketCaptureStartParametersMapper, }; -export const parameters77: OperationParameter = { +export const parameters85: OperationParameter = { parameterPath: "parameters", mapper: VpnPacketCaptureStopParametersMapper, }; @@ -2309,27 +2552,32 @@ export const stopParameters: OperationParameter = { mapper: ExpressRouteFailoverStopApiParametersMapper, }; -export const request1: OperationParameter = { +export const request2: OperationParameter = { parameterPath: "request", mapper: P2SVpnConnectionRequestMapper, }; -export const parameters78: OperationParameter = { +export const migrationParams: OperationParameter = { + parameterPath: "migrationParams", + mapper: VirtualNetworkGatewayMigrationParametersMapper, +}; + +export const parameters86: OperationParameter = { parameterPath: "parameters", mapper: VirtualNetworkGatewayConnectionMapper, }; -export const parameters79: OperationParameter = { +export const parameters87: OperationParameter = { parameterPath: "parameters", mapper: ConnectionSharedKeyMapper, }; -export const parameters80: OperationParameter = { +export const parameters88: OperationParameter = { parameterPath: "parameters", mapper: ConnectionResetSharedKeyMapper, }; -export const parameters81: OperationParameter = { +export const parameters89: OperationParameter = { parameterPath: "parameters", mapper: LocalNetworkGatewayMapper, }; @@ -2375,7 +2623,7 @@ export const tapName: OperationURLParameter = { }, }; -export const parameters82: OperationParameter = { +export const parameters90: OperationParameter = { parameterPath: "parameters", mapper: VirtualNetworkTapMapper, }; @@ -2396,12 +2644,12 @@ export const virtualRouterName: OperationURLParameter = { }, }; -export const parameters83: OperationParameter = { +export const parameters91: OperationParameter = { parameterPath: "parameters", mapper: VirtualRouterMapper, }; -export const parameters84: OperationParameter = { +export const parameters92: OperationParameter = { parameterPath: "parameters", mapper: VirtualRouterPeeringMapper, }; @@ -2459,7 +2707,7 @@ export const vpnSiteLinkName: OperationURLParameter = { }, }; -export const request2: OperationParameter = { +export const request3: OperationParameter = { parameterPath: "request", mapper: GetVpnSitesConfigurationRequestMapper, }; @@ -2589,12 +2837,12 @@ export const ipConfigurationId: OperationQueryParameter = { }, }; -export const parameters85: OperationParameter = { +export const parameters93: OperationParameter = { parameterPath: ["options", "parameters"], mapper: VpnGatewayPacketCaptureStartParametersMapper, }; -export const parameters86: OperationParameter = { +export const parameters94: OperationParameter = { parameterPath: ["options", "parameters"], mapper: VpnGatewayPacketCaptureStopParametersMapper, }; @@ -2620,7 +2868,7 @@ export const vpnConnectionParameters: OperationParameter = { mapper: VpnConnectionMapper, }; -export const parameters87: OperationParameter = { +export const parameters95: OperationParameter = { parameterPath: ["options", "parameters"], mapper: VpnConnectionPacketCaptureStartParametersMapper, }; @@ -2636,7 +2884,7 @@ export const vpnConnectionName: OperationURLParameter = { }, }; -export const parameters88: OperationParameter = { +export const parameters96: OperationParameter = { parameterPath: ["options", "parameters"], mapper: VpnConnectionPacketCaptureStopParametersMapper, }; @@ -2656,12 +2904,12 @@ export const p2SVpnGatewayParameters1: OperationParameter = { mapper: TagsObjectMapper, }; -export const parameters89: OperationParameter = { +export const parameters97: OperationParameter = { parameterPath: "parameters", mapper: P2SVpnProfileParametersMapper, }; -export const request3: OperationParameter = { +export const request4: OperationParameter = { parameterPath: "request", mapper: P2SVpnConnectionHealthRequestMapper, }; @@ -2713,20 +2961,6 @@ export const networkVirtualApplianceConnectionParameters: OperationParameter = { mapper: NetworkVirtualApplianceConnectionMapper, }; -export const networkVirtualApplianceName1: OperationURLParameter = { - parameterPath: "networkVirtualApplianceName", - mapper: { - constraints: { - Pattern: new RegExp("^[A-Za-z0-9_]+"), - }, - serializedName: "networkVirtualApplianceName", - required: true, - type: { - name: "String", - }, - }, -}; - export const connectionName1: OperationURLParameter = { parameterPath: "connectionName", mapper: { @@ -2741,7 +2975,7 @@ export const connectionName1: OperationURLParameter = { }, }; -export const parameters90: OperationParameter = { +export const parameters98: OperationParameter = { parameterPath: "parameters", mapper: BgpConnectionMapper, }; @@ -2768,7 +3002,7 @@ export const ipConfigName: OperationURLParameter = { }, }; -export const parameters91: OperationParameter = { +export const parameters99: OperationParameter = { parameterPath: "parameters", mapper: HubIpConfigurationMapper, }; @@ -2808,7 +3042,7 @@ export const policyName: OperationURLParameter = { }, }; -export const parameters92: OperationParameter = { +export const parameters100: OperationParameter = { parameterPath: "parameters", mapper: WebApplicationFirewallPolicyMapper, }; diff --git a/sdk/network/arm-network/src/networkManagementClient.ts b/sdk/network/arm-network/src/networkManagementClient.ts index c8225e4f9243..6e75c045b977 100644 --- a/sdk/network/arm-network/src/networkManagementClient.ts +++ b/sdk/network/arm-network/src/networkManagementClient.ts @@ -98,6 +98,16 @@ import { NetworkSecurityGroupsImpl, SecurityRulesImpl, DefaultSecurityRulesImpl, + NetworkSecurityPerimetersImpl, + NetworkSecurityPerimeterProfilesImpl, + NetworkSecurityPerimeterAccessRulesImpl, + NetworkSecurityPerimeterAssociationsImpl, + NspAssociationReconcileImpl, + NetworkSecurityPerimeterAssociableResourceTypesImpl, + NetworkSecurityPerimeterLinksImpl, + NetworkSecurityPerimeterLinkReferencesImpl, + NetworkSecurityPerimeterLoggingConfigurationsImpl, + NetworkSecurityPerimeterOperationStatusesImpl, ReachabilityAnalysisIntentsImpl, ReachabilityAnalysisRunsImpl, VerifierWorkspacesImpl, @@ -246,6 +256,16 @@ import { NetworkSecurityGroups, SecurityRules, DefaultSecurityRules, + NetworkSecurityPerimeters, + NetworkSecurityPerimeterProfiles, + NetworkSecurityPerimeterAccessRules, + NetworkSecurityPerimeterAssociations, + NspAssociationReconcile, + NetworkSecurityPerimeterAssociableResourceTypes, + NetworkSecurityPerimeterLinks, + NetworkSecurityPerimeterLinkReferences, + NetworkSecurityPerimeterLoggingConfigurations, + NetworkSecurityPerimeterOperationStatuses, ReachabilityAnalysisIntents, ReachabilityAnalysisRuns, VerifierWorkspaces, @@ -410,7 +430,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { credential: credentials, }; - const packageDetails = `azsdk-js-arm-network/33.5.0`; + const packageDetails = `azsdk-js-arm-network/34.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -586,6 +606,25 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.networkSecurityGroups = new NetworkSecurityGroupsImpl(this); this.securityRules = new SecurityRulesImpl(this); this.defaultSecurityRules = new DefaultSecurityRulesImpl(this); + this.networkSecurityPerimeters = new NetworkSecurityPerimetersImpl(this); + this.networkSecurityPerimeterProfiles = + new NetworkSecurityPerimeterProfilesImpl(this); + this.networkSecurityPerimeterAccessRules = + new NetworkSecurityPerimeterAccessRulesImpl(this); + this.networkSecurityPerimeterAssociations = + new NetworkSecurityPerimeterAssociationsImpl(this); + this.nspAssociationReconcile = new NspAssociationReconcileImpl(this); + this.networkSecurityPerimeterAssociableResourceTypes = + new NetworkSecurityPerimeterAssociableResourceTypesImpl(this); + this.networkSecurityPerimeterLinks = new NetworkSecurityPerimeterLinksImpl( + this, + ); + this.networkSecurityPerimeterLinkReferences = + new NetworkSecurityPerimeterLinkReferencesImpl(this); + this.networkSecurityPerimeterLoggingConfigurations = + new NetworkSecurityPerimeterLoggingConfigurationsImpl(this); + this.networkSecurityPerimeterOperationStatuses = + new NetworkSecurityPerimeterOperationStatusesImpl(this); this.reachabilityAnalysisIntents = new ReachabilityAnalysisIntentsImpl( this, ); @@ -1790,6 +1829,16 @@ export class NetworkManagementClient extends coreClient.ServiceClient { networkSecurityGroups: NetworkSecurityGroups; securityRules: SecurityRules; defaultSecurityRules: DefaultSecurityRules; + networkSecurityPerimeters: NetworkSecurityPerimeters; + networkSecurityPerimeterProfiles: NetworkSecurityPerimeterProfiles; + networkSecurityPerimeterAccessRules: NetworkSecurityPerimeterAccessRules; + networkSecurityPerimeterAssociations: NetworkSecurityPerimeterAssociations; + nspAssociationReconcile: NspAssociationReconcile; + networkSecurityPerimeterAssociableResourceTypes: NetworkSecurityPerimeterAssociableResourceTypes; + networkSecurityPerimeterLinks: NetworkSecurityPerimeterLinks; + networkSecurityPerimeterLinkReferences: NetworkSecurityPerimeterLinkReferences; + networkSecurityPerimeterLoggingConfigurations: NetworkSecurityPerimeterLoggingConfigurations; + networkSecurityPerimeterOperationStatuses: NetworkSecurityPerimeterOperationStatuses; reachabilityAnalysisIntents: ReachabilityAnalysisIntents; reachabilityAnalysisRuns: ReachabilityAnalysisRuns; verifierWorkspaces: VerifierWorkspaces; diff --git a/sdk/network/arm-network/src/operations/connectionMonitors.ts b/sdk/network/arm-network/src/operations/connectionMonitors.ts index df82f39b1d60..3151a43a1399 100644 --- a/sdk/network/arm-network/src/operations/connectionMonitors.ts +++ b/sdk/network/arm-network/src/operations/connectionMonitors.ts @@ -32,9 +32,6 @@ import { ConnectionMonitorsUpdateTagsOptionalParams, ConnectionMonitorsUpdateTagsResponse, ConnectionMonitorsStopOptionalParams, - ConnectionMonitorsStartOptionalParams, - ConnectionMonitorsQueryOptionalParams, - ConnectionMonitorsQueryResponse, } from "../models/index.js"; /// @@ -448,198 +445,6 @@ export class ConnectionMonitorsImpl implements ConnectionMonitors { return poller.pollUntilDone(); } - /** - * Starts the specified connection monitor. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name of the connection monitor. - * @param options The options parameters. - */ - async beginStart( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsStartOptionalParams, - ): Promise, void>> { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = 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 = createLroSpec({ - sendOperationFn, - args: { - resourceGroupName, - networkWatcherName, - connectionMonitorName, - options, - }, - spec: startOperationSpec, - }); - const poller = await createHttpPoller>(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - resourceLocationConfig: "location", - }); - await poller.poll(); - return poller; - } - - /** - * Starts the specified connection monitor. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name of the connection monitor. - * @param options The options parameters. - */ - async beginStartAndWait( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsStartOptionalParams, - ): Promise { - const poller = await this.beginStart( - resourceGroupName, - networkWatcherName, - connectionMonitorName, - options, - ); - return poller.pollUntilDone(); - } - - /** - * Query a snapshot of the most recent connection states. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name given to the connection monitor. - * @param options The options parameters. - */ - async beginQuery( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsQueryOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ConnectionMonitorsQueryResponse - > - > { - const directSendOperation = async ( - args: coreClient.OperationArguments, - spec: coreClient.OperationSpec, - ): Promise => { - return this.client.sendOperationRequest(args, spec); - }; - const sendOperationFn = 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 = createLroSpec({ - sendOperationFn, - args: { - resourceGroupName, - networkWatcherName, - connectionMonitorName, - options, - }, - spec: queryOperationSpec, - }); - const poller = await createHttpPoller< - ConnectionMonitorsQueryResponse, - OperationState - >(lro, { - restoreFrom: options?.resumeFrom, - intervalInMs: options?.updateIntervalInMs, - resourceLocationConfig: "location", - }); - await poller.poll(); - return poller; - } - - /** - * Query a snapshot of the most recent connection states. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name given to the connection monitor. - * @param options The options parameters. - */ - async beginQueryAndWait( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsQueryOptionalParams, - ): Promise { - const poller = await this.beginQuery( - resourceGroupName, - networkWatcherName, - connectionMonitorName, - options, - ); - return poller.pollUntilDone(); - } - /** * Lists all connection monitors for the specified Network Watcher. * @param resourceGroupName The name of the resource group containing Network Watcher. @@ -680,7 +485,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters61, + requestBody: Parameters.parameters69, queryParameters: [Parameters.apiVersion, Parameters.migrate], urlParameters: [ Parameters.$host, @@ -785,60 +590,6 @@ const stopOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer, }; -const startOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", - httpMethod: "POST", - responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.resourceGroupName, - Parameters.subscriptionId, - Parameters.networkWatcherName, - Parameters.connectionMonitorName, - ], - headerParameters: [Parameters.accept], - serializer, -}; -const queryOperationSpec: coreClient.OperationSpec = { - path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ConnectionMonitorQueryResult, - }, - 201: { - bodyMapper: Mappers.ConnectionMonitorQueryResult, - }, - 202: { - bodyMapper: Mappers.ConnectionMonitorQueryResult, - }, - 204: { - bodyMapper: Mappers.ConnectionMonitorQueryResult, - }, - default: { - bodyMapper: Mappers.ErrorResponse, - }, - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.resourceGroupName, - Parameters.subscriptionId, - Parameters.networkWatcherName, - Parameters.connectionMonitorName, - ], - headerParameters: [Parameters.accept], - serializer, -}; const listOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operations/flowLogs.ts b/sdk/network/arm-network/src/operations/flowLogs.ts index f7d43ceb8d56..5785ca66fcb0 100644 --- a/sdk/network/arm-network/src/operations/flowLogs.ts +++ b/sdk/network/arm-network/src/operations/flowLogs.ts @@ -426,7 +426,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters62, + requestBody: Parameters.parameters70, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts b/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts index 757d2d07aba4..416bd1db7b15 100644 --- a/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts +++ b/sdk/network/arm-network/src/operations/inboundSecurityRuleOperations.ts @@ -194,7 +194,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters46, + requestBody: Parameters.parameters54, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/index.ts b/sdk/network/arm-network/src/operations/index.ts index 59b71004b6b2..c2d88c9219b9 100644 --- a/sdk/network/arm-network/src/operations/index.ts +++ b/sdk/network/arm-network/src/operations/index.ts @@ -86,6 +86,16 @@ export * from "./networkProfiles.js"; export * from "./networkSecurityGroups.js"; export * from "./securityRules.js"; export * from "./defaultSecurityRules.js"; +export * from "./networkSecurityPerimeters.js"; +export * from "./networkSecurityPerimeterProfiles.js"; +export * from "./networkSecurityPerimeterAccessRules.js"; +export * from "./networkSecurityPerimeterAssociations.js"; +export * from "./nspAssociationReconcile.js"; +export * from "./networkSecurityPerimeterAssociableResourceTypes.js"; +export * from "./networkSecurityPerimeterLinks.js"; +export * from "./networkSecurityPerimeterLinkReferences.js"; +export * from "./networkSecurityPerimeterLoggingConfigurations.js"; +export * from "./networkSecurityPerimeterOperationStatuses.js"; export * from "./reachabilityAnalysisIntents.js"; export * from "./reachabilityAnalysisRuns.js"; export * from "./verifierWorkspaces.js"; diff --git a/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts b/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts index b80338065780..448a19be596f 100644 --- a/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts +++ b/sdk/network/arm-network/src/operations/loadBalancerLoadBalancingRules.ts @@ -346,8 +346,8 @@ const healthOperationSpec: coreClient.OperationSpec = { urlParameters: [ Parameters.$host, Parameters.subscriptionId, - Parameters.groupName1, - Parameters.loadBalancerName1, + Parameters.groupName2, + Parameters.loadBalancerName2, Parameters.loadBalancingRuleName1, ], headerParameters: [Parameters.accept], diff --git a/sdk/network/arm-network/src/operations/localNetworkGateways.ts b/sdk/network/arm-network/src/operations/localNetworkGateways.ts index 164a573139c0..6fce9c04cd0e 100644 --- a/sdk/network/arm-network/src/operations/localNetworkGateways.ts +++ b/sdk/network/arm-network/src/operations/localNetworkGateways.ts @@ -378,7 +378,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters81, + requestBody: Parameters.parameters89, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterAccessRules.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAccessRules.ts new file mode 100644 index 000000000000..83ded1095226 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAccessRules.ts @@ -0,0 +1,449 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterAccessRules } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + NspAccessRule, + NetworkSecurityPerimeterAccessRulesListNextOptionalParams, + NetworkSecurityPerimeterAccessRulesListOptionalParams, + NetworkSecurityPerimeterAccessRulesListResponse, + NetworkSecurityPerimeterAccessRulesGetOptionalParams, + NetworkSecurityPerimeterAccessRulesGetResponse, + NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterAccessRulesCreateOrUpdateResponse, + NetworkSecurityPerimeterAccessRulesDeleteOptionalParams, + NetworkSecurityPerimeterAccessRulesReconcileOptionalParams, + NetworkSecurityPerimeterAccessRulesReconcileResponse, + NetworkSecurityPerimeterAccessRulesListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterAccessRules operations. */ +export class NetworkSecurityPerimeterAccessRulesImpl + implements NetworkSecurityPerimeterAccessRules +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterAccessRules class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP access rules in the specified NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterAccessRulesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + profileName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + profileName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterAccessRulesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterAccessRulesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + profileName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + profileName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterAccessRulesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + profileName, + options, + )) { + yield* page; + } + } + + /** + * Gets the specified NSP access rule by name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + options?: NetworkSecurityPerimeterAccessRulesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + accessRuleName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates a network access rule. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param parameters Parameters that hold the NspAccessRule resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + parameters: NspAccessRule, + options?: NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + accessRuleName, + parameters, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes an NSP access rule. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + options?: NetworkSecurityPerimeterAccessRulesDeleteOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + accessRuleName, + options, + }, + deleteOperationSpec, + ); + } + + /** + * Lists the NSP access rules in the specified NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterAccessRulesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, profileName, options }, + listOperationSpec, + ); + } + + /** + * Reconcile NSP access rules + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param parameters Parameters for NSP access rule reconcile + * @param options The options parameters. + */ + reconcile( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + parameters: Record, + options?: NetworkSecurityPerimeterAccessRulesReconcileOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + accessRuleName, + parameters, + options, + }, + reconcileOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + nextLink: string, + options?: NetworkSecurityPerimeterAccessRulesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAccessRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + Parameters.accessRuleName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NspAccessRule, + }, + 201: { + bodyMapper: Mappers.NspAccessRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters47, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + Parameters.accessRuleName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + Parameters.accessRuleName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAccessRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const reconcileOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}/reconcile", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } }, + }, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters48, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + Parameters.accessRuleName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAccessRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociableResourceTypes.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociableResourceTypes.ts new file mode 100644 index 000000000000..22329050f563 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociableResourceTypes.ts @@ -0,0 +1,173 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterAssociableResourceTypes } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + PerimeterAssociableResource, + NetworkSecurityPerimeterAssociableResourceTypesListNextOptionalParams, + NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + NetworkSecurityPerimeterAssociableResourceTypesListResponse, + NetworkSecurityPerimeterAssociableResourceTypesListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterAssociableResourceTypes operations. */ +export class NetworkSecurityPerimeterAssociableResourceTypesImpl + implements NetworkSecurityPerimeterAssociableResourceTypes +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterAssociableResourceTypes class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets the list of resources that are onboarded with NSP. These resources can be associated with a + * network security perimeter + * @param location The location of network security perimeter. + * @param options The options parameters. + */ + public list( + location: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(location, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(location, options, settings); + }, + }; + } + + private async *listPagingPage( + location: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterAssociableResourceTypesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(location, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(location, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + location: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(location, options)) { + yield* page; + } + } + + /** + * Gets the list of resources that are onboarded with NSP. These resources can be associated with a + * network security perimeter + * @param location The location of network security perimeter. + * @param options The options parameters. + */ + private _list( + location: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { location, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param location The location of network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + location: string, + nextLink: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { location, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PerimeterAssociableResourcesListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PerimeterAssociableResourcesListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.location, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociations.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociations.ts new file mode 100644 index 000000000000..7252133b7849 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterAssociations.ts @@ -0,0 +1,518 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterAssociations } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl.js"; +import { + NspAssociation, + NetworkSecurityPerimeterAssociationsListNextOptionalParams, + NetworkSecurityPerimeterAssociationsListOptionalParams, + NetworkSecurityPerimeterAssociationsListResponse, + NetworkSecurityPerimeterAssociationsGetOptionalParams, + NetworkSecurityPerimeterAssociationsGetResponse, + NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse, + NetworkSecurityPerimeterAssociationsDeleteOptionalParams, + NetworkSecurityPerimeterAssociationsListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterAssociations operations. */ +export class NetworkSecurityPerimeterAssociationsImpl + implements NetworkSecurityPerimeterAssociations +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterAssociations class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP resource associations. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterAssociationsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterAssociationsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterAssociationsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterAssociationsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + )) { + yield* page; + } + } + + /** + * Gets the specified NSP association by name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + associationName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates a NSP resource association. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters that hold the NspAssociation resource to be created/updated. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: NspAssociation, + options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + networkSecurityPerimeterName, + associationName, + parameters, + options, + }, + spec: createOrUpdateOperationSpec, + }); + const poller = await createHttpPoller< + NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "azure-async-operation", + }); + await poller.poll(); + return poller; + } + + /** + * Creates or updates a NSP resource association. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters that hold the NspAssociation resource to be created/updated. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: NspAssociation, + options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + networkSecurityPerimeterName, + associationName, + parameters, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Deletes an NSP association resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams, + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + networkSecurityPerimeterName, + associationName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "azure-async-operation", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes an NSP association resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkSecurityPerimeterName, + associationName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Lists the NSP resource associations. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterAssociationsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + nextLink: string, + options?: NetworkSecurityPerimeterAssociationsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAssociation, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.associationName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NspAssociation, + }, + 201: { + bodyMapper: Mappers.NspAssociation, + }, + 202: { + bodyMapper: Mappers.NspAssociation, + }, + 204: { + bodyMapper: Mappers.NspAssociation, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters49, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.associationName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.associationName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAssociationsListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspAssociationsListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinkReferences.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinkReferences.ts new file mode 100644 index 000000000000..80013f0b2013 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinkReferences.ts @@ -0,0 +1,377 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterLinkReferences } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl.js"; +import { + NspLinkReference, + NetworkSecurityPerimeterLinkReferencesListNextOptionalParams, + NetworkSecurityPerimeterLinkReferencesListOptionalParams, + NetworkSecurityPerimeterLinkReferencesListResponse, + NetworkSecurityPerimeterLinkReferencesGetOptionalParams, + NetworkSecurityPerimeterLinkReferencesGetResponse, + NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, + NetworkSecurityPerimeterLinkReferencesListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterLinkReferences operations. */ +export class NetworkSecurityPerimeterLinkReferencesImpl + implements NetworkSecurityPerimeterLinkReferences +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterLinkReferences class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP LinkReference resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterLinkReferencesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + )) { + yield* page; + } + } + + /** + * Gets the specified NSP linkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + linkReferenceName, + options, + }, + getOperationSpec, + ); + } + + /** + * Deletes an NSP LinkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + networkSecurityPerimeterName, + linkReferenceName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes an NSP LinkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkSecurityPerimeterName, + linkReferenceName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Lists the NSP LinkReference resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + nextLink: string, + options?: NetworkSecurityPerimeterLinkReferencesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLinkReference, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.linkReferenceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences/{linkReferenceName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.linkReferenceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/linkReferences", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLinkReferenceListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLinkReferenceListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinks.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinks.ts new file mode 100644 index 000000000000..410cbebe62cd --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLinks.ts @@ -0,0 +1,428 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterLinks } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl.js"; +import { + NspLink, + NetworkSecurityPerimeterLinksListNextOptionalParams, + NetworkSecurityPerimeterLinksListOptionalParams, + NetworkSecurityPerimeterLinksListResponse, + NetworkSecurityPerimeterLinksGetOptionalParams, + NetworkSecurityPerimeterLinksGetResponse, + NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterLinksCreateOrUpdateResponse, + NetworkSecurityPerimeterLinksDeleteOptionalParams, + NetworkSecurityPerimeterLinksListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterLinks operations. */ +export class NetworkSecurityPerimeterLinksImpl + implements NetworkSecurityPerimeterLinks +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterLinks class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP Link resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinksListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinksListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterLinksListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinksListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + )) { + yield* page; + } + } + + /** + * Gets the specified NSP link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, linkName, options }, + getOperationSpec, + ); + } + + /** + * Creates or updates NSP link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param parameters Parameters that hold the NspLink resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + parameters: NspLink, + options?: NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + linkName, + parameters, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes an NSP Link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksDeleteOptionalParams, + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + networkSecurityPerimeterName, + linkName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes an NSP Link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkSecurityPerimeterName, + linkName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Lists the NSP Link resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinksListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + nextLink: string, + options?: NetworkSecurityPerimeterLinksListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLink, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.linkName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NspLink, + }, + 201: { + bodyMapper: Mappers.NspLink, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters50, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.linkName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links/{linkName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.linkName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/links", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLinkListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLinkListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterLoggingConfigurations.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLoggingConfigurations.ts new file mode 100644 index 000000000000..41bb1c562e63 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterLoggingConfigurations.ts @@ -0,0 +1,356 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterLoggingConfigurations } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + NspLoggingConfiguration, + NetworkSecurityPerimeterLoggingConfigurationsListNextOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsListResponse, + NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsGetResponse, + NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateResponse, + NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterLoggingConfigurations operations. */ +export class NetworkSecurityPerimeterLoggingConfigurationsImpl + implements NetworkSecurityPerimeterLoggingConfigurations +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterLoggingConfigurations class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterLoggingConfigurationsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + )) { + yield* page; + } + } + + /** + * Gets the NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + loggingConfigurationName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param parameters Parameters that hold the NspLoggingConfiguration to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + parameters: NspLoggingConfiguration, + options?: NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + loggingConfigurationName, + parameters, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes an NSP Logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + loggingConfigurationName, + options, + }, + deleteOperationSpec, + ); + } + + /** + * Lists the NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + nextLink: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/loggingConfigurations/{loggingConfigurationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLoggingConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.loggingConfigurationName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/loggingConfigurations/{loggingConfigurationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NspLoggingConfiguration, + }, + 201: { + bodyMapper: Mappers.NspLoggingConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters51, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.loggingConfigurationName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/loggingConfigurations/{loggingConfigurationName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.loggingConfigurationName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/loggingConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLoggingConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspLoggingConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterOperationStatuses.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterOperationStatuses.ts new file mode 100644 index 000000000000..e93a2dbc5cd4 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterOperationStatuses.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 { NetworkSecurityPerimeterOperationStatuses } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + NetworkSecurityPerimeterOperationStatusesGetOptionalParams, + NetworkSecurityPerimeterOperationStatusesGetResponse, +} from "../models/index.js"; + +/** Class containing NetworkSecurityPerimeterOperationStatuses operations. */ +export class NetworkSecurityPerimeterOperationStatusesImpl + implements NetworkSecurityPerimeterOperationStatuses +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterOperationStatuses class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets the operation status for the given operation id. + * @param location The location of network security perimeter. + * @param operationId The operation id of the async operation. + * @param options The options parameters. + */ + get( + location: string, + operationId: string, + options?: NetworkSecurityPerimeterOperationStatusesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { location, operationId, options }, + getOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/networkSecurityPerimeterOperationStatuses/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationStatusResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.location, + Parameters.operationId, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeterProfiles.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeterProfiles.ts new file mode 100644 index 000000000000..a1ac218104e2 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeterProfiles.ts @@ -0,0 +1,347 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeterProfiles } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + NspProfile, + NetworkSecurityPerimeterProfilesListNextOptionalParams, + NetworkSecurityPerimeterProfilesListOptionalParams, + NetworkSecurityPerimeterProfilesListResponse, + NetworkSecurityPerimeterProfilesGetOptionalParams, + NetworkSecurityPerimeterProfilesGetResponse, + NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterProfilesCreateOrUpdateResponse, + NetworkSecurityPerimeterProfilesDeleteOptionalParams, + NetworkSecurityPerimeterProfilesListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeterProfiles operations. */ +export class NetworkSecurityPerimeterProfilesImpl + implements NetworkSecurityPerimeterProfiles +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeterProfiles class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists the NSP profiles in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterProfilesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterProfilesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimeterProfilesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkSecurityPerimeterName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterProfilesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkSecurityPerimeterName, + options, + )) { + yield* page; + } + } + + /** + * Gets the specified NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterProfilesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, profileName, options }, + getOperationSpec, + ); + } + + /** + * Creates or updates a network profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param parameters Parameters that hold the NspProfile resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + parameters: NspProfile, + options?: NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + profileName, + parameters, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes an NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterProfilesDeleteOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, profileName, options }, + deleteOperationSpec, + ); + } + + /** + * Lists the NSP profiles in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterProfilesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + listOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkSecurityPerimeterName: string, + nextLink: string, + options?: NetworkSecurityPerimeterProfilesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspProfile, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NspProfile, + }, + 201: { + bodyMapper: Mappers.NspProfile, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters46, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.profileName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspProfileListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NspProfileListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkSecurityPerimeters.ts b/sdk/network/arm-network/src/operations/networkSecurityPerimeters.ts new file mode 100644 index 000000000000..bc7e1a35a491 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkSecurityPerimeters.ts @@ -0,0 +1,547 @@ +/* + * 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, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper.js"; +import { NetworkSecurityPerimeters } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl.js"; +import { + NetworkSecurityPerimeter, + NetworkSecurityPerimetersListBySubscriptionNextOptionalParams, + NetworkSecurityPerimetersListBySubscriptionOptionalParams, + NetworkSecurityPerimetersListBySubscriptionResponse, + NetworkSecurityPerimetersListNextOptionalParams, + NetworkSecurityPerimetersListOptionalParams, + NetworkSecurityPerimetersListResponse, + NetworkSecurityPerimetersGetOptionalParams, + NetworkSecurityPerimetersGetResponse, + NetworkSecurityPerimetersCreateOrUpdateOptionalParams, + NetworkSecurityPerimetersCreateOrUpdateResponse, + NetworkSecurityPerimetersDeleteOptionalParams, + UpdateTagsRequest, + NetworkSecurityPerimetersPatchOptionalParams, + NetworkSecurityPerimetersPatchResponse, + NetworkSecurityPerimetersListBySubscriptionNextResponse, + NetworkSecurityPerimetersListNextResponse, +} from "../models/index.js"; + +/// +/** Class containing NetworkSecurityPerimeters operations. */ +export class NetworkSecurityPerimetersImpl + implements NetworkSecurityPerimeters +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkSecurityPerimeters class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * List all network security perimeters in a subscription. + * @param options The options parameters. + */ + public listBySubscription( + options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listBySubscriptionPagingPage(options, settings); + }, + }; + } + + private async *listBySubscriptionPagingPage( + options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimetersListBySubscriptionResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listBySubscription(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listBySubscriptionPagingAll( + options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * List network security perimeters in a resource group. + * @param resourceGroupName The name of the resource group. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + options?: NetworkSecurityPerimetersListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(resourceGroupName, options, settings); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + options?: NetworkSecurityPerimetersListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkSecurityPerimetersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + options?: NetworkSecurityPerimetersListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(resourceGroupName, options)) { + yield* page; + } + } + + /** + * Gets the specified network security perimeter by the name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, options }, + getOperationSpec, + ); + } + + /** + * Creates or updates a Network Security Perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param parameters Parameter supplied to create or update the network security perimeter. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + parameters: NetworkSecurityPerimeter, + options?: NetworkSecurityPerimetersCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, parameters, options }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersDeleteOptionalParams, + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, networkSecurityPerimeterName, options }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "azure-async-operation", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkSecurityPerimeterName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Patch Tags for a Network Security Perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param parameters Parameter supplied to the network security perimeter. + * @param options The options parameters. + */ + patch( + resourceGroupName: string, + networkSecurityPerimeterName: string, + parameters: UpdateTagsRequest, + options?: NetworkSecurityPerimetersPatchOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkSecurityPerimeterName, parameters, options }, + patchOperationSpec, + ); + } + + /** + * List all network security perimeters in a subscription. + * @param options The options parameters. + */ + private _listBySubscription( + options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec, + ); + } + + /** + * List network security perimeters in a resource group. + * @param resourceGroupName The name of the resource group. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + options?: NetworkSecurityPerimetersListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listOperationSpec, + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: NetworkSecurityPerimetersListBySubscriptionNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + nextLink: string, + options?: NetworkSecurityPerimetersListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeter, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeter, + }, + 201: { + bodyMapper: Mappers.NetworkSecurityPerimeter, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters44, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const patchOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeter, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters45, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityPerimeters", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer, +}; +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkSecurityPerimeterListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts b/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts index 9a4e94f37cc0..74e323c10ac7 100644 --- a/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts +++ b/sdk/network/arm-network/src/operations/networkVirtualAppliances.ts @@ -37,6 +37,11 @@ import { NetworkVirtualAppliancesCreateOrUpdateResponse, NetworkVirtualAppliancesRestartOptionalParams, NetworkVirtualAppliancesRestartResponse, + NetworkVirtualAppliancesReimageOptionalParams, + NetworkVirtualAppliancesReimageResponse, + NetworkVirtualApplianceBootDiagnosticParameters, + NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + NetworkVirtualAppliancesGetBootDiagnosticLogsResponse, NetworkVirtualAppliancesListByResourceGroupNextResponse, NetworkVirtualAppliancesListNextResponse, } from "../models/index.js"; @@ -485,6 +490,198 @@ export class NetworkVirtualAppliancesImpl implements NetworkVirtualAppliances { return poller.pollUntilDone(); } + /** + * Reimages one VM belonging to the specified Network Virtual Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param options The options parameters. + */ + async beginReimage( + resourceGroupName: string, + networkVirtualApplianceName: string, + options?: NetworkVirtualAppliancesReimageOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkVirtualAppliancesReimageResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, networkVirtualApplianceName, options }, + spec: reimageOperationSpec, + }); + const poller = await createHttpPoller< + NetworkVirtualAppliancesReimageResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Reimages one VM belonging to the specified Network Virtual Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param options The options parameters. + */ + async beginReimageAndWait( + resourceGroupName: string, + networkVirtualApplianceName: string, + options?: NetworkVirtualAppliancesReimageOptionalParams, + ): Promise { + const poller = await this.beginReimage( + resourceGroupName, + networkVirtualApplianceName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Retrieves the boot diagnostic logs for a VM instance belonging to the specified Network Virtual + * Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param request Parameters supplied to retrieve boot diagnostic logs for a NVA VM instance + * @param options The options parameters. + */ + async beginGetBootDiagnosticLogs( + resourceGroupName: string, + networkVirtualApplianceName: string, + request: NetworkVirtualApplianceBootDiagnosticParameters, + options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkVirtualAppliancesGetBootDiagnosticLogsResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + networkVirtualApplianceName, + request, + options, + }, + spec: getBootDiagnosticLogsOperationSpec, + }); + const poller = await createHttpPoller< + NetworkVirtualAppliancesGetBootDiagnosticLogsResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Retrieves the boot diagnostic logs for a VM instance belonging to the specified Network Virtual + * Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param request Parameters supplied to retrieve boot diagnostic logs for a NVA VM instance + * @param options The options parameters. + */ + async beginGetBootDiagnosticLogsAndWait( + resourceGroupName: string, + networkVirtualApplianceName: string, + request: NetworkVirtualApplianceBootDiagnosticParameters, + options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + ): Promise { + const poller = await this.beginGetBootDiagnosticLogs( + resourceGroupName, + networkVirtualApplianceName, + request, + options, + ); + return poller.pollUntilDone(); + } + /** * Lists all Network Virtual Appliances in a resource group. * @param resourceGroupName The name of the resource group. @@ -631,7 +828,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters44, + requestBody: Parameters.parameters52, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -675,6 +872,70 @@ const restartOperationSpec: coreClient.OperationSpec = { mediaType: "json", serializer, }; +const reimageOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/reimage", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceIds, + }, + 201: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceIds, + }, + 202: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceIds, + }, + 204: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceIds, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.networkVirtualApplianceInstanceIds, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkVirtualApplianceName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const getBootDiagnosticLogsOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances/{networkVirtualApplianceName}/getBootDiagnosticLogs", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceId, + }, + 201: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceId, + }, + 202: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceId, + }, + 204: { + bodyMapper: Mappers.NetworkVirtualApplianceInstanceId, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.request1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkVirtualApplianceName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; const listByResourceGroupOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkVirtualAppliances", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operations/networkWatchers.ts b/sdk/network/arm-network/src/operations/networkWatchers.ts index 9c6cafc11fa4..9b420fb01c30 100644 --- a/sdk/network/arm-network/src/operations/networkWatchers.ts +++ b/sdk/network/arm-network/src/operations/networkWatchers.ts @@ -1428,7 +1428,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters47, + requestBody: Parameters.parameters55, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1553,7 +1553,7 @@ const getTopologyOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters48, + requestBody: Parameters.parameters56, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1585,7 +1585,7 @@ const verifyIPFlowOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters49, + requestBody: Parameters.parameters57, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1617,7 +1617,7 @@ const getNextHopOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters50, + requestBody: Parameters.parameters58, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1649,7 +1649,7 @@ const getVMSecurityRulesOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters51, + requestBody: Parameters.parameters59, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1681,7 +1681,7 @@ const getTroubleshootingOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters52, + requestBody: Parameters.parameters60, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1713,7 +1713,7 @@ const getTroubleshootingResultOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters53, + requestBody: Parameters.parameters61, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1745,7 +1745,7 @@ const setFlowLogConfigurationOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters54, + requestBody: Parameters.parameters62, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1777,7 +1777,7 @@ const getFlowLogStatusOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters55, + requestBody: Parameters.parameters63, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1809,7 +1809,7 @@ const checkConnectivityOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters56, + requestBody: Parameters.parameters64, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1841,7 +1841,7 @@ const getAzureReachabilityReportOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters57, + requestBody: Parameters.parameters65, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1873,7 +1873,7 @@ const listAvailableProvidersOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters58, + requestBody: Parameters.parameters66, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1906,7 +1906,7 @@ const getNetworkConfigurationDiagnosticOperationSpec: coreClient.OperationSpec = bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters59, + requestBody: Parameters.parameters67, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/nspAssociationReconcile.ts b/sdk/network/arm-network/src/operations/nspAssociationReconcile.ts new file mode 100644 index 000000000000..1eca57052e74 --- /dev/null +++ b/sdk/network/arm-network/src/operations/nspAssociationReconcile.ts @@ -0,0 +1,86 @@ +/* + * 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 { NspAssociationReconcile } from "../operationsInterfaces/index.js"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers.js"; +import * as Parameters from "../models/parameters.js"; +import { NetworkManagementClient } from "../networkManagementClient.js"; +import { + NspAssociationReconcilePostOptionalParams, + NspAssociationReconcilePostResponse, +} from "../models/index.js"; + +/** Class containing NspAssociationReconcile operations. */ +export class NspAssociationReconcileImpl implements NspAssociationReconcile { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NspAssociationReconcile class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Reconcile NSP association + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters for NSP association reconcile + * @param options The options parameters. + */ + post( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: Record, + options?: NspAssociationReconcilePostOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkSecurityPerimeterName, + associationName, + parameters, + options, + }, + postOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const postOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}/reconcile", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: { + type: { name: "Dictionary", value: { type: { name: "any" } } }, + }, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.parameters48, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkSecurityPerimeterName, + Parameters.associationName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/p2SVpnGateways.ts b/sdk/network/arm-network/src/operations/p2SVpnGateways.ts index 4758cae5245d..46a3bb37e440 100644 --- a/sdk/network/arm-network/src/operations/p2SVpnGateways.ts +++ b/sdk/network/arm-network/src/operations/p2SVpnGateways.ts @@ -1202,7 +1202,7 @@ const generateVpnProfileOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters89, + requestBody: Parameters.parameters97, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1265,7 +1265,7 @@ const getP2SVpnConnectionHealthDetailedOperationSpec: coreClient.OperationSpec = bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.request3, + requestBody: Parameters.request4, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1289,7 +1289,7 @@ const disconnectP2SVpnConnectionsOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.request1, + requestBody: Parameters.request2, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/packetCaptures.ts b/sdk/network/arm-network/src/operations/packetCaptures.ts index c62af975a4de..3b6ec6540cbd 100644 --- a/sdk/network/arm-network/src/operations/packetCaptures.ts +++ b/sdk/network/arm-network/src/operations/packetCaptures.ts @@ -557,7 +557,7 @@ const createOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - requestBody: Parameters.parameters60, + requestBody: Parameters.parameters68, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts b/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts index a40c303758e5..4dce44eb359f 100644 --- a/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts +++ b/sdk/network/arm-network/src/operations/privateDnsZoneGroups.ts @@ -455,7 +455,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters64, + requestBody: Parameters.parameters72, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/privateEndpoints.ts b/sdk/network/arm-network/src/operations/privateEndpoints.ts index 044f8c99f518..3b1cc5ad4a4c 100644 --- a/sdk/network/arm-network/src/operations/privateEndpoints.ts +++ b/sdk/network/arm-network/src/operations/privateEndpoints.ts @@ -485,7 +485,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters63, + requestBody: Parameters.parameters71, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/privateLinkServices.ts b/sdk/network/arm-network/src/operations/privateLinkServices.ts index 3f40bf594736..f7742e429879 100644 --- a/sdk/network/arm-network/src/operations/privateLinkServices.ts +++ b/sdk/network/arm-network/src/operations/privateLinkServices.ts @@ -1179,7 +1179,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters65, + requestBody: Parameters.parameters73, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1260,7 +1260,7 @@ const updatePrivateEndpointConnectionOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters66, + requestBody: Parameters.parameters74, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1338,7 +1338,7 @@ const checkPrivateLinkServiceVisibilityOperationSpec: coreClient.OperationSpec = bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters67, + requestBody: Parameters.parameters75, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1370,7 +1370,7 @@ const checkPrivateLinkServiceVisibilityByResourceGroupOperationSpec: coreClient. bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters67, + requestBody: Parameters.parameters75, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/publicIPPrefixes.ts b/sdk/network/arm-network/src/operations/publicIPPrefixes.ts index 691111455630..94d65f0f6607 100644 --- a/sdk/network/arm-network/src/operations/publicIPPrefixes.ts +++ b/sdk/network/arm-network/src/operations/publicIPPrefixes.ts @@ -504,7 +504,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters68, + requestBody: Parameters.parameters76, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/routeTables.ts b/sdk/network/arm-network/src/operations/routeTables.ts index 0337c29645a9..092da774da7b 100644 --- a/sdk/network/arm-network/src/operations/routeTables.ts +++ b/sdk/network/arm-network/src/operations/routeTables.ts @@ -504,7 +504,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters69, + requestBody: Parameters.parameters77, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/securityPartnerProviders.ts b/sdk/network/arm-network/src/operations/securityPartnerProviders.ts index caa1467b259b..7f86d7b4d39c 100644 --- a/sdk/network/arm-network/src/operations/securityPartnerProviders.ts +++ b/sdk/network/arm-network/src/operations/securityPartnerProviders.ts @@ -516,7 +516,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters70, + requestBody: Parameters.parameters78, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts b/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts index 04987f562969..1e963765140a 100644 --- a/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts +++ b/sdk/network/arm-network/src/operations/serviceEndpointPolicies.ts @@ -516,7 +516,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters71, + requestBody: Parameters.parameters79, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualApplianceSites.ts b/sdk/network/arm-network/src/operations/virtualApplianceSites.ts index 2cd146a7d9ca..f65db987cc18 100644 --- a/sdk/network/arm-network/src/operations/virtualApplianceSites.ts +++ b/sdk/network/arm-network/src/operations/virtualApplianceSites.ts @@ -452,7 +452,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters45, + requestBody: Parameters.parameters53, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts b/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts index 10222cc3b92e..4de0153d504f 100644 --- a/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts +++ b/sdk/network/arm-network/src/operations/virtualHubBgpConnection.ts @@ -297,7 +297,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters90, + requestBody: Parameters.parameters98, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts b/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts index 4d7622a3bce1..d64d9a44d35d 100644 --- a/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts +++ b/sdk/network/arm-network/src/operations/virtualHubIpConfiguration.ts @@ -418,7 +418,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters91, + requestBody: Parameters.parameters99, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts b/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts index a35862db3b79..6a7510db3226 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkGatewayConnections.ts @@ -1084,7 +1084,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters78, + requestBody: Parameters.parameters86, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1191,7 +1191,7 @@ const setSharedKeyOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters79, + requestBody: Parameters.parameters87, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1264,7 +1264,7 @@ const resetSharedKeyOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters80, + requestBody: Parameters.parameters88, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1296,7 +1296,7 @@ const startPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters76, + requestBody: Parameters.parameters84, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -1328,7 +1328,7 @@ const stopPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters77, + requestBody: Parameters.parameters85, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts b/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts index 17a65e7ffa58..dadc85a2f7d3 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkGateways.ts @@ -54,6 +54,10 @@ import { VirtualNetworkGatewaysGetLearnedRoutesResponse, VirtualNetworkGatewaysGetAdvertisedRoutesOptionalParams, VirtualNetworkGatewaysGetAdvertisedRoutesResponse, + VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + VirtualNetworkGatewaysGetResiliencyInformationResponse, + VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + VirtualNetworkGatewaysGetRoutesInformationResponse, VpnClientIPsecParameters, VirtualNetworkGatewaysSetVpnclientIpsecParametersOptionalParams, VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse, @@ -80,6 +84,11 @@ import { VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse, P2SVpnConnectionRequest, VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + VirtualNetworkGatewayMigrationParameters, + VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, VirtualNetworkGatewaysListNextResponse, VirtualNetworkGatewaysListConnectionsNextResponse, } from "../models/index.js"; @@ -1342,6 +1351,190 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { return poller.pollUntilDone(); } + /** + * This operation retrieves the resiliency information for an Express Route Gateway, including the + * gateway's current resiliency score and recommendations to further improve the score + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetResiliencyInformation( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysGetResiliencyInformationResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, virtualNetworkGatewayName, options }, + spec: getResiliencyInformationOperationSpec, + }); + const poller = await createHttpPoller< + VirtualNetworkGatewaysGetResiliencyInformationResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * This operation retrieves the resiliency information for an Express Route Gateway, including the + * gateway's current resiliency score and recommendations to further improve the score + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetResiliencyInformationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + ): Promise { + const poller = await this.beginGetResiliencyInformation( + resourceGroupName, + virtualNetworkGatewayName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * This operation retrieves the route set information for an Express Route Gateway based on their + * resiliency + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetRoutesInformation( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysGetRoutesInformationResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, virtualNetworkGatewayName, options }, + spec: getRoutesInformationOperationSpec, + }); + const poller = await createHttpPoller< + VirtualNetworkGatewaysGetRoutesInformationResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * This operation retrieves the route set information for an Express Route Gateway based on their + * resiliency + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetRoutesInformationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + ): Promise { + const poller = await this.beginGetRoutesInformation( + resourceGroupName, + virtualNetworkGatewayName, + options, + ); + return poller.pollUntilDone(); + } + /** * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual * network gateway in the specified resource group through Network resource provider. @@ -1983,18 +2176,396 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { async beginStartExpressRouteSiteFailoverSimulation( resourceGroupName: string, virtualNetworkGatewayName: string, - peeringLocation: string, - options?: VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationResponse - > - > { + peeringLocation: string, + options?: VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + virtualNetworkGatewayName, + peeringLocation, + options, + }, + spec: startExpressRouteSiteFailoverSimulationOperationSpec, + }); + const poller = await createHttpPoller< + VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * This operation starts failover simulation on the gateway for the specified peering location + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param peeringLocation Peering location of the test + * @param options The options parameters. + */ + async beginStartExpressRouteSiteFailoverSimulationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + peeringLocation: string, + options?: VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationOptionalParams, + ): Promise { + const poller = await this.beginStartExpressRouteSiteFailoverSimulation( + resourceGroupName, + virtualNetworkGatewayName, + peeringLocation, + options, + ); + return poller.pollUntilDone(); + } + + /** + * This operation stops failover simulation on the gateway for the specified peering location + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param stopParameters Virtual network gateway stop simulation parameters supplied to stop failover + * simulation on gateway. + * @param options The options parameters. + */ + async beginStopExpressRouteSiteFailoverSimulation( + resourceGroupName: string, + virtualNetworkGatewayName: string, + stopParameters: ExpressRouteFailoverStopApiParameters, + options?: VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + virtualNetworkGatewayName, + stopParameters, + options, + }, + spec: stopExpressRouteSiteFailoverSimulationOperationSpec, + }); + const poller = await createHttpPoller< + VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * This operation stops failover simulation on the gateway for the specified peering location + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param stopParameters Virtual network gateway stop simulation parameters supplied to stop failover + * simulation on gateway. + * @param options The options parameters. + */ + async beginStopExpressRouteSiteFailoverSimulationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + stopParameters: ExpressRouteFailoverStopApiParameters, + options?: VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationOptionalParams, + ): Promise { + const poller = await this.beginStopExpressRouteSiteFailoverSimulation( + resourceGroupName, + virtualNetworkGatewayName, + stopParameters, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Get VPN client connection health detail per P2S client connection of the virtual network gateway in + * the specified resource group. + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetVpnclientConnectionHealth( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, virtualNetworkGatewayName, options }, + spec: getVpnclientConnectionHealthOperationSpec, + }); + const poller = await createHttpPoller< + VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Get VPN client connection health detail per P2S client connection of the virtual network gateway in + * the specified resource group. + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + async beginGetVpnclientConnectionHealthAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams, + ): Promise { + const poller = await this.beginGetVpnclientConnectionHealth( + resourceGroupName, + virtualNetworkGatewayName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Disconnect vpn connections of virtual network gateway in the specified resource group. + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param request The parameters are supplied to disconnect vpn connections. + * @param options The options parameters. + */ + async beginDisconnectVirtualNetworkGatewayVpnConnections( + resourceGroupName: string, + virtualNetworkGatewayName: string, + request: P2SVpnConnectionRequest, + options?: VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + ): Promise, void>> { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = 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 = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, virtualNetworkGatewayName, request, options }, + spec: disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Disconnect vpn connections of virtual network gateway in the specified resource group. + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param request The parameters are supplied to disconnect vpn connections. + * @param options The options parameters. + */ + async beginDisconnectVirtualNetworkGatewayVpnConnectionsAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + request: P2SVpnConnectionRequest, + options?: VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + ): Promise { + const poller = + await this.beginDisconnectVirtualNetworkGatewayVpnConnections( + resourceGroupName, + virtualNetworkGatewayName, + request, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Trigger prepare migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param migrationParams Parameters supplied to the Begin Prepare migration on basic vpn gateway + * through Network resource provider. + * @param options The options parameters. + */ + async beginInvokePrepareMigration( + resourceGroupName: string, + virtualNetworkGatewayName: string, + migrationParams: VirtualNetworkGatewayMigrationParameters, + options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec, - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async ( @@ -2034,15 +2605,12 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { args: { resourceGroupName, virtualNetworkGatewayName, - peeringLocation, + migrationParams, options, }, - spec: startExpressRouteSiteFailoverSimulationOperationSpec, + spec: invokePrepareMigrationOperationSpec, }); - const poller = await createHttpPoller< - VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationResponse, - OperationState - >(lro, { + const poller = await createHttpPoller>(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, resourceLocationConfig: "location", @@ -2052,50 +2620,43 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { } /** - * This operation starts failover simulation on the gateway for the specified peering location - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. - * @param peeringLocation Peering location of the test + * Trigger prepare migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param migrationParams Parameters supplied to the Begin Prepare migration on basic vpn gateway + * through Network resource provider. * @param options The options parameters. */ - async beginStartExpressRouteSiteFailoverSimulationAndWait( + async beginInvokePrepareMigrationAndWait( resourceGroupName: string, virtualNetworkGatewayName: string, - peeringLocation: string, - options?: VirtualNetworkGatewaysStartExpressRouteSiteFailoverSimulationOptionalParams, - ): Promise { - const poller = await this.beginStartExpressRouteSiteFailoverSimulation( + migrationParams: VirtualNetworkGatewayMigrationParameters, + options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + ): Promise { + const poller = await this.beginInvokePrepareMigration( resourceGroupName, virtualNetworkGatewayName, - peeringLocation, + migrationParams, options, ); return poller.pollUntilDone(); } /** - * This operation stops failover simulation on the gateway for the specified peering location - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. - * @param stopParameters Virtual network gateway stop simulation parameters supplied to stop failover - * simulation on gateway. + * Trigger execute migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginStopExpressRouteSiteFailoverSimulation( + async beginInvokeExecuteMigration( resourceGroupName: string, virtualNetworkGatewayName: string, - stopParameters: ExpressRouteFailoverStopApiParameters, - options?: VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationResponse - > - > { + options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec, - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async ( @@ -2132,18 +2693,10 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { const lro = createLroSpec({ sendOperationFn, - args: { - resourceGroupName, - virtualNetworkGatewayName, - stopParameters, - options, - }, - spec: stopExpressRouteSiteFailoverSimulationOperationSpec, + args: { resourceGroupName, virtualNetworkGatewayName, options }, + spec: invokeExecuteMigrationOperationSpec, }); - const poller = await createHttpPoller< - VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationResponse, - OperationState - >(lro, { + const poller = await createHttpPoller>(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, resourceLocationConfig: "location", @@ -2153,49 +2706,39 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { } /** - * This operation stops failover simulation on the gateway for the specified peering location - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. - * @param stopParameters Virtual network gateway stop simulation parameters supplied to stop failover - * simulation on gateway. + * Trigger execute migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginStopExpressRouteSiteFailoverSimulationAndWait( + async beginInvokeExecuteMigrationAndWait( resourceGroupName: string, virtualNetworkGatewayName: string, - stopParameters: ExpressRouteFailoverStopApiParameters, - options?: VirtualNetworkGatewaysStopExpressRouteSiteFailoverSimulationOptionalParams, - ): Promise { - const poller = await this.beginStopExpressRouteSiteFailoverSimulation( + options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + ): Promise { + const poller = await this.beginInvokeExecuteMigration( resourceGroupName, virtualNetworkGatewayName, - stopParameters, options, ); return poller.pollUntilDone(); } /** - * Get VPN client connection health detail per P2S client connection of the virtual network gateway in - * the specified resource group. - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. + * Trigger commit migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginGetVpnclientConnectionHealth( + async beginInvokeCommitMigration( resourceGroupName: string, virtualNetworkGatewayName: string, - options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse - > - > { + options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec, - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperationFn = async ( @@ -2233,12 +2776,9 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { const lro = createLroSpec({ sendOperationFn, args: { resourceGroupName, virtualNetworkGatewayName, options }, - spec: getVpnclientConnectionHealthOperationSpec, + spec: invokeCommitMigrationOperationSpec, }); - const poller = await createHttpPoller< - VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse, - OperationState - >(lro, { + const poller = await createHttpPoller>(lro, { restoreFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs, resourceLocationConfig: "location", @@ -2248,18 +2788,17 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { } /** - * Get VPN client connection health detail per P2S client connection of the virtual network gateway in - * the specified resource group. - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. + * Trigger commit migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginGetVpnclientConnectionHealthAndWait( + async beginInvokeCommitMigrationAndWait( resourceGroupName: string, virtualNetworkGatewayName: string, - options?: VirtualNetworkGatewaysGetVpnclientConnectionHealthOptionalParams, - ): Promise { - const poller = await this.beginGetVpnclientConnectionHealth( + options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + ): Promise { + const poller = await this.beginInvokeCommitMigration( resourceGroupName, virtualNetworkGatewayName, options, @@ -2268,17 +2807,15 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { } /** - * Disconnect vpn connections of virtual network gateway in the specified resource group. - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. - * @param request The parameters are supplied to disconnect vpn connections. + * Trigger abort migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginDisconnectVirtualNetworkGatewayVpnConnections( + async beginInvokeAbortMigration( resourceGroupName: string, virtualNetworkGatewayName: string, - request: P2SVpnConnectionRequest, - options?: VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, ): Promise, void>> { const directSendOperation = async ( args: coreClient.OperationArguments, @@ -2320,8 +2857,8 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { const lro = createLroSpec({ sendOperationFn, - args: { resourceGroupName, virtualNetworkGatewayName, request, options }, - spec: disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec, + args: { resourceGroupName, virtualNetworkGatewayName, options }, + spec: invokeAbortMigrationOperationSpec, }); const poller = await createHttpPoller>(lro, { restoreFrom: options?.resumeFrom, @@ -2333,25 +2870,21 @@ export class VirtualNetworkGatewaysImpl implements VirtualNetworkGateways { } /** - * Disconnect vpn connections of virtual network gateway in the specified resource group. - * @param resourceGroupName The name of the resource group. - * @param virtualNetworkGatewayName The name of the virtual network gateway. - * @param request The parameters are supplied to disconnect vpn connections. + * Trigger abort migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. * @param options The options parameters. */ - async beginDisconnectVirtualNetworkGatewayVpnConnectionsAndWait( + async beginInvokeAbortMigrationAndWait( resourceGroupName: string, virtualNetworkGatewayName: string, - request: P2SVpnConnectionRequest, - options?: VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, ): Promise { - const poller = - await this.beginDisconnectVirtualNetworkGatewayVpnConnections( - resourceGroupName, - virtualNetworkGatewayName, - request, - options, - ); + const poller = await this.beginInvokeAbortMigration( + resourceGroupName, + virtualNetworkGatewayName, + options, + ); return poller.pollUntilDone(); } @@ -2414,7 +2947,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters73, + requestBody: Parameters.parameters81, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -2614,7 +3147,7 @@ const generatevpnclientpackageOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters74, + requestBody: Parameters.parameters82, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -2646,7 +3179,7 @@ const generateVpnProfileOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters74, + requestBody: Parameters.parameters82, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -2799,6 +3332,66 @@ const getAdvertisedRoutesOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer, }; +const getResiliencyInformationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getResiliencyInformation", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.GatewayResiliencyInformation, + }, + 201: { + bodyMapper: Mappers.GatewayResiliencyInformation, + }, + 202: { + bodyMapper: Mappers.GatewayResiliencyInformation, + }, + 204: { + bodyMapper: Mappers.GatewayResiliencyInformation, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.attemptRefresh], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getRoutesInformationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getRoutesInformation", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.GatewayRouteSetsInformation, + }, + 201: { + bodyMapper: Mappers.GatewayRouteSetsInformation, + }, + 202: { + bodyMapper: Mappers.GatewayRouteSetsInformation, + }, + 204: { + bodyMapper: Mappers.GatewayRouteSetsInformation, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.attemptRefresh], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept], + serializer, +}; const setVpnclientIpsecParametersOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", httpMethod: "POST", @@ -2872,7 +3465,7 @@ const vpnDeviceConfigurationScriptOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters75, + requestBody: Parameters.parameters83, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -2904,7 +3497,7 @@ const startPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters76, + requestBody: Parameters.parameters84, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -2936,7 +3529,7 @@ const stopPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters77, + requestBody: Parameters.parameters85, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -3203,7 +3796,7 @@ const disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec: coreClient.Ope bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.request1, + requestBody: Parameters.request2, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -3215,6 +3808,96 @@ const disconnectVirtualNetworkGatewayVpnConnectionsOperationSpec: coreClient.Ope mediaType: "json", serializer, }; +const invokePrepareMigrationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/prepareMigration", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.migrationParams, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const invokeExecuteMigrationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/executeMigration", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const invokeCommitMigrationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/commitMigration", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const invokeAbortMigrationOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/abortMigration", + httpMethod: "POST", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.virtualNetworkGatewayName, + ], + headerParameters: [Parameters.accept], + serializer, +}; const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts b/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts index c889abcbf76d..2c716a1b285a 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworkTaps.ts @@ -507,7 +507,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters82, + requestBody: Parameters.parameters90, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualNetworks.ts b/sdk/network/arm-network/src/operations/virtualNetworks.ts index bc4dddd746fc..ff66ca4d6182 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworks.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworks.ts @@ -831,7 +831,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters72, + requestBody: Parameters.parameters80, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts b/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts index 2e96b0abaf03..183a606c36f8 100644 --- a/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts +++ b/sdk/network/arm-network/src/operations/virtualRouterPeerings.ts @@ -441,7 +441,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters84, + requestBody: Parameters.parameters92, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/virtualRouters.ts b/sdk/network/arm-network/src/operations/virtualRouters.ts index 70cf95cc7f1b..46900f98e29f 100644 --- a/sdk/network/arm-network/src/operations/virtualRouters.ts +++ b/sdk/network/arm-network/src/operations/virtualRouters.ts @@ -489,7 +489,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorModel, }, }, - requestBody: Parameters.parameters83, + requestBody: Parameters.parameters91, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/vpnConnections.ts b/sdk/network/arm-network/src/operations/vpnConnections.ts index a771bd26f39d..adfa71f05c03 100644 --- a/sdk/network/arm-network/src/operations/vpnConnections.ts +++ b/sdk/network/arm-network/src/operations/vpnConnections.ts @@ -674,7 +674,7 @@ const startPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters87, + requestBody: Parameters.parameters95, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -707,7 +707,7 @@ const stopPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters88, + requestBody: Parameters.parameters96, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/vpnGateways.ts b/sdk/network/arm-network/src/operations/vpnGateways.ts index 31233bd512f1..f904825d5cd0 100644 --- a/sdk/network/arm-network/src/operations/vpnGateways.ts +++ b/sdk/network/arm-network/src/operations/vpnGateways.ts @@ -957,7 +957,7 @@ const startPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters85, + requestBody: Parameters.parameters93, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, @@ -989,7 +989,7 @@ const stopPacketCaptureOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters86, + requestBody: Parameters.parameters94, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts b/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts index df64414d29fa..80ce2fc650eb 100644 --- a/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts +++ b/sdk/network/arm-network/src/operations/vpnSitesConfiguration.ts @@ -136,7 +136,7 @@ const downloadOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.request2, + requestBody: Parameters.request3, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts b/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts index 01e035030df4..377fe3867d75 100644 --- a/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts +++ b/sdk/network/arm-network/src/operations/webApplicationFirewallPolicies.ts @@ -416,7 +416,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError, }, }, - requestBody: Parameters.parameters92, + requestBody: Parameters.parameters100, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operationsInterfaces/connectionMonitors.ts b/sdk/network/arm-network/src/operationsInterfaces/connectionMonitors.ts index f7e77d1ad437..156b3f9276b5 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/connectionMonitors.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/connectionMonitors.ts @@ -21,9 +21,6 @@ import { ConnectionMonitorsUpdateTagsOptionalParams, ConnectionMonitorsUpdateTagsResponse, ConnectionMonitorsStopOptionalParams, - ConnectionMonitorsStartOptionalParams, - ConnectionMonitorsQueryOptionalParams, - ConnectionMonitorsQueryResponse, } from "../models/index.js"; /// @@ -155,61 +152,4 @@ export interface ConnectionMonitors { connectionMonitorName: string, options?: ConnectionMonitorsStopOptionalParams, ): Promise; - /** - * Starts the specified connection monitor. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name of the connection monitor. - * @param options The options parameters. - */ - beginStart( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsStartOptionalParams, - ): Promise, void>>; - /** - * Starts the specified connection monitor. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name of the connection monitor. - * @param options The options parameters. - */ - beginStartAndWait( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsStartOptionalParams, - ): Promise; - /** - * Query a snapshot of the most recent connection states. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name given to the connection monitor. - * @param options The options parameters. - */ - beginQuery( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsQueryOptionalParams, - ): Promise< - SimplePollerLike< - OperationState, - ConnectionMonitorsQueryResponse - > - >; - /** - * Query a snapshot of the most recent connection states. - * @param resourceGroupName The name of the resource group containing Network Watcher. - * @param networkWatcherName The name of the Network Watcher resource. - * @param connectionMonitorName The name given to the connection monitor. - * @param options The options parameters. - */ - beginQueryAndWait( - resourceGroupName: string, - networkWatcherName: string, - connectionMonitorName: string, - options?: ConnectionMonitorsQueryOptionalParams, - ): Promise; } diff --git a/sdk/network/arm-network/src/operationsInterfaces/index.ts b/sdk/network/arm-network/src/operationsInterfaces/index.ts index 59b71004b6b2..c2d88c9219b9 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/index.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/index.ts @@ -86,6 +86,16 @@ export * from "./networkProfiles.js"; export * from "./networkSecurityGroups.js"; export * from "./securityRules.js"; export * from "./defaultSecurityRules.js"; +export * from "./networkSecurityPerimeters.js"; +export * from "./networkSecurityPerimeterProfiles.js"; +export * from "./networkSecurityPerimeterAccessRules.js"; +export * from "./networkSecurityPerimeterAssociations.js"; +export * from "./nspAssociationReconcile.js"; +export * from "./networkSecurityPerimeterAssociableResourceTypes.js"; +export * from "./networkSecurityPerimeterLinks.js"; +export * from "./networkSecurityPerimeterLinkReferences.js"; +export * from "./networkSecurityPerimeterLoggingConfigurations.js"; +export * from "./networkSecurityPerimeterOperationStatuses.js"; export * from "./reachabilityAnalysisIntents.js"; export * from "./reachabilityAnalysisRuns.js"; export * from "./verifierWorkspaces.js"; diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAccessRules.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAccessRules.ts new file mode 100644 index 000000000000..ca4c18b5458e --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAccessRules.ts @@ -0,0 +1,102 @@ +/* + * 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 { + NspAccessRule, + NetworkSecurityPerimeterAccessRulesListOptionalParams, + NetworkSecurityPerimeterAccessRulesGetOptionalParams, + NetworkSecurityPerimeterAccessRulesGetResponse, + NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterAccessRulesCreateOrUpdateResponse, + NetworkSecurityPerimeterAccessRulesDeleteOptionalParams, + NetworkSecurityPerimeterAccessRulesReconcileOptionalParams, + NetworkSecurityPerimeterAccessRulesReconcileResponse, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterAccessRules. */ +export interface NetworkSecurityPerimeterAccessRules { + /** + * Lists the NSP access rules in the specified NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterAccessRulesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified NSP access rule by name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + options?: NetworkSecurityPerimeterAccessRulesGetOptionalParams, + ): Promise; + /** + * Creates or updates a network access rule. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param parameters Parameters that hold the NspAccessRule resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + parameters: NspAccessRule, + options?: NetworkSecurityPerimeterAccessRulesCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an NSP access rule. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + options?: NetworkSecurityPerimeterAccessRulesDeleteOptionalParams, + ): Promise; + /** + * Reconcile NSP access rules + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param accessRuleName The name of the NSP access rule. + * @param parameters Parameters for NSP access rule reconcile + * @param options The options parameters. + */ + reconcile( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + accessRuleName: string, + parameters: Record, + options?: NetworkSecurityPerimeterAccessRulesReconcileOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociableResourceTypes.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociableResourceTypes.ts new file mode 100644 index 000000000000..ce69feea8019 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociableResourceTypes.ts @@ -0,0 +1,28 @@ +/* + * 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 { + PerimeterAssociableResource, + NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterAssociableResourceTypes. */ +export interface NetworkSecurityPerimeterAssociableResourceTypes { + /** + * Gets the list of resources that are onboarded with NSP. These resources can be associated with a + * network security perimeter + * @param location The location of network security perimeter. + * @param options The options parameters. + */ + list( + location: string, + options?: NetworkSecurityPerimeterAssociableResourceTypesListOptionalParams, + ): PagedAsyncIterableIterator; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociations.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociations.ts new file mode 100644 index 000000000000..8a9c7851d019 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterAssociations.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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + NspAssociation, + NetworkSecurityPerimeterAssociationsListOptionalParams, + NetworkSecurityPerimeterAssociationsGetOptionalParams, + NetworkSecurityPerimeterAssociationsGetResponse, + NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse, + NetworkSecurityPerimeterAssociationsDeleteOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterAssociations. */ +export interface NetworkSecurityPerimeterAssociations { + /** + * Lists the NSP resource associations. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterAssociationsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified NSP association by name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsGetOptionalParams, + ): Promise; + /** + * Creates or updates a NSP resource association. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters that hold the NspAssociation resource to be created/updated. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: NspAssociation, + options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkSecurityPerimeterAssociationsCreateOrUpdateResponse + > + >; + /** + * Creates or updates a NSP resource association. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters that hold the NspAssociation resource to be created/updated. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: NspAssociation, + options?: NetworkSecurityPerimeterAssociationsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an NSP association resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes an NSP association resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + options?: NetworkSecurityPerimeterAssociationsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinkReferences.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinkReferences.ts new file mode 100644 index 000000000000..362ddc603efa --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinkReferences.ts @@ -0,0 +1,72 @@ +/* + * 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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + NspLinkReference, + NetworkSecurityPerimeterLinkReferencesListOptionalParams, + NetworkSecurityPerimeterLinkReferencesGetOptionalParams, + NetworkSecurityPerimeterLinkReferencesGetResponse, + NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterLinkReferences. */ +export interface NetworkSecurityPerimeterLinkReferences { + /** + * Lists the NSP LinkReference resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinkReferencesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified NSP linkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesGetOptionalParams, + ): Promise; + /** + * Deletes an NSP LinkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes an NSP LinkReference resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkReferenceName The name of the NSP linkReference. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkReferenceName: string, + options?: NetworkSecurityPerimeterLinkReferencesDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinks.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinks.ts new file mode 100644 index 000000000000..3a81cc484f27 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLinks.ts @@ -0,0 +1,89 @@ +/* + * 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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + NspLink, + NetworkSecurityPerimeterLinksListOptionalParams, + NetworkSecurityPerimeterLinksGetOptionalParams, + NetworkSecurityPerimeterLinksGetResponse, + NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterLinksCreateOrUpdateResponse, + NetworkSecurityPerimeterLinksDeleteOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterLinks. */ +export interface NetworkSecurityPerimeterLinks { + /** + * Lists the NSP Link resources in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLinksListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified NSP link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksGetOptionalParams, + ): Promise; + /** + * Creates or updates NSP link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param parameters Parameters that hold the NspLink resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + parameters: NspLink, + options?: NetworkSecurityPerimeterLinksCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an NSP Link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes an NSP Link resource. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param linkName The name of the NSP link. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + linkName: string, + options?: NetworkSecurityPerimeterLinksDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLoggingConfigurations.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLoggingConfigurations.ts new file mode 100644 index 000000000000..711265e50d5f --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterLoggingConfigurations.ts @@ -0,0 +1,78 @@ +/* + * 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 { + NspLoggingConfiguration, + NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsGetResponse, + NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateResponse, + NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterLoggingConfigurations. */ +export interface NetworkSecurityPerimeterLoggingConfigurations { + /** + * Lists the NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsGetOptionalParams, + ): Promise; + /** + * Creates or updates NSP logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param parameters Parameters that hold the NspLoggingConfiguration to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + parameters: NspLoggingConfiguration, + options?: NetworkSecurityPerimeterLoggingConfigurationsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an NSP Logging configuration. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param loggingConfigurationName The name of the NSP logging configuration. Accepts 'instance' as + * name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + loggingConfigurationName: string, + options?: NetworkSecurityPerimeterLoggingConfigurationsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterOperationStatuses.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterOperationStatuses.ts new file mode 100644 index 000000000000..4afdbf5d7050 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterOperationStatuses.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 { + NetworkSecurityPerimeterOperationStatusesGetOptionalParams, + NetworkSecurityPerimeterOperationStatusesGetResponse, +} from "../models/index.js"; + +/** Interface representing a NetworkSecurityPerimeterOperationStatuses. */ +export interface NetworkSecurityPerimeterOperationStatuses { + /** + * Gets the operation status for the given operation id. + * @param location The location of network security perimeter. + * @param operationId The operation id of the async operation. + * @param options The options parameters. + */ + get( + location: string, + operationId: string, + options?: NetworkSecurityPerimeterOperationStatusesGetOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterProfiles.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterProfiles.ts new file mode 100644 index 000000000000..44b852df50e9 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeterProfiles.ts @@ -0,0 +1,75 @@ +/* + * 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 { + NspProfile, + NetworkSecurityPerimeterProfilesListOptionalParams, + NetworkSecurityPerimeterProfilesGetOptionalParams, + NetworkSecurityPerimeterProfilesGetResponse, + NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams, + NetworkSecurityPerimeterProfilesCreateOrUpdateResponse, + NetworkSecurityPerimeterProfilesDeleteOptionalParams, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeterProfiles. */ +export interface NetworkSecurityPerimeterProfiles { + /** + * Lists the NSP profiles in the specified network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimeterProfilesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterProfilesGetOptionalParams, + ): Promise; + /** + * Creates or updates a network profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param parameters Parameters that hold the NspProfile resource to be created/updated. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + parameters: NspProfile, + options?: NetworkSecurityPerimeterProfilesCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an NSP profile. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param profileName The name of the NSP profile. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + profileName: string, + options?: NetworkSecurityPerimeterProfilesDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeters.ts b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeters.ts new file mode 100644 index 000000000000..d3ccbafd07d9 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkSecurityPerimeters.ts @@ -0,0 +1,103 @@ +/* + * 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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + NetworkSecurityPerimeter, + NetworkSecurityPerimetersListBySubscriptionOptionalParams, + NetworkSecurityPerimetersListOptionalParams, + NetworkSecurityPerimetersGetOptionalParams, + NetworkSecurityPerimetersGetResponse, + NetworkSecurityPerimetersCreateOrUpdateOptionalParams, + NetworkSecurityPerimetersCreateOrUpdateResponse, + NetworkSecurityPerimetersDeleteOptionalParams, + UpdateTagsRequest, + NetworkSecurityPerimetersPatchOptionalParams, + NetworkSecurityPerimetersPatchResponse, +} from "../models/index.js"; + +/// +/** Interface representing a NetworkSecurityPerimeters. */ +export interface NetworkSecurityPerimeters { + /** + * List all network security perimeters in a subscription. + * @param options The options parameters. + */ + listBySubscription( + options?: NetworkSecurityPerimetersListBySubscriptionOptionalParams, + ): PagedAsyncIterableIterator; + /** + * List network security perimeters in a resource group. + * @param resourceGroupName The name of the resource group. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + options?: NetworkSecurityPerimetersListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets the specified network security perimeter by the name. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersGetOptionalParams, + ): Promise; + /** + * Creates or updates a Network Security Perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param parameters Parameter supplied to create or update the network security perimeter. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkSecurityPerimeterName: string, + parameters: NetworkSecurityPerimeter, + options?: NetworkSecurityPerimetersCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a network security perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkSecurityPerimeterName: string, + options?: NetworkSecurityPerimetersDeleteOptionalParams, + ): Promise; + /** + * Patch Tags for a Network Security Perimeter. + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param parameters Parameter supplied to the network security perimeter. + * @param options The options parameters. + */ + patch( + resourceGroupName: string, + networkSecurityPerimeterName: string, + parameters: UpdateTagsRequest, + options?: NetworkSecurityPerimetersPatchOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkVirtualAppliances.ts b/sdk/network/arm-network/src/operationsInterfaces/networkVirtualAppliances.ts index cf309669b7ba..cb56b73c2420 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/networkVirtualAppliances.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/networkVirtualAppliances.ts @@ -22,6 +22,11 @@ import { NetworkVirtualAppliancesCreateOrUpdateResponse, NetworkVirtualAppliancesRestartOptionalParams, NetworkVirtualAppliancesRestartResponse, + NetworkVirtualAppliancesReimageOptionalParams, + NetworkVirtualAppliancesReimageResponse, + NetworkVirtualApplianceBootDiagnosticParameters, + NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + NetworkVirtualAppliancesGetBootDiagnosticLogsResponse, } from "../models/index.js"; /// @@ -147,4 +152,64 @@ export interface NetworkVirtualAppliances { networkVirtualApplianceName: string, options?: NetworkVirtualAppliancesRestartOptionalParams, ): Promise; + /** + * Reimages one VM belonging to the specified Network Virtual Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param options The options parameters. + */ + beginReimage( + resourceGroupName: string, + networkVirtualApplianceName: string, + options?: NetworkVirtualAppliancesReimageOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkVirtualAppliancesReimageResponse + > + >; + /** + * Reimages one VM belonging to the specified Network Virtual Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param options The options parameters. + */ + beginReimageAndWait( + resourceGroupName: string, + networkVirtualApplianceName: string, + options?: NetworkVirtualAppliancesReimageOptionalParams, + ): Promise; + /** + * Retrieves the boot diagnostic logs for a VM instance belonging to the specified Network Virtual + * Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param request Parameters supplied to retrieve boot diagnostic logs for a NVA VM instance + * @param options The options parameters. + */ + beginGetBootDiagnosticLogs( + resourceGroupName: string, + networkVirtualApplianceName: string, + request: NetworkVirtualApplianceBootDiagnosticParameters, + options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + NetworkVirtualAppliancesGetBootDiagnosticLogsResponse + > + >; + /** + * Retrieves the boot diagnostic logs for a VM instance belonging to the specified Network Virtual + * Appliance. + * @param resourceGroupName The name of the resource group. + * @param networkVirtualApplianceName The name of Network Virtual Appliance. + * @param request Parameters supplied to retrieve boot diagnostic logs for a NVA VM instance + * @param options The options parameters. + */ + beginGetBootDiagnosticLogsAndWait( + resourceGroupName: string, + networkVirtualApplianceName: string, + request: NetworkVirtualApplianceBootDiagnosticParameters, + options?: NetworkVirtualAppliancesGetBootDiagnosticLogsOptionalParams, + ): Promise; } diff --git a/sdk/network/arm-network/src/operationsInterfaces/nspAssociationReconcile.ts b/sdk/network/arm-network/src/operationsInterfaces/nspAssociationReconcile.ts new file mode 100644 index 000000000000..91a9d0d69044 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/nspAssociationReconcile.ts @@ -0,0 +1,31 @@ +/* + * 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 { + NspAssociationReconcilePostOptionalParams, + NspAssociationReconcilePostResponse, +} from "../models/index.js"; + +/** Interface representing a NspAssociationReconcile. */ +export interface NspAssociationReconcile { + /** + * Reconcile NSP association + * @param resourceGroupName The name of the resource group. + * @param networkSecurityPerimeterName The name of the network security perimeter. + * @param associationName The name of the NSP association. + * @param parameters Parameters for NSP association reconcile + * @param options The options parameters. + */ + post( + resourceGroupName: string, + networkSecurityPerimeterName: string, + associationName: string, + parameters: Record, + options?: NspAssociationReconcilePostOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/virtualNetworkGateways.ts b/sdk/network/arm-network/src/operationsInterfaces/virtualNetworkGateways.ts index f4917c9b2846..37be7798c125 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/virtualNetworkGateways.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/virtualNetworkGateways.ts @@ -39,6 +39,10 @@ import { VirtualNetworkGatewaysGetLearnedRoutesResponse, VirtualNetworkGatewaysGetAdvertisedRoutesOptionalParams, VirtualNetworkGatewaysGetAdvertisedRoutesResponse, + VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + VirtualNetworkGatewaysGetResiliencyInformationResponse, + VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + VirtualNetworkGatewaysGetRoutesInformationResponse, VpnClientIPsecParameters, VirtualNetworkGatewaysSetVpnclientIpsecParametersOptionalParams, VirtualNetworkGatewaysSetVpnclientIpsecParametersResponse, @@ -65,6 +69,11 @@ import { VirtualNetworkGatewaysGetVpnclientConnectionHealthResponse, P2SVpnConnectionRequest, VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, + VirtualNetworkGatewayMigrationParameters, + VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, } from "../models/index.js"; /// @@ -433,6 +442,64 @@ export interface VirtualNetworkGateways { peer: string, options?: VirtualNetworkGatewaysGetAdvertisedRoutesOptionalParams, ): Promise; + /** + * This operation retrieves the resiliency information for an Express Route Gateway, including the + * gateway's current resiliency score and recommendations to further improve the score + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + beginGetResiliencyInformation( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysGetResiliencyInformationResponse + > + >; + /** + * This operation retrieves the resiliency information for an Express Route Gateway, including the + * gateway's current resiliency score and recommendations to further improve the score + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + beginGetResiliencyInformationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetResiliencyInformationOptionalParams, + ): Promise; + /** + * This operation retrieves the route set information for an Express Route Gateway based on their + * resiliency + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + beginGetRoutesInformation( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VirtualNetworkGatewaysGetRoutesInformationResponse + > + >; + /** + * This operation retrieves the route set information for an Express Route Gateway based on their + * resiliency + * @param resourceGroupName The name of the resource group. + * @param virtualNetworkGatewayName The name of the virtual network gateway. + * @param options The options parameters. + */ + beginGetRoutesInformationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysGetRoutesInformationOptionalParams, + ): Promise; /** * The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual * network gateway in the specified resource group through Network resource provider. @@ -766,4 +833,98 @@ export interface VirtualNetworkGateways { request: P2SVpnConnectionRequest, options?: VirtualNetworkGatewaysDisconnectVirtualNetworkGatewayVpnConnectionsOptionalParams, ): Promise; + /** + * Trigger prepare migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param migrationParams Parameters supplied to the Begin Prepare migration on basic vpn gateway + * through Network resource provider. + * @param options The options parameters. + */ + beginInvokePrepareMigration( + resourceGroupName: string, + virtualNetworkGatewayName: string, + migrationParams: VirtualNetworkGatewayMigrationParameters, + options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + ): Promise, void>>; + /** + * Trigger prepare migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param migrationParams Parameters supplied to the Begin Prepare migration on basic vpn gateway + * through Network resource provider. + * @param options The options parameters. + */ + beginInvokePrepareMigrationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + migrationParams: VirtualNetworkGatewayMigrationParameters, + options?: VirtualNetworkGatewaysInvokePrepareMigrationOptionalParams, + ): Promise; + /** + * Trigger execute migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeExecuteMigration( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + ): Promise, void>>; + /** + * Trigger execute migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeExecuteMigrationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeExecuteMigrationOptionalParams, + ): Promise; + /** + * Trigger commit migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeCommitMigration( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + ): Promise, void>>; + /** + * Trigger commit migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeCommitMigrationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeCommitMigrationOptionalParams, + ): Promise; + /** + * Trigger abort migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeAbortMigration( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, + ): Promise, void>>; + /** + * Trigger abort migration for the basic virtual network gateway. + * @param resourceGroupName The resource group name of the virtual network gateway. + * @param virtualNetworkGatewayName The name of the gateway. + * @param options The options parameters. + */ + beginInvokeAbortMigrationAndWait( + resourceGroupName: string, + virtualNetworkGatewayName: string, + options?: VirtualNetworkGatewaysInvokeAbortMigrationOptionalParams, + ): Promise; } diff --git a/sdk/network/arm-network/test/sampleTest.ts b/sdk/network/arm-network/test/sampleTest.ts new file mode 100644 index 000000000000..a1cf7c25afd2 --- /dev/null +++ b/sdk/network/arm-network/test/sampleTest.ts @@ -0,0 +1,40 @@ +/* + * 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, +} from "@azure-tools/test-recorder"; + +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 (ctx) => { + recorder = new Recorder(ctx); + await recorder.start(recorderOptions); + }); + + afterEach(async () => { + await recorder.stop(); + }); + + it("sample test", async function () { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/network/arm-network/test/snippets.spec.ts b/sdk/network/arm-network/test/snippets.spec.ts index ab4b5475c473..57e3c0aea2b1 100644 --- a/sdk/network/arm-network/test/snippets.spec.ts +++ b/sdk/network/arm-network/test/snippets.spec.ts @@ -1,15 +1,29 @@ +/* + * 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. + */ + // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { NetworkManagementClient } from "../src/index.js"; -import { DefaultAzureCredential, InteractiveBrowserCredential } from "@azure/identity"; +import { + DefaultAzureCredential, + InteractiveBrowserCredential, +} from "@azure/identity"; import { setLogLevel } from "@azure/logger"; import { describe, it } from "vitest"; describe("snippets", () => { it("ReadmeSampleCreateClient_Node", async () => { const subscriptionId = "00000000-0000-0000-0000-000000000000"; - const client = new NetworkManagementClient(new DefaultAzureCredential(), subscriptionId); + const client = new NetworkManagementClient( + new DefaultAzureCredential(), + subscriptionId, + ); }); it("ReadmeSampleCreateClient_Browser", async () => { diff --git a/sdk/network/arm-network/tsconfig.browser.config.json b/sdk/network/arm-network/tsconfig.browser.config.json index 75871518e3a0..0c8bafa97126 100644 --- a/sdk/network/arm-network/tsconfig.browser.config.json +++ b/sdk/network/arm-network/tsconfig.browser.config.json @@ -1,3 +1,6 @@ { - "extends": ["./tsconfig.test.json", "../../../tsconfig.browser.base.json"] + "extends": [ + "./tsconfig.test.json", + "../../../tsconfig.browser.base.json" + ] } diff --git a/sdk/network/arm-network/tsconfig.json b/sdk/network/arm-network/tsconfig.json index 19ceb382b521..b35d05ad6e9d 100644 --- a/sdk/network/arm-network/tsconfig.json +++ b/sdk/network/arm-network/tsconfig.json @@ -1,13 +1,27 @@ { - "references": [ - { - "path": "./tsconfig.src.json" - }, - { - "path": "./tsconfig.samples.json" - }, - { - "path": "./tsconfig.test.json" - } + "compilerOptions": { + "module": "es6", + "moduleResolution": "node", + "strict": true, + "target": "es6", + "sourceMap": true, + "declarationMap": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "lib": [ + "es6", + "dom" + ], + "declaration": true, + "outDir": "./dist-esm", + "importHelpers": true + }, + "include": [ + "src/**/*.ts", + "test/**/*.ts" + ], + "exclude": [ + "node_modules" ] -} +} \ No newline at end of file diff --git a/sdk/network/arm-network/tsconfig.samples.json b/sdk/network/arm-network/tsconfig.samples.json index cb21c3e2aac9..bcd8e7ca1c98 100644 --- a/sdk/network/arm-network/tsconfig.samples.json +++ b/sdk/network/arm-network/tsconfig.samples.json @@ -2,7 +2,9 @@ "extends": "../../../tsconfig.samples.base.json", "compilerOptions": { "paths": { - "@azure/arm-network": ["./dist/esm"] + "@azure/arm-network": [ + "./dist/esm" + ] } } } diff --git a/sdk/network/arm-network/tsconfig.test.json b/sdk/network/arm-network/tsconfig.test.json index 290ca214aebc..3c2b783a8c1b 100644 --- a/sdk/network/arm-network/tsconfig.test.json +++ b/sdk/network/arm-network/tsconfig.test.json @@ -1,3 +1,6 @@ { - "extends": ["./tsconfig.src.json", "../../../tsconfig.test.base.json"] + "extends": [ + "./tsconfig.src.json", + "../../../tsconfig.test.base.json" + ] } diff --git a/sdk/network/arm-network/vitest.browser.config.ts b/sdk/network/arm-network/vitest.browser.config.ts index 10e70dbfa8ee..182729ab5ce9 100644 --- a/sdk/network/arm-network/vitest.browser.config.ts +++ b/sdk/network/arm-network/vitest.browser.config.ts @@ -1,3 +1,4 @@ + // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -8,7 +9,7 @@ export default mergeConfig( viteConfig, defineConfig({ test: { - include: ["dist-test/browser/test/**/*.spec.js"], + include: ["dist-test/browser/test/**/*.spec.js",], testTimeout: 1200000, hookTimeout: 1200000, }, diff --git a/sdk/network/arm-network/vitest.config.ts b/sdk/network/arm-network/vitest.config.ts index 86a71911ccc2..40e031385dd8 100644 --- a/sdk/network/arm-network/vitest.config.ts +++ b/sdk/network/arm-network/vitest.config.ts @@ -1,3 +1,4 @@ + // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. diff --git a/sdk/network/arm-network/vitest.esm.config.ts b/sdk/network/arm-network/vitest.esm.config.ts index 5e9735e9b144..a70127279fc9 100644 --- a/sdk/network/arm-network/vitest.esm.config.ts +++ b/sdk/network/arm-network/vitest.esm.config.ts @@ -1,3 +1,4 @@ + // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. @@ -5,4 +6,7 @@ import { mergeConfig } from "vitest/config"; import vitestConfig from "./vitest.config.ts"; import vitestEsmConfig from "../../../vitest.esm.shared.config.ts"; -export default mergeConfig(vitestConfig, vitestEsmConfig); +export default mergeConfig( + vitestConfig, + vitestEsmConfig +);