diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 944aa0bf429e..4a096ff0ee52 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1339,6 +1339,21 @@ packages: - supports-color dev: false + /@azure/arm-network@33.3.0: + resolution: {integrity: sha512-aaO08HA/+/JhOpdGMwxRx1rhVC611vMHAA6SWMuC0xoPjSa5Vvveskv8Odg/XRYwtiwRehpdsYNsF4Lgq4U6Pg==} + engines: {node: '>=18.0.0'} + dependencies: + '@azure/abort-controller': 1.1.0 + '@azure/core-auth': 1.7.2 + '@azure/core-client': 1.9.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.16.3 + tslib: 2.7.0 + transitivePeerDependencies: + - supports-color + dev: false + /@azure/arm-recoveryservices@5.4.0: resolution: {integrity: sha512-+BsxHcFzJH28hMAsyI+bbAYVw79d12WagttmFvoidXXq76/5KpNCA2NWTGSV0AlJ+QaCF6+7I7P91PRYnJsr+w==} engines: {node: '>=14.0.0'} @@ -13847,7 +13862,7 @@ packages: dev: false file:projects/arm-datafactory.tgz: - resolution: {integrity: sha512-Q/UgF/jHUhFWs4a2VHg5BPu4EacOjaoAJqlLqGFX3ZwG0GZDoRx8FtqHRw8p4jzKB5vuOrEV/3GzXjtsgu1WWg==, tarball: file:projects/arm-datafactory.tgz} + resolution: {integrity: sha512-OjurQ7/SHnCoMLxEpSFGvaVMi0A2ZKFX6rJ/jwbdMCikCifxpU7FWz3q7qpsBMKSUwwPiN6m0entDZOQ2Ya3DQ==, tarball: file:projects/arm-datafactory.tgz} name: '@rush-temp/arm-datafactory' version: 0.0.0 dependencies: @@ -16197,10 +16212,11 @@ packages: dev: false file:projects/arm-mongocluster.tgz: - resolution: {integrity: sha512-adVauKE8Rcf9RYJsAdyxRIoda3tOEidsxWudyXfNfyRCLi7/RtJvW9x3OJVO1GPMxZDdBqVW9CVXjvT45ZcrOg==, tarball: file:projects/arm-mongocluster.tgz} + resolution: {integrity: sha512-n64MRHoEJ+cyGo4XXjGj4+QKWdE6lldGC228Igqjq0Vw+/TJrNRc/+TAezTUbThlTnyyXQY/mKRua5iowCjPxw==, tarball: file:projects/arm-mongocluster.tgz} name: '@rush-temp/arm-mongocluster' version: 0.0.0 dependencies: + '@azure/arm-network': 33.3.0 '@azure/identity': 4.4.1 '@microsoft/api-extractor': 7.47.7(@types/node@18.19.46) '@types/node': 18.19.46 @@ -16414,7 +16430,7 @@ packages: dev: false file:projects/arm-network-1.tgz: - resolution: {integrity: sha512-jzVX655DGAScA32dW/iYkMYwrm1AYinRpn1bkwNuX6gBHyPTH8Vp6GIu+68bsZeJDDgq2yySBfqUMmtWgYFl3Q==, tarball: file:projects/arm-network-1.tgz} + resolution: {integrity: sha512-fqHtZnW+Uo3Vyv6YJDCK8NDzrkQ8e5KbJDHXwqP8I2GVWL2KB0bMY05joo7wdt/QCB8sB5fKqyZ/A//7Lno2zg==, tarball: file:projects/arm-network-1.tgz} name: '@rush-temp/arm-network-1' version: 0.0.0 dependencies: @@ -16433,10 +16449,10 @@ packages: mkdirp: 3.0.1 mocha: 10.7.3 rimraf: 5.0.10 - ts-node: 10.9.2(@types/node@18.19.46)(typescript@5.4.5) + ts-node: 10.9.2(@types/node@18.19.46)(typescript@5.5.4) tslib: 2.7.0 tsx: 4.18.0 - typescript: 5.4.5 + typescript: 5.5.4 uglify-js: 3.19.2 transitivePeerDependencies: - '@swc/core' @@ -17289,7 +17305,7 @@ packages: dev: false file:projects/arm-quota.tgz: - resolution: {integrity: sha512-xk059uR7eCCN3t024cWSE4S9muFzgPyN0kwgYPtQ9y/4+OQwdv8wvBqclcnw++X7ttxE5uPz9P6NgkNQS+HINA==, tarball: file:projects/arm-quota.tgz} + resolution: {integrity: sha512-DT26fngJRNaDs9vD1pNoxWWP94MBNU2psw6cuM97r8fzubsU/y5f2u9WsdMzNs5HZT5md5gTN8b8h6aG1M6/Yw==, tarball: file:projects/arm-quota.tgz} name: '@rush-temp/arm-quota' version: 0.0.0 dependencies: @@ -20371,7 +20387,7 @@ packages: dev: false file:projects/core-rest-pipeline.tgz: - resolution: {integrity: sha512-Ckt9WaQnIP5+x4m60yXQvQMFfFFmvIVzG5Y2cLKI/6XWnjD9mx5RfL20OpOmwGFT04KnyxWUZoVxalNLlieF8Q==, tarball: file:projects/core-rest-pipeline.tgz} + resolution: {integrity: sha512-Y89gCuNnHD3FSHtxVO2vCgGgCF27cFz7Hd+Xlmfgu5s/Fz8lm4IjZqOm165C2xjS7EWmWmrIEfXKwGfVQcZnBA==, tarball: file:projects/core-rest-pipeline.tgz} name: '@rush-temp/core-rest-pipeline' version: 0.0.0 dependencies: @@ -21561,7 +21577,7 @@ packages: dev: false file:projects/identity.tgz: - resolution: {integrity: sha512-sjF9+fskcd/8aI964QgNTcos2w8b0MgC0Zu5Vwn3xmjQtQjWMvPy3o85VZx6+vq4GFHOsou0tobu1krKLtvZJA==, tarball: file:projects/identity.tgz} + resolution: {integrity: sha512-5EkTlu2q3ZkjPIlIBMu4R++aneg//XjawueoiPtgIS2Be16wcAhkmossUcKDv1whl1evCy79PC5drQIvn1Yi6Q==, tarball: file:projects/identity.tgz} name: '@rush-temp/identity' version: 0.0.0 dependencies: diff --git a/sdk/network/arm-network/README.md b/sdk/network/arm-network/README.md index dbafed899284..9124b5a46b6e 100644 --- a/sdk/network/arm-network/README.md +++ b/sdk/network/arm-network/README.md @@ -6,7 +6,7 @@ Network Client [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/network/arm-network) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-network) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-network) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-network?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/network/arm-network/_meta.json b/sdk/network/arm-network/_meta.json index 5b3935963a3f..8e0d98cdc3f3 100644 --- a/sdk/network/arm-network/_meta.json +++ b/sdk/network/arm-network/_meta.json @@ -1,8 +1,8 @@ { - "commit": "f0d6fb9228518f963d2407e49cad2dd403db6f18", + "commit": "da24b5849c0807745bf21574317bf73805d4dff1", "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.23 --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.11", - "use": "@autorest/typescript@6.0.23" + "use": "@autorest/typescript@^6.0.12" } \ No newline at end of file diff --git a/sdk/network/arm-network/package.json b/sdk/network/arm-network/package.json index ae4715111452..4ef7cb3e3f81 100644 --- a/sdk/network/arm-network/package.json +++ b/sdk/network/arm-network/package.json @@ -3,13 +3,13 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for NetworkManagementClient.", - "version": "33.3.1", + "version": "1.0.0-beta.1", "engines": { "node": ">=18.0.0" }, "dependencies": { "@azure/core-lro": "^2.5.4", - "@azure/abort-controller": "^1.0.0", + "@azure/abort-controller": "^2.1.2", "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.6.0", @@ -30,12 +30,12 @@ "devDependencies": { "@microsoft/api-extractor": "^7.31.1", "mkdirp": "^3.0.1", - "typescript": "~5.4.5", + "typescript": "~5.5.3", "uglify-js": "^3.4.9", "rimraf": "^5.0.0", "dotenv": "^16.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/identity": "^4.0.1", + "@azure/identity": "^4.2.1", "@azure-tools/test-recorder": "^3.0.0", "@azure-tools/test-credential": "^1.1.0", "mocha": "^10.0.0", @@ -106,13 +106,5 @@ ] }, "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://docs.microsoft.com/javascript/api/@azure/arm-network?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/network/arm-network" +} \ No newline at end of file diff --git a/sdk/network/arm-network/src/lroImpl.ts b/sdk/network/arm-network/src/lroImpl.ts index 5f88efab981b..b27f5ac7209b 100644 --- a/sdk/network/arm-network/src/lroImpl.ts +++ b/sdk/network/arm-network/src/lroImpl.ts @@ -7,7 +7,7 @@ */ // Copyright (c) Microsoft Corporation. -// Licensed under the MIT License. +// 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 d4b706bcf0d0..ff6a79582868 100644 --- a/sdk/network/arm-network/src/models/index.ts +++ b/sdk/network/arm-network/src/models/index.ts @@ -310,6 +310,19 @@ export interface NatGatewaySku { name?: NatGatewaySkuName; } +/** IpamPool prefix allocation reference. */ +export interface IpamPoolPrefixAllocation { + /** Number of IP addresses to allocate. */ + numberOfIpAddresses?: string; + /** + * List of assigned IP address prefixes in the IpamPool of the associated resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly allocatedAddressPrefixes?: string[]; + /** Resource id of the associated Azure IpamPool resource. */ + id?: string; +} + /** Gateway load balancer tunnel interface of a load balancer backend address pool. */ export interface GatewayLoadBalancerTunnelInterface { /** Port of gateway load balancer tunnel interface. */ @@ -673,6 +686,8 @@ export interface ApplicationGatewayFirewallRule { state?: ApplicationGatewayWafRuleStateTypes; /** The string representation of the web application firewall rule action. */ action?: ApplicationGatewayWafRuleActionTypes; + /** The string representation of the web application firewall rule sensitivity. */ + sensitivity?: ApplicationGatewayWafRuleSensitivityTypes; /** The description of the web application firewall rule. */ description?: string; } @@ -916,6 +931,14 @@ export interface AzureFirewallSku { tier?: AzureFirewallSkuTier; } +/** Azure Firewall Autoscale Configuration parameters. */ +export interface AzureFirewallAutoscaleConfiguration { + /** The minimum number of capacity units for this azure firewall. Use null to reset the value to the service default. */ + minCapacity?: number; + /** The maximum number of capacity units for this azure firewall. Use null to reset the value to the service default. */ + maxCapacity?: number; +} + /** Response for ListAzureFirewalls API service call. */ export interface AzureFirewallListResult { /** List of Azure Firewalls in a resource group. */ @@ -1952,6 +1975,261 @@ export interface SignaturesOverridesList { value?: SignaturesOverrides[]; } +/** List of IpamPool */ +export interface IpamPoolList { + value?: IpamPool[]; + /** The link used to get the next page of operations. */ + nextLink?: string; +} + +/** Properties of IpamPool resource properties which are specific to the Pool resource. */ +export interface IpamPoolProperties { + description?: string; + /** String representing a friendly name for the resource. */ + displayName?: string; + /** + * List of IP address type for the IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly ipAddressType?: IpType[]; + /** String representing parent IpamPool resource name. If empty the IpamPool will be a root pool. */ + parentPoolName?: string; + /** List of IP address prefixes of the resource. */ + addressPrefixes: string[]; + /** Provisioning states of a resource. */ + provisioningState?: ProvisioningState; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface CommonResource { + /** + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * Azure Resource Manager metadata containing createdBy and modifiedBy information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; +} + +/** Metadata pertaining to creation and last modification of the resource. */ +export interface SystemData { + /** The identity that created the resource. */ + createdBy?: string; + /** The type of identity that created the resource. */ + createdByType?: CreatedByType; + /** The timestamp of resource creation (UTC). */ + createdAt?: Date; + /** The identity that last modified the resource. */ + lastModifiedBy?: string; + /** The type of identity that last modified the resource. */ + lastModifiedByType?: CreatedByType; + /** The type of identity that last modified the resource. */ + lastModifiedAt?: Date; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ +export interface CommonErrorResponse { + /** The error object. */ + error?: CommonErrorDetail; +} + +/** The error detail. */ +export interface CommonErrorDetail { + /** + * 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?: CommonErrorDetail[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: CommonErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface CommonErrorAdditionalInfo { + /** + * 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; +} + +/** Represents the IpamPool update API request interface. */ +export interface IpamPoolUpdate { + /** Dictionary of */ + tags?: { [propertyName: string]: string }; + /** Represents the IpamPool update properties. */ + properties?: IpamPoolUpdateProperties; +} + +/** Represents the IpamPool update properties. */ +export interface IpamPoolUpdateProperties { + description?: string; + /** String representing a friendly name for the resource. */ + displayName?: string; +} + +/** IpamPool usage information. */ +export interface PoolUsage { + /** + * List of IP address prefixes of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly addressPrefixes?: string[]; + /** + * List of IpamPool that are children of this IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly childPools?: ResourceBasics[]; + /** + * List of assigned IP address prefixes. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly allocatedAddressPrefixes?: string[]; + /** + * List of reserved IP address prefixes. These IP addresses could be reclaimed if not assigned in the given time. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reservedAddressPrefixes?: string[]; + /** + * List of available IP address prefixes. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly availableAddressPrefixes?: string[]; + /** + * Total number of IP addresses managed in the IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly totalNumberOfIPAddresses?: string; + /** + * Total number of assigned IP addresses in the IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly numberOfAllocatedIPAddresses?: string; + /** + * Total number of reserved IP addresses in the IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly numberOfReservedIPAddresses?: string; + /** + * Total number of available IP addresses in the IpamPool. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly numberOfAvailableIPAddresses?: string; +} + +/** Representation of basic resource information. */ +export interface ResourceBasics { + /** ResourceId of the Azure resource. */ + resourceId?: string; + /** List of IP address prefixes of the resource. */ + addressPrefixes?: string[]; +} + +/** List of PoolAssociation */ +export interface PoolAssociationList { + value?: PoolAssociation[]; + /** The link used to get the next page of operations. */ + nextLink?: string; +} + +/** IpamPool association information. */ +export interface PoolAssociation { + /** Resource id of the associated Azure resource. */ + resourceId: string; + /** IpamPool id for which the resource is associated to. */ + poolId?: string; + description?: string; + /** + * List of assigned IP address prefixes in the IpamPool of the associated resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly addressPrefixes?: string[]; + /** + * List of reserved IP address prefixes in the IpamPool of the associated resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reservedPrefixes?: string[]; + /** + * Total number of assigned IP addresses of the association. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly totalNumberOfIPAddresses?: string; + /** + * Total number of reserved IP addresses of the association. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly numberOfReservedIPAddresses?: string; + /** + * Creation time of the association. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdAt?: Date; + /** + * Expire time for IP addresses reserved. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reservationExpiresAt?: Date; +} + +/** List of StaticCidr */ +export interface StaticCidrList { + value?: StaticCidr[]; + /** The link used to get the next page of operations. */ + nextLink?: string; +} + +/** Properties of static CIDR resource. */ +export interface StaticCidrProperties { + description?: string; + /** Number of IP addresses to allocate for a static CIDR resource. The IP addresses will be assigned based on IpamPools available space. */ + numberOfIPAddressesToAllocate?: string; + /** List of IP address prefixes of the resource. */ + addressPrefixes?: string[]; + /** + * Total number of IP addresses allocated for the static CIDR resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly totalNumberOfIPAddresses?: string; + /** Provisioning states of a resource. */ + provisioningState?: ProvisioningState; +} + /** Response for the ListIpAllocations API service call. */ export interface IpAllocationListResult { /** A list of IpAllocation resources. */ @@ -2286,22 +2564,6 @@ export interface CrossTenantScopes { readonly subscriptions?: string[]; } -/** Metadata pertaining to creation and last modification of the resource. */ -export interface SystemData { - /** The identity that created the resource. */ - createdBy?: string; - /** The type of identity that created the resource. */ - createdByType?: CreatedByType; - /** The timestamp of resource creation (UTC). */ - createdAt?: Date; - /** The identity that last modified the resource. */ - lastModifiedBy?: string; - /** The type of identity that last modified the resource. */ - lastModifiedByType?: CreatedByType; - /** The type of identity that last modified the resource. */ - lastModifiedAt?: Date; -} - /** Object for patch operations. */ export interface PatchObject { /** Resource tags. */ @@ -2437,6 +2699,8 @@ export interface ConfigurationGroup { id?: string; /** A description of the network group. */ description?: string; + /** The type of the group member. */ + memberType?: GroupMemberType; /** * The provisioning state of the scope assignment resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -2609,6 +2873,90 @@ export interface AdminRuleListResult { nextLink?: string; } +/** A list of network manager security user configurations */ +export interface SecurityUserConfigurationListResult { + /** Gets a page of security user configurations */ + value?: SecurityUserConfiguration[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Security user configuration rule collection list result. */ +export interface SecurityUserRuleCollectionListResult { + /** A list of network manager security user configuration rule collections */ + value?: SecurityUserRuleCollection[]; + /** Gets the URL to get the next set of results. */ + nextLink?: string; +} + +/** Network manager security user group item. */ +export interface SecurityUserGroupItem { + /** Network manager group Id. */ + networkGroupId: string; +} + +/** security user rule list result. */ +export interface SecurityUserRuleListResult { + /** A list of security user rules */ + value?: SecurityUserRule[]; + /** The URL to get the next set of results. */ + nextLink?: string; +} + +/** Address prefix item. */ +export interface AddressPrefixItem { + /** Address prefix. */ + addressPrefix?: string; + /** Address prefix type. */ + addressPrefixType?: AddressPrefixType; +} + +/** A list of network manager routing configurations */ +export interface NetworkManagerRoutingConfigurationListResult { + /** Gets a page of routing configurations */ + value?: NetworkManagerRoutingConfiguration[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Routing configuration rule collection list result. */ +export interface RoutingRuleCollectionListResult { + /** A list of network manager routing configuration rule collections */ + value?: RoutingRuleCollection[]; + /** Gets the URL to get the next set of results. */ + nextLink?: string; +} + +/** Network manager routing group item. */ +export interface NetworkManagerRoutingGroupItem { + /** Network manager group Id. */ + networkGroupId: string; +} + +/** Routing configuration rule list result. */ +export interface RoutingRuleListResult { + /** A list of routing rules. */ + value?: RoutingRule[]; + /** The URL to get the next set of results. */ + nextLink?: string; +} + +/** Route destination. */ +export interface RoutingRuleRouteDestination { + /** Destination type. */ + type: RoutingRuleDestinationType; + /** Destination address. */ + destinationAddress: string; +} + +/** Next hop. */ +export interface RoutingRuleNextHop { + /** Next hop type. */ + nextHopType: RoutingRuleNextHopType; + /** Next hop address. Only required if the next hop type is VirtualAppliance. */ + nextHopAddress?: string; +} + /** The ip configuration for a container network interface. */ export interface ContainerNetworkInterfaceIpConfiguration { /** The name of the resource. This name can be used to access the resource. */ @@ -2654,6 +3002,105 @@ export interface SecurityRuleListResult { nextLink?: string; } +/** A list of Reachability Analysis Intents. */ +export interface ReachabilityAnalysisIntentListResult { + /** Gets a page of Reachability Analysis Intents */ + value?: ReachabilityAnalysisIntent[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Represents the Reachability Analysis Intent properties. */ +export interface ReachabilityAnalysisIntentProperties { + /** Provisioning states of a resource. */ + provisioningState?: ProvisioningState; + description?: string; + /** Source resource id to verify the reachability path of. */ + sourceResourceId: string; + /** Destination resource id to verify the reachability path of. */ + destinationResourceId: string; + /** IP traffic information. */ + ipTraffic: IPTraffic; +} + +/** IP traffic information. */ +export interface IPTraffic { + /** List of source IP addresses of the traffic.. */ + sourceIps: string[]; + /** List of destination IP addresses of the traffic.. */ + destinationIps: string[]; + /** The source ports of the traffic. */ + sourcePorts: string[]; + /** The destination ports of the traffic. */ + destinationPorts: string[]; + protocols: NetworkProtocol[]; +} + +/** A list of Reachability Analysis Run */ +export interface ReachabilityAnalysisRunListResult { + /** Gets a page of Reachability Analysis Runs. */ + value?: ReachabilityAnalysisRun[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Represents the Reachability Analysis Run properties. */ +export interface ReachabilityAnalysisRunProperties { + description?: string; + /** Id of the intent resource to run analysis on. */ + intentId: string; + /** + * Intent information. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly intentContent?: IntentContent; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly analysisResult?: string; + /** NOTE: This property will not be serialized. It can only be populated by the server. */ + readonly errorMessage?: string; + /** Provisioning states of a resource. */ + provisioningState?: ProvisioningState; +} + +/** Intent information. */ +export interface IntentContent { + description?: string; + /** Source resource id of the intent. */ + sourceResourceId: string; + /** Destination resource id of the intent. */ + destinationResourceId: string; + /** IP traffic information. */ + ipTraffic: IPTraffic; +} + +/** A list of Verifier Workspace */ +export interface VerifierWorkspaceListResult { + /** Gets a page of Verifier Workspaces. */ + value?: VerifierWorkspace[]; + /** Gets the URL to get the next page of results. */ + nextLink?: string; +} + +/** Properties of Verifier Workspace resource. */ +export interface VerifierWorkspaceProperties { + description?: string; + /** Provisioning states of a resource. */ + provisioningState?: ProvisioningState; +} + +/** Represents the VerifierWorkspace update API request interface. */ +export interface VerifierWorkspaceUpdate { + /** Dictionary of */ + tags?: { [propertyName: string]: string }; + /** Represents the VerifierWorkspace update properties. */ + properties?: VerifierWorkspaceUpdateProperties; +} + +/** Represents the VerifierWorkspace update properties. */ +export interface VerifierWorkspaceUpdateProperties { + description?: string; +} + /** Network Virtual Appliance Sku Properties. */ export interface VirtualApplianceSkuProperties { /** Virtual Appliance Vendor. */ @@ -2744,7 +3191,7 @@ export interface DelegationProperties { /** The service name to which the NVA is delegated. */ serviceName?: string; /** - * The current provisioning state. + * Provisioning states of a resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; @@ -3236,6 +3683,8 @@ export interface FlowLogInformation { identity?: ManagedServiceIdentity; /** ID of the storage account which is used to store the flow log. */ storageId: string; + /** Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. */ + enabledFilteringCriteria?: string; /** Flag to enable/disable flow logging. */ enabled: boolean; /** Parameters that define the retention policy for flow log. */ @@ -4470,6 +4919,8 @@ export interface UsageName { export interface AddressSpace { /** A list of address blocks reserved for this virtual network in CIDR notation. */ addressPrefixes?: string[]; + /** A list of IPAM Pools allocating IP address prefixes. */ + ipamPoolPrefixAllocations?: IpamPoolPrefixAllocation[]; } /** DhcpOptions contains an array of DNS servers available to VMs deployed in the virtual network. Standard DHCP option for a subnet overrides VNET DHCP options. */ @@ -4493,7 +4944,7 @@ export interface VirtualNetworkBgpCommunities { export interface VirtualNetworkEncryption { /** Indicates if encryption is enabled on the virtual network. */ enabled: boolean; - /** If the encrypted VNet allows VM that does not support encryption */ + /** If the encrypted VNet allows VM that does not support encryption. This field is for future support, AllowUnencrypted is the only supported value at general availability. */ enforcement?: VirtualNetworkEncryptionEnforcement; } @@ -5484,10 +5935,31 @@ export interface VpnGatewayPacketCaptureStopParameters { sasUrl?: string; } -/** Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. */ -export interface ListVpnGatewaysResult { - /** List of VpnGateways. */ - value?: VpnGateway[]; +/** The list of shared keys for the vpn link connection. It should only contain one shared key for each vpn link connection. */ +export interface ConnectionSharedKeyResultList { + /** List of SharedKeys. */ + value?: ConnectionSharedKeyResult[]; + /** URL to get the next set of operation list results if there are any. */ + nextLink?: string; +} + +/** Parameters for SharedKey. */ +export interface SharedKeyProperties { + /** The value of the shared key for the vpn link connection. */ + sharedKey?: string; + /** The length of the shared key for the vpn link connection. */ + sharedKeyLength?: number; + /** + * The provisioning state of the SharedKey resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; +} + +/** Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. */ +export interface ListVpnGatewaysResult { + /** List of VpnGateways. */ + value?: VpnGateway[]; /** URL to get the next set of operation list results if there are any. */ nextLink?: string; } @@ -5914,22 +6386,28 @@ export interface GroupByVariable { /** Allow to exclude some variable satisfy the condition for the WAF check. */ export interface ManagedRulesDefinition { + /** The exceptions that are applied on the policy. */ + exceptions?: ExceptionEntry[]; /** The Exclusions that are applied on the policy. */ exclusions?: OwaspCrsExclusionEntry[]; /** The managed rule sets that are associated with the policy. */ managedRuleSets: ManagedRuleSet[]; } -/** Allow to exclude some variable satisfy the condition for the WAF check. */ -export interface OwaspCrsExclusionEntry { - /** The variable to be excluded. */ - matchVariable: OwaspCrsExclusionEntryMatchVariable; - /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. */ - selectorMatchOperator: OwaspCrsExclusionEntrySelectorMatchOperator; - /** When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. */ - selector: string; - /** The managed rule sets that are associated with the exclusion. */ - exclusionManagedRuleSets?: ExclusionManagedRuleSet[]; +/** Adds exception to allow a request when the condition is satisfied. */ +export interface ExceptionEntry { + /** The variable on which we evaluate the exception condition */ + matchVariable: ExceptionEntryMatchVariable; + /** Allowed values for the matchVariable */ + values?: string[]; + /** Operates on the allowed values for the matchVariable */ + valueMatchOperator: ExceptionEntryValueMatchOperator; + /** When the matchVariable points to a key-value pair (e.g, RequestHeader), this operates on the selector */ + selectorMatchOperator?: ExceptionEntrySelectorMatchOperator; + /** When the matchVariable points to a key-value pair (e.g, RequestHeader), this identifies the key. */ + selector?: string; + /** The managed rule sets that are associated with the exception. */ + exceptionManagedRuleSets?: ExclusionManagedRuleSet[]; } /** Defines a managed rule set for Exclusions. */ @@ -5956,6 +6434,18 @@ export interface ExclusionManagedRule { ruleId: string; } +/** Allow to exclude some variable satisfy the condition for the WAF check. */ +export interface OwaspCrsExclusionEntry { + /** The variable to be excluded. */ + matchVariable: OwaspCrsExclusionEntryMatchVariable; + /** When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. */ + selectorMatchOperator: OwaspCrsExclusionEntrySelectorMatchOperator; + /** When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. */ + selector: string; + /** The managed rule sets that are associated with the exclusion. */ + exclusionManagedRuleSets?: ExclusionManagedRuleSet[]; +} + /** Defines a managed rule set. */ export interface ManagedRuleSet { /** Defines the rule set type to use. */ @@ -5982,6 +6472,14 @@ export interface ManagedRuleOverride { state?: ManagedRuleEnabledState; /** Describes the override action to be applied when rule matches. */ action?: ActionType; + /** Describes the override sensitivity to be applied when rule matches. */ + sensitivity?: SensitivityType; +} + +/** Defines an application gateway for containers reference. */ +export interface ApplicationGatewayForContainersReferenceDefinition { + /** Resource Id of the application gateway for containers. */ + id: string; } /** Properties of the FirewallPolicyNatRuleCollectionAction. */ @@ -6030,14 +6528,6 @@ export interface AzureAsyncOperationResult { error?: ErrorModel; } -/** Address prefix item. */ -export interface AddressPrefixItem { - /** Address prefix. */ - addressPrefix?: string; - /** Address prefix type. */ - addressPrefixType?: AddressPrefixType; -} - /** VpnSite Resource. */ export interface VpnSiteId { /** @@ -6473,8 +6963,11 @@ export interface Route extends SubResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provisioningState?: ProvisioningState; - /** A value indicating whether this route overrides overlapping BGP routes regardless of LPM. */ - hasBgpOverride?: boolean; + /** + * A value indicating whether this route overrides overlapping BGP routes regardless of LPM. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly hasBgpOverride?: boolean; } /** Service Endpoint policy definitions. */ @@ -6701,6 +7194,8 @@ export interface Subnet extends SubResource { sharingScope?: SharingScope; /** Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet. */ defaultOutboundAccess?: boolean; + /** A list of IPAM Pools for allocating IP address prefixes. */ + ipamPoolPrefixAllocations?: IpamPoolPrefixAllocation[]; } /** Frontend IP address of the load balancer. */ @@ -8858,6 +9353,19 @@ export interface VpnGatewayNatRule extends SubResource { readonly ingressVpnSiteLinkConnections?: SubResource[]; } +/** SharedKey Resource . */ +export interface ConnectionSharedKeyResult extends SubResource { + /** Properties of the shared key. */ + properties?: SharedKeyProperties; + /** The name of the resource that is unique within a resource group. This name can be used to access the resource. */ + name?: string; + /** + * Resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + /** ExpressRouteConnection resource. */ export interface ExpressRouteConnection extends SubResource { /** The name of the resource. */ @@ -9155,6 +9663,8 @@ export interface PrivateLinkService extends Resource { loadBalancerFrontendIpConfigurations?: FrontendIPConfiguration[]; /** An array of private link service IP configurations. */ ipConfigurations?: PrivateLinkServiceIpConfiguration[]; + /** The destination IP address of the private link service. */ + destinationIPAddress?: string; /** * An array of references to the network interfaces created for this private link service. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -9288,6 +9798,8 @@ export interface FlowLog extends Resource { readonly targetResourceGuid?: string; /** ID of the storage account which is used to store the flow log. */ storageId?: string; + /** Optional field to filter network traffic logs based on SrcIP, SrcPort, DstIP, DstPort, Protocol, Encryption, Direction and Action. If not specified, all network traffic will be logged. */ + enabledFilteringCriteria?: string; /** Flag to enable/disable flow logging. */ enabled?: boolean; /** Parameters that define the retention policy for flow log. */ @@ -9699,6 +10211,8 @@ export interface AzureFirewall extends Resource { sku?: AzureFirewallSku; /** The additional properties used to further config this azure firewall. */ additionalProperties?: { [propertyName: string]: string }; + /** Properties to provide a custom autoscale configuration to this azure firewall. */ + autoscaleConfiguration?: AzureFirewallAutoscaleConfiguration; } /** Azure Firewall FQDN Tag Resource. */ @@ -10597,6 +11111,8 @@ export interface VirtualNetwork extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly flowLogs?: FlowLog[]; + /** Private Endpoint VNet Policies. */ + privateEndpointVNetPolicies?: PrivateEndpointVNetPolicies; } /** Network Intent Policy resource. */ @@ -10678,6 +11194,8 @@ export interface VirtualNetworkGateway extends Resource { allowRemoteVnetTraffic?: boolean; /** Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet */ adminState?: AdminState; + /** Property to indicate if the Express Route Gateway has resiliency model of MultiHomed or SingleHomed */ + resiliencyModel?: ResiliencyModel; } /** A common class for general resource information. */ @@ -11204,6 +11722,11 @@ export interface WebApplicationFirewallPolicy extends Resource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly pathBasedRules?: SubResource[]; + /** + * A collection of references to application gateway for containers. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applicationGatewayForContainers?: ApplicationGatewayForContainersReferenceDefinition[]; } /** The visibility list of the private link service. */ @@ -11234,6 +11757,17 @@ export interface FirewallPolicyFilterRuleCollection rules?: FirewallPolicyRuleUnion[]; } +/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ +export interface CommonTrackedResource extends CommonResource { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + location: string; +} + +/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ +export interface CommonProxyResource extends CommonResource {} + /** Active connectivity configuration. */ export interface ActiveConnectivityConfiguration extends EffectiveConnectivityConfiguration { @@ -11399,6 +11933,8 @@ export interface NetworkGroup extends ChildResource { readonly systemData?: SystemData; /** A description of the network group. */ description?: string; + /** The type of the group member. */ + memberType?: GroupMemberType; /** * The provisioning state of the scope assignment resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -11452,17 +11988,15 @@ export interface ScopeConnection extends ChildResource { description?: string; } -/** Defines the security admin configuration */ -export interface SecurityAdminConfiguration extends ChildResource { +/** Defines the security user configuration */ +export interface SecurityUserConfiguration extends ChildResource { /** * The system metadata related to this resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; - /** A description of the security configuration. */ + /** A description of the security user configuration. */ description?: string; - /** Enum list of network intent policy based services. */ - applyOnNetworkIntentPolicyBasedServices?: NetworkIntentPolicyBasedService[]; /** * The provisioning state of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -11475,17 +12009,17 @@ export interface SecurityAdminConfiguration extends ChildResource { readonly resourceGuid?: string; } -/** Defines the admin rule collection. */ -export interface AdminRuleCollection extends ChildResource { +/** Defines the security user rule collection. */ +export interface SecurityUserRuleCollection extends ChildResource { /** * The system metadata related to this resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; - /** A description of the admin rule collection. */ + /** A description of the security user rule collection. */ description?: string; /** Groups for configuration */ - appliesToGroups?: NetworkManagerSecurityGroupItem[]; + appliesToGroups?: SecurityUserGroupItem[]; /** * The provisioning state of the resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -11498,15 +12032,108 @@ export interface AdminRuleCollection extends ChildResource { readonly resourceGuid?: string; } -/** Network base admin rule. */ -export interface BaseAdminRule extends ChildResource { - /** Whether the rule is custom or default. */ - kind: AdminRuleKind; +/** Network security user rule. */ +export interface SecurityUserRule extends ChildResource { + /** + * The system metadata related to this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** A description for this rule. */ + description?: string; + /** Network protocol this rule applies to. */ + protocol?: SecurityConfigurationRuleProtocol; + /** The CIDR or source IP ranges. */ + sources?: AddressPrefixItem[]; + /** The destination address prefixes. CIDR or destination IP ranges. */ + destinations?: AddressPrefixItem[]; + /** The source port ranges. */ + sourcePortRanges?: string[]; + /** The destination port ranges. */ + destinationPortRanges?: string[]; + /** Indicates if the traffic matched against the rule in inbound or outbound. */ + direction?: SecurityConfigurationRuleDirection; + /** + * The provisioning state of the security configuration user rule resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +} + +/** Defines the routing configuration */ +export interface NetworkManagerRoutingConfiguration extends ChildResource { + /** + * The system metadata related to this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** A description of the routing configuration. */ + description?: string; + /** + * The provisioning state of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +} + +/** Defines the routing rule collection. */ +export interface RoutingRuleCollection extends ChildResource { + /** + * The system metadata related to this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** A description of the routing rule collection. */ + description?: string; + /** + * The provisioning state of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; + /** Groups for configuration */ + appliesTo?: NetworkManagerRoutingGroupItem[]; + /** Determines whether BGP route propagation is enabled. Defaults to true. */ + disableBgpRoutePropagation?: DisableBgpRoutePropagation; +} + +/** Network routing rule. */ +export interface RoutingRule extends ChildResource { /** * The system metadata related to this resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; + /** A description for this rule. */ + description?: string; + /** + * The provisioning state of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; + /** Indicates the destination for this particular rule. */ + destination?: RoutingRuleRouteDestination; + /** Indicates the next hop for this particular rule. */ + nextHop?: RoutingRuleNextHop; } /** Network admin rule. */ @@ -11710,6 +12337,83 @@ export interface NetworkRule extends FirewallPolicyRule { destinationFqdns?: string[]; } +/** Instance of Pool resource. */ +export interface IpamPool extends CommonTrackedResource { + /** Properties of IpamPool resource properties which are specific to the Pool resource. */ + properties?: IpamPoolProperties; +} + +/** Instance of Verifier Workspace. */ +export interface VerifierWorkspace extends CommonTrackedResource { + /** Properties of Verifier Workspace resource. */ + properties?: VerifierWorkspaceProperties; + /** Dictionary of */ + tags?: { [propertyName: string]: string }; + location?: string; +} + +/** Instance of StaticCidr resource. */ +export interface StaticCidr extends CommonProxyResource { + /** Properties of static CIDR resource. */ + properties?: StaticCidrProperties; +} + +/** Defines the security admin configuration */ +export interface SecurityAdminConfiguration extends CommonProxyResource { + /** A description of the security configuration. */ + description?: string; + /** Enum list of network intent policy based services. */ + applyOnNetworkIntentPolicyBasedServices?: NetworkIntentPolicyBasedService[]; + /** Determine update behavior for changes to network groups referenced within the rules in this configuration. */ + networkGroupAddressSpaceAggregationOption?: AddressSpaceAggregationOption; + /** + * The provisioning state of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +} + +/** Defines the admin rule collection. */ +export interface AdminRuleCollection extends CommonProxyResource { + /** A description of the admin rule collection. */ + description?: string; + /** Groups for configuration */ + appliesToGroups?: NetworkManagerSecurityGroupItem[]; + /** + * The provisioning state of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** + * Unique identifier for this resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceGuid?: string; +} + +/** Network base admin rule. */ +export interface BaseAdminRule extends CommonProxyResource { + /** Whether the rule is custom or default. */ + kind: AdminRuleKind; +} + +/** Configuration information or intent on which to do the analysis on. */ +export interface ReachabilityAnalysisIntent extends CommonProxyResource { + /** Represents the Reachability Analysis Intent properties. */ + properties: ReachabilityAnalysisIntentProperties; +} + +/** Configuration information for analysis run. */ +export interface ReachabilityAnalysisRun extends CommonProxyResource { + /** Represents the Reachability Analysis Run properties. */ + properties: ReachabilityAnalysisRunProperties; +} + /** Network admin rule. */ export interface AdminRule extends BaseAdminRule { /** Polymorphic discriminator, which specifies the different types this object can be */ @@ -11885,6 +12589,22 @@ export interface FirewallPolicyDeploymentsDeployHeaders { azureAsyncOperation?: string; } +/** Defines headers for IpamPools_delete operation. */ +export interface IpamPoolsDeleteHeaders { + location?: string; +} + +/** Defines headers for StaticCidrs_delete operation. */ +export interface StaticCidrsDeleteHeaders { + location?: string; +} + +/** Defines headers for IpAllocations_delete operation. */ +export interface IpAllocationsDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + /** Defines headers for NetworkManagers_delete operation. */ export interface NetworkManagersDeleteHeaders { /** The URL of the resource used to check the status of the asynchronous operation. */ @@ -11933,6 +12653,54 @@ export interface AdminRulesDeleteHeaders { location?: string; } +/** Defines headers for SecurityUserConfigurations_delete operation. */ +export interface SecurityUserConfigurationsDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for SecurityUserRuleCollections_delete operation. */ +export interface SecurityUserRuleCollectionsDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for SecurityUserRules_delete operation. */ +export interface SecurityUserRulesDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for NetworkManagerRoutingConfigurations_delete operation. */ +export interface NetworkManagerRoutingConfigurationsDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for RoutingRuleCollections_delete operation. */ +export interface RoutingRuleCollectionsDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + +/** Defines headers for RoutingRules_delete operation. */ +export interface RoutingRulesDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + 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. */ + location?: string; +} + +/** Defines headers for VerifierWorkspaces_delete operation. */ +export interface VerifierWorkspacesDeleteHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; +} + /** Defines headers for NetworkVirtualAppliances_delete operation. */ export interface NetworkVirtualAppliancesDeleteHeaders { /** The URL of the resource used to check the status of the asynchronous operation. */ @@ -12268,14 +13036,18 @@ export type ApplicationGatewayOperationalState = string; /** Known values of {@link ProvisioningState} that the service accepts. */ export enum KnownProvisioningState { + /** Failed */ + Failed = "Failed", /** Succeeded */ Succeeded = "Succeeded", + /** Canceled */ + Canceled = "Canceled", + /** Creating */ + Creating = "Creating", /** Updating */ Updating = "Updating", /** Deleting */ Deleting = "Deleting", - /** Failed */ - Failed = "Failed", } /** @@ -12283,10 +13055,12 @@ export enum KnownProvisioningState { * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service + * **Failed** \ * **Succeeded** \ + * **Canceled** \ + * **Creating** \ * **Updating** \ - * **Deleting** \ - * **Failed** + * **Deleting** */ export type ProvisioningState = string; @@ -13076,6 +13850,30 @@ export enum KnownApplicationGatewayWafRuleActionTypes { */ export type ApplicationGatewayWafRuleActionTypes = string; +/** Known values of {@link ApplicationGatewayWafRuleSensitivityTypes} that the service accepts. */ +export enum KnownApplicationGatewayWafRuleSensitivityTypes { + /** None */ + None = "None", + /** Low */ + Low = "Low", + /** Medium */ + Medium = "Medium", + /** High */ + High = "High", +} + +/** + * Defines values for ApplicationGatewayWafRuleSensitivityTypes. \ + * {@link KnownApplicationGatewayWafRuleSensitivityTypes} can be used interchangeably with ApplicationGatewayWafRuleSensitivityTypes, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Low** \ + * **Medium** \ + * **High** + */ +export type ApplicationGatewayWafRuleSensitivityTypes = string; + /** Known values of {@link ApplicationGatewayTierTypes} that the service accepts. */ export enum KnownApplicationGatewayTierTypes { /** Standard */ @@ -13934,6 +14732,48 @@ export enum KnownFirewallPolicyIdpsQuerySortOrder { */ export type FirewallPolicyIdpsQuerySortOrder = string; +/** Known values of {@link IpType} that the service accepts. */ +export enum KnownIpType { + /** IPv4 */ + IPv4 = "IPv4", + /** IPv6 */ + IPv6 = "IPv6", +} + +/** + * Defines values for IpType. \ + * {@link KnownIpType} can be used interchangeably with IpType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **IPv4** \ + * **IPv6** + */ +export type IpType = string; + +/** Known values of {@link CreatedByType} that the service accepts. */ +export enum KnownCreatedByType { + /** User */ + User = "User", + /** Application */ + Application = "Application", + /** ManagedIdentity */ + ManagedIdentity = "ManagedIdentity", + /** Key */ + Key = "Key", +} + +/** + * Defines values for CreatedByType. \ + * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** + */ +export type CreatedByType = string; + /** Known values of {@link IpAllocationType} that the service accepts. */ export enum KnownIpAllocationType { /** Undefined */ @@ -14141,6 +14981,10 @@ export enum KnownConfigurationType { SecurityAdmin = "SecurityAdmin", /** Connectivity */ Connectivity = "Connectivity", + /** SecurityUser */ + SecurityUser = "SecurityUser", + /** Routing */ + Routing = "Routing", } /** @@ -14149,34 +14993,12 @@ export enum KnownConfigurationType { * this enum contains the known values that the service supports. * ### Known values supported by the service * **SecurityAdmin** \ - * **Connectivity** + * **Connectivity** \ + * **SecurityUser** \ + * **Routing** */ export type ConfigurationType = string; -/** Known values of {@link CreatedByType} that the service accepts. */ -export enum KnownCreatedByType { - /** User */ - User = "User", - /** Application */ - Application = "Application", - /** ManagedIdentity */ - ManagedIdentity = "ManagedIdentity", - /** Key */ - Key = "Key", -} - -/** - * Defines values for CreatedByType. \ - * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **User** \ - * **Application** \ - * **ManagedIdentity** \ - * **Key** - */ -export type CreatedByType = string; - /** Known values of {@link DeploymentStatus} that the service accepts. */ export enum KnownDeploymentStatus { /** NotStarted */ @@ -14291,6 +15113,24 @@ export enum KnownDeleteExistingPeering { */ export type DeleteExistingPeering = string; +/** Known values of {@link GroupMemberType} that the service accepts. */ +export enum KnownGroupMemberType { + /** VirtualNetwork */ + VirtualNetwork = "VirtualNetwork", + /** Subnet */ + Subnet = "Subnet", +} + +/** + * Defines values for GroupMemberType. \ + * {@link KnownGroupMemberType} can be used interchangeably with GroupMemberType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **VirtualNetwork** \ + * **Subnet** + */ +export type GroupMemberType = string; + /** Known values of {@link EffectiveAdminRuleKind} that the service accepts. */ export enum KnownEffectiveAdminRuleKind { /** Custom */ @@ -14357,6 +15197,24 @@ export enum KnownNetworkIntentPolicyBasedService { */ export type NetworkIntentPolicyBasedService = string; +/** Known values of {@link AddressSpaceAggregationOption} that the service accepts. */ +export enum KnownAddressSpaceAggregationOption { + /** None */ + None = "None", + /** Manual */ + Manual = "Manual", +} + +/** + * Defines values for AddressSpaceAggregationOption. \ + * {@link KnownAddressSpaceAggregationOption} can be used interchangeably with AddressSpaceAggregationOption, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Manual** + */ +export type AddressSpaceAggregationOption = string; + /** Known values of {@link AdminRuleKind} that the service accepts. */ export enum KnownAdminRuleKind { /** Custom */ @@ -14375,6 +15233,162 @@ export enum KnownAdminRuleKind { */ export type AdminRuleKind = string; +/** Known values of {@link SecurityConfigurationRuleProtocol} that the service accepts. */ +export enum KnownSecurityConfigurationRuleProtocol { + /** Tcp */ + Tcp = "Tcp", + /** Udp */ + Udp = "Udp", + /** Icmp */ + Icmp = "Icmp", + /** Esp */ + Esp = "Esp", + /** Any */ + Any = "Any", + /** Ah */ + Ah = "Ah", +} + +/** + * Defines values for SecurityConfigurationRuleProtocol. \ + * {@link KnownSecurityConfigurationRuleProtocol} can be used interchangeably with SecurityConfigurationRuleProtocol, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Tcp** \ + * **Udp** \ + * **Icmp** \ + * **Esp** \ + * **Any** \ + * **Ah** + */ +export type SecurityConfigurationRuleProtocol = string; + +/** Known values of {@link AddressPrefixType} that the service accepts. */ +export enum KnownAddressPrefixType { + /** IPPrefix */ + IPPrefix = "IPPrefix", + /** ServiceTag */ + ServiceTag = "ServiceTag", + /** NetworkGroup */ + NetworkGroup = "NetworkGroup", +} + +/** + * Defines values for AddressPrefixType. \ + * {@link KnownAddressPrefixType} can be used interchangeably with AddressPrefixType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **IPPrefix** \ + * **ServiceTag** \ + * **NetworkGroup** + */ +export type AddressPrefixType = string; + +/** Known values of {@link SecurityConfigurationRuleDirection} that the service accepts. */ +export enum KnownSecurityConfigurationRuleDirection { + /** Inbound */ + Inbound = "Inbound", + /** Outbound */ + Outbound = "Outbound", +} + +/** + * Defines values for SecurityConfigurationRuleDirection. \ + * {@link KnownSecurityConfigurationRuleDirection} can be used interchangeably with SecurityConfigurationRuleDirection, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Inbound** \ + * **Outbound** + */ +export type SecurityConfigurationRuleDirection = string; + +/** Known values of {@link DisableBgpRoutePropagation} that the service accepts. */ +export enum KnownDisableBgpRoutePropagation { + /** False */ + False = "False", + /** True */ + True = "True", +} + +/** + * Defines values for DisableBgpRoutePropagation. \ + * {@link KnownDisableBgpRoutePropagation} can be used interchangeably with DisableBgpRoutePropagation, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **False** \ + * **True** + */ +export type DisableBgpRoutePropagation = string; + +/** Known values of {@link RoutingRuleDestinationType} that the service accepts. */ +export enum KnownRoutingRuleDestinationType { + /** AddressPrefix */ + AddressPrefix = "AddressPrefix", + /** ServiceTag */ + ServiceTag = "ServiceTag", +} + +/** + * Defines values for RoutingRuleDestinationType. \ + * {@link KnownRoutingRuleDestinationType} can be used interchangeably with RoutingRuleDestinationType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AddressPrefix** \ + * **ServiceTag** + */ +export type RoutingRuleDestinationType = string; + +/** Known values of {@link RoutingRuleNextHopType} that the service accepts. */ +export enum KnownRoutingRuleNextHopType { + /** Internet */ + Internet = "Internet", + /** NoNextHop */ + NoNextHop = "NoNextHop", + /** VirtualAppliance */ + VirtualAppliance = "VirtualAppliance", + /** VirtualNetworkGateway */ + VirtualNetworkGateway = "VirtualNetworkGateway", + /** VnetLocal */ + VnetLocal = "VnetLocal", +} + +/** + * Defines values for RoutingRuleNextHopType. \ + * {@link KnownRoutingRuleNextHopType} can be used interchangeably with RoutingRuleNextHopType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Internet** \ + * **NoNextHop** \ + * **VirtualAppliance** \ + * **VirtualNetworkGateway** \ + * **VnetLocal** + */ +export type RoutingRuleNextHopType = 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 */ @@ -15248,6 +16262,24 @@ export enum KnownVirtualNetworkPeeringLevel { */ export type VirtualNetworkPeeringLevel = string; +/** Known values of {@link PrivateEndpointVNetPolicies} that the service accepts. */ +export enum KnownPrivateEndpointVNetPolicies { + /** Disabled */ + Disabled = "Disabled", + /** Basic */ + Basic = "Basic", +} + +/** + * Defines values for PrivateEndpointVNetPolicies. \ + * {@link KnownPrivateEndpointVNetPolicies} can be used interchangeably with PrivateEndpointVNetPolicies, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Disabled** \ + * **Basic** + */ +export type PrivateEndpointVNetPolicies = string; + /** Known values of {@link SyncRemoteAddressSpace} that the service accepts. */ export enum KnownSyncRemoteAddressSpace { /** True */ @@ -15779,6 +16811,24 @@ export enum KnownAdminState { */ export type AdminState = string; +/** Known values of {@link ResiliencyModel} that the service accepts. */ +export enum KnownResiliencyModel { + /** SingleHomed */ + SingleHomed = "SingleHomed", + /** MultiHomed */ + MultiHomed = "MultiHomed", +} + +/** + * Defines values for ResiliencyModel. \ + * {@link KnownResiliencyModel} can be used interchangeably with ResiliencyModel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SingleHomed** \ + * **MultiHomed** + */ +export type ResiliencyModel = string; + /** Known values of {@link VirtualNetworkGatewayConnectionType} that the service accepts. */ export enum KnownVirtualNetworkGatewayConnectionType { /** IPsec */ @@ -16586,19 +17636,91 @@ export enum KnownWebApplicationFirewallPolicyResourceState { */ export type WebApplicationFirewallPolicyResourceState = string; -/** Known values of {@link OwaspCrsExclusionEntryMatchVariable} that the service accepts. */ -export enum KnownOwaspCrsExclusionEntryMatchVariable { - /** RequestHeaderNames */ - RequestHeaderNames = "RequestHeaderNames", - /** RequestCookieNames */ - RequestCookieNames = "RequestCookieNames", - /** RequestArgNames */ - RequestArgNames = "RequestArgNames", - /** RequestHeaderKeys */ - RequestHeaderKeys = "RequestHeaderKeys", - /** RequestHeaderValues */ - RequestHeaderValues = "RequestHeaderValues", - /** RequestCookieKeys */ +/** Known values of {@link ExceptionEntryMatchVariable} that the service accepts. */ +export enum KnownExceptionEntryMatchVariable { + /** RequestURI */ + RequestURI = "RequestURI", + /** RemoteAddr */ + RemoteAddr = "RemoteAddr", + /** RequestHeader */ + RequestHeader = "RequestHeader", +} + +/** + * Defines values for ExceptionEntryMatchVariable. \ + * {@link KnownExceptionEntryMatchVariable} can be used interchangeably with ExceptionEntryMatchVariable, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RequestURI** \ + * **RemoteAddr** \ + * **RequestHeader** + */ +export type ExceptionEntryMatchVariable = string; + +/** Known values of {@link ExceptionEntryValueMatchOperator} that the service accepts. */ +export enum KnownExceptionEntryValueMatchOperator { + /** Equals */ + Equals = "Equals", + /** Contains */ + Contains = "Contains", + /** StartsWith */ + StartsWith = "StartsWith", + /** EndsWith */ + EndsWith = "EndsWith", + /** IPMatch */ + IPMatch = "IPMatch", +} + +/** + * Defines values for ExceptionEntryValueMatchOperator. \ + * {@link KnownExceptionEntryValueMatchOperator} can be used interchangeably with ExceptionEntryValueMatchOperator, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Equals** \ + * **Contains** \ + * **StartsWith** \ + * **EndsWith** \ + * **IPMatch** + */ +export type ExceptionEntryValueMatchOperator = string; + +/** Known values of {@link ExceptionEntrySelectorMatchOperator} that the service accepts. */ +export enum KnownExceptionEntrySelectorMatchOperator { + /** Equals */ + Equals = "Equals", + /** Contains */ + Contains = "Contains", + /** StartsWith */ + StartsWith = "StartsWith", + /** EndsWith */ + EndsWith = "EndsWith", +} + +/** + * Defines values for ExceptionEntrySelectorMatchOperator. \ + * {@link KnownExceptionEntrySelectorMatchOperator} can be used interchangeably with ExceptionEntrySelectorMatchOperator, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Equals** \ + * **Contains** \ + * **StartsWith** \ + * **EndsWith** + */ +export type ExceptionEntrySelectorMatchOperator = string; + +/** Known values of {@link OwaspCrsExclusionEntryMatchVariable} that the service accepts. */ +export enum KnownOwaspCrsExclusionEntryMatchVariable { + /** RequestHeaderNames */ + RequestHeaderNames = "RequestHeaderNames", + /** RequestCookieNames */ + RequestCookieNames = "RequestCookieNames", + /** RequestArgNames */ + RequestArgNames = "RequestArgNames", + /** RequestHeaderKeys */ + RequestHeaderKeys = "RequestHeaderKeys", + /** RequestHeaderValues */ + RequestHeaderValues = "RequestHeaderValues", + /** RequestCookieKeys */ RequestCookieKeys = "RequestCookieKeys", /** RequestCookieValues */ RequestCookieValues = "RequestCookieValues", @@ -16697,6 +17819,30 @@ export enum KnownActionType { */ export type ActionType = string; +/** Known values of {@link SensitivityType} that the service accepts. */ +export enum KnownSensitivityType { + /** None */ + None = "None", + /** Low */ + Low = "Low", + /** Medium */ + Medium = "Medium", + /** High */ + High = "High", +} + +/** + * Defines values for SensitivityType. \ + * {@link KnownSensitivityType} can be used interchangeably with SensitivityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Low** \ + * **Medium** \ + * **High** + */ +export type SensitivityType = string; + /** Known values of {@link FirewallPolicyNatRuleCollectionActionType} that the service accepts. */ export enum KnownFirewallPolicyNatRuleCollectionActionType { /** Dnat */ @@ -16814,54 +17960,6 @@ export enum KnownNetworkOperationStatus { */ export type NetworkOperationStatus = string; -/** Known values of {@link SecurityConfigurationRuleProtocol} that the service accepts. */ -export enum KnownSecurityConfigurationRuleProtocol { - /** Tcp */ - Tcp = "Tcp", - /** Udp */ - Udp = "Udp", - /** Icmp */ - Icmp = "Icmp", - /** Esp */ - Esp = "Esp", - /** Any */ - Any = "Any", - /** Ah */ - Ah = "Ah", -} - -/** - * Defines values for SecurityConfigurationRuleProtocol. \ - * {@link KnownSecurityConfigurationRuleProtocol} can be used interchangeably with SecurityConfigurationRuleProtocol, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Tcp** \ - * **Udp** \ - * **Icmp** \ - * **Esp** \ - * **Any** \ - * **Ah** - */ -export type SecurityConfigurationRuleProtocol = string; - -/** Known values of {@link AddressPrefixType} that the service accepts. */ -export enum KnownAddressPrefixType { - /** IPPrefix */ - IPPrefix = "IPPrefix", - /** ServiceTag */ - ServiceTag = "ServiceTag", -} - -/** - * Defines values for AddressPrefixType. \ - * {@link KnownAddressPrefixType} can be used interchangeably with AddressPrefixType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **IPPrefix** \ - * **ServiceTag** - */ -export type AddressPrefixType = string; - /** Known values of {@link SecurityConfigurationRuleAccess} that the service accepts. */ export enum KnownSecurityConfigurationRuleAccess { /** Allow */ @@ -16883,24 +17981,6 @@ export enum KnownSecurityConfigurationRuleAccess { */ export type SecurityConfigurationRuleAccess = string; -/** Known values of {@link SecurityConfigurationRuleDirection} that the service accepts. */ -export enum KnownSecurityConfigurationRuleDirection { - /** Inbound */ - Inbound = "Inbound", - /** Outbound */ - Outbound = "Outbound", -} - -/** - * Defines values for SecurityConfigurationRuleDirection. \ - * {@link KnownSecurityConfigurationRuleDirection} can be used interchangeably with SecurityConfigurationRuleDirection, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Inbound** \ - * **Outbound** - */ -export type SecurityConfigurationRuleDirection = string; - /** Known values of {@link TunnelConnectionStatus} that the service accepts. */ export enum KnownTunnelConnectionStatus { /** Unknown */ @@ -19201,6 +20281,145 @@ export interface FirewallPolicyRuleCollectionGroupDraftsGetOptionalParams export type FirewallPolicyRuleCollectionGroupDraftsGetResponse = FirewallPolicyRuleCollectionGroupDraft; +/** Optional parameters. */ +export interface IpamPoolsListOptionalParams + extends coreClient.OperationOptions { + /** Optional skip token. */ + skipToken?: string; + /** Optional num entries to skip. */ + skip?: number; + /** Optional num entries to show. */ + top?: number; + /** Optional key by which to sort. */ + sortKey?: string; + /** Optional sort value for pagination. */ + sortValue?: string; +} + +/** Contains response data for the list operation. */ +export type IpamPoolsListResponse = IpamPoolList; + +/** Optional parameters. */ +export interface IpamPoolsCreateOptionalParams + extends coreClient.OperationOptions { + /** Pool resource object to create/update. */ + body?: IpamPool; +} + +/** Contains response data for the create operation. */ +export type IpamPoolsCreateResponse = IpamPool; + +/** Optional parameters. */ +export interface IpamPoolsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Pool resource object to update partially. */ + body?: IpamPoolUpdate; +} + +/** Contains response data for the update operation. */ +export type IpamPoolsUpdateResponse = IpamPool; + +/** Optional parameters. */ +export interface IpamPoolsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type IpamPoolsGetResponse = IpamPool; + +/** Optional parameters. */ +export interface IpamPoolsDeleteOptionalParams + 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 delete operation. */ +export type IpamPoolsDeleteResponse = IpamPoolsDeleteHeaders; + +/** Optional parameters. */ +export interface IpamPoolsGetPoolUsageOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getPoolUsage operation. */ +export type IpamPoolsGetPoolUsageResponse = PoolUsage; + +/** Optional parameters. */ +export interface IpamPoolsListAssociatedResourcesOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAssociatedResources operation. */ +export type IpamPoolsListAssociatedResourcesResponse = PoolAssociationList; + +/** Optional parameters. */ +export interface IpamPoolsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type IpamPoolsListNextResponse = IpamPoolList; + +/** Optional parameters. */ +export interface IpamPoolsListAssociatedResourcesNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listAssociatedResourcesNext operation. */ +export type IpamPoolsListAssociatedResourcesNextResponse = PoolAssociationList; + +/** Optional parameters. */ +export interface StaticCidrsListOptionalParams + extends coreClient.OperationOptions { + /** Optional skip token. */ + skipToken?: string; + /** Optional num entries to skip. */ + skip?: number; + /** Optional num entries to show. */ + top?: number; + /** Optional key by which to sort. */ + sortKey?: string; + /** Optional sort value for pagination. */ + sortValue?: string; +} + +/** Contains response data for the list operation. */ +export type StaticCidrsListResponse = StaticCidrList; + +/** Optional parameters. */ +export interface StaticCidrsCreateOptionalParams + extends coreClient.OperationOptions { + /** StaticCidr resource object to create/update. */ + body?: StaticCidr; +} + +/** Contains response data for the create operation. */ +export type StaticCidrsCreateResponse = StaticCidr; + +/** Optional parameters. */ +export interface StaticCidrsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type StaticCidrsGetResponse = StaticCidr; + +/** Optional parameters. */ +export interface StaticCidrsDeleteOptionalParams + 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 delete operation. */ +export type StaticCidrsDeleteResponse = StaticCidrsDeleteHeaders; + +/** Optional parameters. */ +export interface StaticCidrsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type StaticCidrsListNextResponse = StaticCidrList; + /** Optional parameters. */ export interface IpAllocationsDeleteOptionalParams extends coreClient.OperationOptions { @@ -20263,41 +21482,318 @@ export interface AdminRulesListNextOptionalParams export type AdminRulesListNextResponse = AdminRuleListResult; /** Optional parameters. */ -export interface NetworkProfilesDeleteOptionalParams - 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 NetworkProfilesGetOptionalParams +export interface SecurityUserConfigurationsListOptionalParams extends coreClient.OperationOptions { - /** Expands referenced resources. */ - expand?: string; + /** 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 get operation. */ -export type NetworkProfilesGetResponse = NetworkProfile; +/** Contains response data for the list operation. */ +export type SecurityUserConfigurationsListResponse = + SecurityUserConfigurationListResult; /** Optional parameters. */ -export interface NetworkProfilesCreateOrUpdateOptionalParams +export interface SecurityUserConfigurationsGetOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createOrUpdate operation. */ -export type NetworkProfilesCreateOrUpdateResponse = NetworkProfile; +/** Contains response data for the get operation. */ +export type SecurityUserConfigurationsGetResponse = SecurityUserConfiguration; /** Optional parameters. */ -export interface NetworkProfilesUpdateTagsOptionalParams +export interface SecurityUserConfigurationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the updateTags operation. */ -export type NetworkProfilesUpdateTagsResponse = NetworkProfile; +/** Contains response data for the createOrUpdate operation. */ +export type SecurityUserConfigurationsCreateOrUpdateResponse = + SecurityUserConfiguration; /** Optional parameters. */ -export interface NetworkProfilesListAllOptionalParams - extends coreClient.OperationOptions {} +export interface SecurityUserConfigurationsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface SecurityUserConfigurationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SecurityUserConfigurationsListNextResponse = + SecurityUserConfigurationListResult; + +/** Optional parameters. */ +export interface SecurityUserRuleCollectionsListOptionalParams + 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 SecurityUserRuleCollectionsListResponse = + SecurityUserRuleCollectionListResult; + +/** Optional parameters. */ +export interface SecurityUserRuleCollectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SecurityUserRuleCollectionsGetResponse = SecurityUserRuleCollection; + +/** Optional parameters. */ +export interface SecurityUserRuleCollectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SecurityUserRuleCollectionsCreateOrUpdateResponse = + SecurityUserRuleCollection; + +/** Optional parameters. */ +export interface SecurityUserRuleCollectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface SecurityUserRuleCollectionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SecurityUserRuleCollectionsListNextResponse = + SecurityUserRuleCollectionListResult; + +/** Optional parameters. */ +export interface SecurityUserRulesListOptionalParams + 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 SecurityUserRulesListResponse = SecurityUserRuleListResult; + +/** Optional parameters. */ +export interface SecurityUserRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SecurityUserRulesGetResponse = SecurityUserRule; + +/** Optional parameters. */ +export interface SecurityUserRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SecurityUserRulesCreateOrUpdateResponse = SecurityUserRule; + +/** Optional parameters. */ +export interface SecurityUserRulesDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface SecurityUserRulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type SecurityUserRulesListNextResponse = SecurityUserRuleListResult; + +/** Optional parameters. */ +export interface NetworkManagerRoutingConfigurationsListOptionalParams + 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 NetworkManagerRoutingConfigurationsListResponse = + NetworkManagerRoutingConfigurationListResult; + +/** Optional parameters. */ +export interface NetworkManagerRoutingConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type NetworkManagerRoutingConfigurationsGetResponse = + NetworkManagerRoutingConfiguration; + +/** Optional parameters. */ +export interface NetworkManagerRoutingConfigurationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkManagerRoutingConfigurationsCreateOrUpdateResponse = + NetworkManagerRoutingConfiguration; + +/** Optional parameters. */ +export interface NetworkManagerRoutingConfigurationsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface NetworkManagerRoutingConfigurationsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type NetworkManagerRoutingConfigurationsListNextResponse = + NetworkManagerRoutingConfigurationListResult; + +/** Optional parameters. */ +export interface RoutingRuleCollectionsListOptionalParams + 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 RoutingRuleCollectionsListResponse = + RoutingRuleCollectionListResult; + +/** Optional parameters. */ +export interface RoutingRuleCollectionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RoutingRuleCollectionsGetResponse = RoutingRuleCollection; + +/** Optional parameters. */ +export interface RoutingRuleCollectionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type RoutingRuleCollectionsCreateOrUpdateResponse = + RoutingRuleCollection; + +/** Optional parameters. */ +export interface RoutingRuleCollectionsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface RoutingRuleCollectionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type RoutingRuleCollectionsListNextResponse = + RoutingRuleCollectionListResult; + +/** Optional parameters. */ +export interface RoutingRulesListOptionalParams + 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 RoutingRulesListResponse = RoutingRuleListResult; + +/** Optional parameters. */ +export interface RoutingRulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type RoutingRulesGetResponse = RoutingRule; + +/** Optional parameters. */ +export interface RoutingRulesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type RoutingRulesCreateOrUpdateResponse = RoutingRule; + +/** Optional parameters. */ +export interface RoutingRulesDeleteOptionalParams + extends coreClient.OperationOptions { + /** Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete. */ + force?: 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; +} + +/** Optional parameters. */ +export interface RoutingRulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type RoutingRulesListNextResponse = RoutingRuleListResult; + +/** Optional parameters. */ +export interface NetworkProfilesDeleteOptionalParams + 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 NetworkProfilesGetOptionalParams + extends coreClient.OperationOptions { + /** Expands referenced resources. */ + expand?: string; +} + +/** Contains response data for the get operation. */ +export type NetworkProfilesGetResponse = NetworkProfile; + +/** Optional parameters. */ +export interface NetworkProfilesCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type NetworkProfilesCreateOrUpdateResponse = NetworkProfile; + +/** Optional parameters. */ +export interface NetworkProfilesUpdateTagsOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateTags operation. */ +export type NetworkProfilesUpdateTagsResponse = NetworkProfile; + +/** Optional parameters. */ +export interface NetworkProfilesListAllOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the listAll operation. */ export type NetworkProfilesListAllResponse = NetworkProfileListResult; @@ -20455,6 +21951,172 @@ export interface DefaultSecurityRulesListNextOptionalParams /** Contains response data for the listNext operation. */ export type DefaultSecurityRulesListNextResponse = SecurityRuleListResult; +/** Optional parameters. */ +export interface ReachabilityAnalysisIntentsListOptionalParams + extends coreClient.OperationOptions { + /** Optional skip token. */ + skipToken?: string; + /** Optional num entries to skip. */ + skip?: number; + /** Optional num entries to show. */ + top?: number; + /** Optional key by which to sort. */ + sortKey?: string; + /** Optional sort value for pagination. */ + sortValue?: string; +} + +/** Contains response data for the list operation. */ +export type ReachabilityAnalysisIntentsListResponse = + ReachabilityAnalysisIntentListResult; + +/** Optional parameters. */ +export interface ReachabilityAnalysisIntentsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ReachabilityAnalysisIntentsGetResponse = ReachabilityAnalysisIntent; + +/** Optional parameters. */ +export interface ReachabilityAnalysisIntentsCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type ReachabilityAnalysisIntentsCreateResponse = + ReachabilityAnalysisIntent; + +/** Optional parameters. */ +export interface ReachabilityAnalysisIntentsDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ReachabilityAnalysisIntentsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ReachabilityAnalysisIntentsListNextResponse = + ReachabilityAnalysisIntentListResult; + +/** Optional parameters. */ +export interface ReachabilityAnalysisRunsListOptionalParams + extends coreClient.OperationOptions { + /** Optional skip token. */ + skipToken?: string; + /** Optional num entries to skip. */ + skip?: number; + /** Optional num entries to show. */ + top?: number; + /** Optional key by which to sort. */ + sortKey?: string; + /** Optional sort value for pagination. */ + sortValue?: string; +} + +/** Contains response data for the list operation. */ +export type ReachabilityAnalysisRunsListResponse = + ReachabilityAnalysisRunListResult; + +/** Optional parameters. */ +export interface ReachabilityAnalysisRunsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ReachabilityAnalysisRunsGetResponse = ReachabilityAnalysisRun; + +/** Optional parameters. */ +export interface ReachabilityAnalysisRunsCreateOptionalParams + 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 create operation. */ +export type ReachabilityAnalysisRunsCreateResponse = ReachabilityAnalysisRun; + +/** Optional parameters. */ +export interface ReachabilityAnalysisRunsDeleteOptionalParams + 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 delete operation. */ +export type ReachabilityAnalysisRunsDeleteResponse = + ReachabilityAnalysisRunsDeleteHeaders; + +/** Optional parameters. */ +export interface ReachabilityAnalysisRunsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ReachabilityAnalysisRunsListNextResponse = + ReachabilityAnalysisRunListResult; + +/** Optional parameters. */ +export interface VerifierWorkspacesListOptionalParams + extends coreClient.OperationOptions { + /** Optional skip token. */ + skipToken?: string; + /** Optional num entries to skip. */ + skip?: number; + /** Optional num entries to show. */ + top?: number; + /** Optional key by which to sort. */ + sortKey?: string; + /** Optional sort value for pagination. */ + sortValue?: string; +} + +/** Contains response data for the list operation. */ +export type VerifierWorkspacesListResponse = VerifierWorkspaceListResult; + +/** Optional parameters. */ +export interface VerifierWorkspacesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type VerifierWorkspacesGetResponse = VerifierWorkspace; + +/** Optional parameters. */ +export interface VerifierWorkspacesCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type VerifierWorkspacesCreateResponse = VerifierWorkspace; + +/** Optional parameters. */ +export interface VerifierWorkspacesUpdateOptionalParams + extends coreClient.OperationOptions { + /** Verifier Workspace object to create/update. */ + body?: VerifierWorkspaceUpdate; +} + +/** Contains response data for the update operation. */ +export type VerifierWorkspacesUpdateResponse = VerifierWorkspace; + +/** Optional parameters. */ +export interface VerifierWorkspacesDeleteOptionalParams + 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 delete operation. */ +export type VerifierWorkspacesDeleteResponse = VerifierWorkspacesDeleteHeaders; + +/** Optional parameters. */ +export interface VerifierWorkspacesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type VerifierWorkspacesListNextResponse = VerifierWorkspaceListResult; + /** Optional parameters. */ export interface NetworkVirtualAppliancesDeleteOptionalParams extends coreClient.OperationOptions { @@ -21900,10 +23562,10 @@ export type VirtualNetworksListUsageResponse = VirtualNetworkListUsageResult; /** Optional parameters. */ export interface VirtualNetworksListDdosProtectionStatusOptionalParams extends coreClient.OperationOptions { - /** The max number of ip addresses to return. */ - top?: number; /** The skipToken that is given with nextLink. */ skipToken?: string; + /** The max number of ip addresses to return. */ + top?: number; /** 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. */ @@ -23349,6 +25011,43 @@ export interface VpnLinkConnectionsResetConnectionOptionalParams resumeFrom?: string; } +/** Optional parameters. */ +export interface VpnLinkConnectionsGetAllSharedKeysOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getAllSharedKeys operation. */ +export type VpnLinkConnectionsGetAllSharedKeysResponse = + ConnectionSharedKeyResultList; + +/** Optional parameters. */ +export interface VpnLinkConnectionsGetDefaultSharedKeyOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getDefaultSharedKey operation. */ +export type VpnLinkConnectionsGetDefaultSharedKeyResponse = + ConnectionSharedKeyResult; + +/** Optional parameters. */ +export interface VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams + 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 setOrInitDefaultSharedKey operation. */ +export type VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse = + ConnectionSharedKeyResult; + +/** Optional parameters. */ +export interface VpnLinkConnectionsListDefaultSharedKeyOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listDefaultSharedKey operation. */ +export type VpnLinkConnectionsListDefaultSharedKeyResponse = + ConnectionSharedKeyResult; + /** Optional parameters. */ export interface VpnLinkConnectionsGetIkeSasOptionalParams extends coreClient.OperationOptions { @@ -23372,6 +25071,14 @@ export interface VpnLinkConnectionsListByVpnConnectionOptionalParams export type VpnLinkConnectionsListByVpnConnectionResponse = ListVpnSiteLinkConnectionsResult; +/** Optional parameters. */ +export interface VpnLinkConnectionsGetAllSharedKeysNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getAllSharedKeysNext operation. */ +export type VpnLinkConnectionsGetAllSharedKeysNextResponse = + ConnectionSharedKeyResultList; + /** Optional parameters. */ export interface VpnLinkConnectionsListByVpnConnectionNextOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/network/arm-network/src/models/mappers.ts b/sdk/network/arm-network/src/models/mappers.ts index 5e3fe1f0a666..3962d4b24aec 100644 --- a/sdk/network/arm-network/src/models/mappers.ts +++ b/sdk/network/arm-network/src/models/mappers.ts @@ -754,6 +754,39 @@ export const NatGatewaySku: coreClient.CompositeMapper = { }, }; +export const IpamPoolPrefixAllocation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpamPoolPrefixAllocation", + modelProperties: { + numberOfIpAddresses: { + serializedName: "numberOfIpAddresses", + type: { + name: "String", + }, + }, + allocatedAddressPrefixes: { + serializedName: "allocatedAddressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + id: { + serializedName: "pool.id", + type: { + name: "String", + }, + }, + }, + }, +}; + export const GatewayLoadBalancerTunnelInterface: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1870,6 +1903,12 @@ export const ApplicationGatewayFirewallRule: coreClient.CompositeMapper = { name: "String", }, }, + sensitivity: { + serializedName: "sensitivity", + type: { + name: "String", + }, + }, description: { serializedName: "description", type: { @@ -2638,6 +2677,35 @@ export const AzureFirewallSku: coreClient.CompositeMapper = { }, }; +export const AzureFirewallAutoscaleConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureFirewallAutoscaleConfiguration", + modelProperties: { + minCapacity: { + constraints: { + InclusiveMinimum: 2, + }, + serializedName: "minCapacity", + nullable: true, + type: { + name: "Number", + }, + }, + maxCapacity: { + constraints: { + InclusiveMinimum: 2, + }, + serializedName: "maxCapacity", + nullable: true, + type: { + name: "Number", + }, + }, + }, + }, +}; + export const AzureFirewallListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -5600,10 +5668,10 @@ export const SignaturesOverridesList: coreClient.CompositeMapper = { }, }; -export const IpAllocationListResult: coreClient.CompositeMapper = { +export const IpamPoolList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IpAllocationListResult", + className: "IpamPoolList", modelProperties: { value: { serializedName: "value", @@ -5612,7 +5680,7 @@ export const IpAllocationListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "IpAllocation", + className: "IpamPool", }, }, }, @@ -5627,25 +5695,55 @@ export const IpAllocationListResult: coreClient.CompositeMapper = { }, }; -export const IpGroupListResult: coreClient.CompositeMapper = { +export const IpamPoolProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "IpGroupListResult", + className: "IpamPoolProperties", modelProperties: { - value: { - serializedName: "value", + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + displayName: { + serializedName: "displayName", + type: { + name: "String", + }, + }, + ipAddressType: { + serializedName: "ipAddressType", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "IpGroup", + name: "String", }, }, }, }, - nextLink: { - serializedName: "nextLink", + parentPoolName: { + serializedName: "parentPoolName", + type: { + name: "String", + }, + }, + addressPrefixes: { + serializedName: "addressPrefixes", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + provisioningState: { + serializedName: "provisioningState", type: { name: "String", }, @@ -5654,131 +5752,710 @@ export const IpGroupListResult: coreClient.CompositeMapper = { }, }; -export const LoadBalancerSku: coreClient.CompositeMapper = { +export const CommonResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LoadBalancerSku", + className: "CommonResource", modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String", + }, + }, name: { serializedName: "name", + readOnly: true, type: { name: "String", }, }, - tier: { - serializedName: "tier", + type: { + serializedName: "type", + readOnly: true, type: { name: "String", }, }, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + }, + }, }, }, }; -export const LoadBalancerListResult: coreClient.CompositeMapper = { +export const SystemData: coreClient.CompositeMapper = { type: { name: "Composite", - className: "LoadBalancerListResult", + className: "SystemData", modelProperties: { - value: { - serializedName: "value", + createdBy: { + serializedName: "createdBy", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "LoadBalancer", - }, - }, + name: "String", }, }, - nextLink: { - serializedName: "nextLink", - readOnly: true, + createdByType: { + serializedName: "createdByType", type: { name: "String", }, }, - }, - }, -}; - -export const LoadBalancerBackendAddressPoolListResult: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "LoadBalancerBackendAddressPoolListResult", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "BackendAddressPool", - }, - }, - }, + createdAt: { + serializedName: "createdAt", + type: { + name: "DateTime", }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String", - }, + }, + lastModifiedBy: { + serializedName: "lastModifiedBy", + type: { + name: "String", + }, + }, + lastModifiedByType: { + serializedName: "lastModifiedByType", + type: { + name: "String", + }, + }, + lastModifiedAt: { + serializedName: "lastModifiedAt", + type: { + name: "DateTime", }, }, }, - }; + }, +}; -export const LoadBalancerFrontendIPConfigurationListResult: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "LoadBalancerFrontendIPConfigurationListResult", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "FrontendIPConfiguration", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String", - }, +export const CommonErrorResponse: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CommonErrorResponse", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "CommonErrorDetail", }, }, }, - }; + }, +}; -export const InboundNatRuleListResult: coreClient.CompositeMapper = { +export const CommonErrorDetail: coreClient.CompositeMapper = { type: { name: "Composite", - className: "InboundNatRuleListResult", + className: "CommonErrorDetail", modelProperties: { - value: { - serializedName: "value", + 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: "InboundNatRule", + className: "CommonErrorDetail", }, }, }, }, - nextLink: { + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "CommonErrorAdditionalInfo", + }, + }, + }, + }, + }, + }, +}; + +export const CommonErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CommonErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String", + }, + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } }, + }, + }, + }, + }, +}; + +export const IpamPoolUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpamPoolUpdate", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, + }, + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "IpamPoolUpdateProperties", + }, + }, + }, + }, +}; + +export const IpamPoolUpdateProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpamPoolUpdateProperties", + modelProperties: { + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + displayName: { + serializedName: "displayName", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const PoolUsage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PoolUsage", + modelProperties: { + addressPrefixes: { + serializedName: "addressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + childPools: { + serializedName: "childPools", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ResourceBasics", + }, + }, + }, + }, + allocatedAddressPrefixes: { + serializedName: "allocatedAddressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + reservedAddressPrefixes: { + serializedName: "reservedAddressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + availableAddressPrefixes: { + serializedName: "availableAddressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + totalNumberOfIPAddresses: { + serializedName: "totalNumberOfIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + numberOfAllocatedIPAddresses: { + serializedName: "numberOfAllocatedIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + numberOfReservedIPAddresses: { + serializedName: "numberOfReservedIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + numberOfAvailableIPAddresses: { + serializedName: "numberOfAvailableIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ResourceBasics: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceBasics", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String", + }, + }, + addressPrefixes: { + serializedName: "addressPrefixes", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + +export const PoolAssociationList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PoolAssociationList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PoolAssociation", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const PoolAssociation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PoolAssociation", + modelProperties: { + resourceId: { + serializedName: "resourceId", + required: true, + type: { + name: "String", + }, + }, + poolId: { + serializedName: "poolId", + type: { + name: "String", + }, + }, + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + addressPrefixes: { + serializedName: "addressPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + reservedPrefixes: { + serializedName: "reservedPrefixes", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + totalNumberOfIPAddresses: { + serializedName: "totalNumberOfIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + numberOfReservedIPAddresses: { + serializedName: "numberOfReservedIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + createdAt: { + serializedName: "createdAt", + readOnly: true, + type: { + name: "DateTime", + }, + }, + reservationExpiresAt: { + serializedName: "reservationExpiresAt", + readOnly: true, + type: { + name: "DateTime", + }, + }, + }, + }, +}; + +export const StaticCidrList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StaticCidrList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticCidr", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const StaticCidrProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StaticCidrProperties", + modelProperties: { + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + numberOfIPAddressesToAllocate: { + serializedName: "numberOfIPAddressesToAllocate", + type: { + name: "String", + }, + }, + addressPrefixes: { + serializedName: "addressPrefixes", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + totalNumberOfIPAddresses: { + serializedName: "totalNumberOfIPAddresses", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const IpAllocationListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpAllocationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpAllocation", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const IpGroupListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpGroupListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpGroup", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const LoadBalancerSku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LoadBalancerSku", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + tier: { + serializedName: "tier", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const LoadBalancerListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "LoadBalancerListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "LoadBalancer", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const LoadBalancerBackendAddressPoolListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "LoadBalancerBackendAddressPoolListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "BackendAddressPool", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, + }; + +export const LoadBalancerFrontendIPConfigurationListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "LoadBalancerFrontendIPConfigurationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "FrontendIPConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, + }; + +export const InboundNatRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "InboundNatRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "InboundNatRule", + }, + }, + }, + }, + nextLink: { serializedName: "nextLink", readOnly: true, type: { @@ -6558,51 +7235,6 @@ export const CrossTenantScopes: coreClient.CompositeMapper = { }, }; -export const SystemData: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SystemData", - modelProperties: { - createdBy: { - serializedName: "createdBy", - type: { - name: "String", - }, - }, - createdByType: { - serializedName: "createdByType", - type: { - name: "String", - }, - }, - createdAt: { - serializedName: "createdAt", - type: { - name: "DateTime", - }, - }, - lastModifiedBy: { - serializedName: "lastModifiedBy", - type: { - name: "String", - }, - }, - lastModifiedByType: { - serializedName: "lastModifiedByType", - type: { - name: "String", - }, - }, - lastModifiedAt: { - serializedName: "lastModifiedAt", - type: { - name: "DateTime", - }, - }, - }, - }, -}; - export const PatchObject: coreClient.CompositeMapper = { type: { name: "Composite", @@ -6915,34 +7547,233 @@ export const EffectiveConnectivityConfiguration: coreClient.CompositeMapper = { name: "String", }, }, - appliesToGroups: { - serializedName: "properties.appliesToGroups", + appliesToGroups: { + serializedName: "properties.appliesToGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectivityGroupItem", + }, + }, + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + deleteExistingPeering: { + serializedName: "properties.deleteExistingPeering", + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const Hub: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Hub", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String", + }, + }, + resourceType: { + serializedName: "resourceType", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ConnectivityGroupItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConnectivityGroupItem", + modelProperties: { + networkGroupId: { + serializedName: "networkGroupId", + required: true, + type: { + name: "String", + }, + }, + useHubGateway: { + serializedName: "useHubGateway", + type: { + name: "String", + }, + }, + isGlobal: { + serializedName: "isGlobal", + type: { + name: "String", + }, + }, + groupConnectivity: { + serializedName: "groupConnectivity", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ConfigurationGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConfigurationGroup", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ActiveSecurityAdminRulesListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ActiveSecurityAdminRulesListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ActiveBaseSecurityAdminRule", + }, + }, + }, + }, + skipToken: { + serializedName: "skipToken", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ActiveBaseSecurityAdminRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ActiveBaseSecurityAdminRule", + uberParent: "ActiveBaseSecurityAdminRule", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind", + }, + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String", + }, + }, + commitTime: { + serializedName: "commitTime", + type: { + name: "DateTime", + }, + }, + region: { + serializedName: "region", + type: { + name: "String", + }, + }, + configurationDescription: { + serializedName: "configurationDescription", + type: { + name: "String", + }, + }, + ruleCollectionDescription: { + serializedName: "ruleCollectionDescription", + type: { + name: "String", + }, + }, + ruleCollectionAppliesToGroups: { + serializedName: "ruleCollectionAppliesToGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkManagerSecurityGroupItem", + }, + }, + }, + }, + ruleGroups: { + serializedName: "ruleGroups", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ConnectivityGroupItem", + className: "ConfigurationGroup", }, }, }, }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String", - }, - }, - deleteExistingPeering: { - serializedName: "properties.deleteExistingPeering", - type: { - name: "String", - }, - }, - resourceGuid: { - serializedName: "properties.resourceGuid", - readOnly: true, + kind: { + serializedName: "kind", + required: true, type: { name: "String", }, @@ -6951,19 +7782,14 @@ export const EffectiveConnectivityConfiguration: coreClient.CompositeMapper = { }, }; -export const Hub: coreClient.CompositeMapper = { +export const NetworkManagerSecurityGroupItem: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Hub", + className: "NetworkManagerSecurityGroupItem", modelProperties: { - resourceId: { - serializedName: "resourceId", - type: { - name: "String", - }, - }, - resourceType: { - serializedName: "resourceType", + networkGroupId: { + serializedName: "networkGroupId", + required: true, type: { name: "String", }, @@ -6972,33 +7798,35 @@ export const Hub: coreClient.CompositeMapper = { }, }; -export const ConnectivityGroupItem: coreClient.CompositeMapper = { +export const ChildResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConnectivityGroupItem", + className: "ChildResource", modelProperties: { - networkGroupId: { - serializedName: "networkGroupId", - required: true, + id: { + serializedName: "id", + readOnly: true, type: { name: "String", }, }, - useHubGateway: { - serializedName: "useHubGateway", + name: { + serializedName: "name", + readOnly: true, type: { name: "String", }, }, - isGlobal: { - serializedName: "isGlobal", + type: { + serializedName: "type", + readOnly: true, type: { name: "String", }, }, - groupConnectivity: { - serializedName: "groupConnectivity", - required: true, + etag: { + serializedName: "etag", + readOnly: true, type: { name: "String", }, @@ -7007,33 +7835,25 @@ export const ConnectivityGroupItem: coreClient.CompositeMapper = { }, }; -export const ConfigurationGroup: coreClient.CompositeMapper = { +export const NetworkManagerConnectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConfigurationGroup", + className: "NetworkManagerConnectionListResult", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String", - }, - }, - description: { - serializedName: "properties.description", - type: { - name: "String", - }, - }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, + value: { + serializedName: "value", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkManagerConnection", + }, + }, }, }, - resourceGuid: { - serializedName: "properties.resourceGuid", - readOnly: true, + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7042,10 +7862,10 @@ export const ConfigurationGroup: coreClient.CompositeMapper = { }, }; -export const ActiveSecurityAdminRulesListResult: coreClient.CompositeMapper = { +export const ConnectivityConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ActiveSecurityAdminRulesListResult", + className: "ConnectivityConfigurationListResult", modelProperties: { value: { serializedName: "value", @@ -7054,11 +7874,26 @@ export const ActiveSecurityAdminRulesListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ActiveBaseSecurityAdminRule", + className: "ConnectivityConfiguration", }, }, }, }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const QueryRequestOptions: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "QueryRequestOptions", + modelProperties: { skipToken: { serializedName: "skipToken", type: { @@ -7069,11 +7904,67 @@ export const ActiveSecurityAdminRulesListResult: coreClient.CompositeMapper = { }, }; -export const ActiveBaseSecurityAdminRule: coreClient.CompositeMapper = { +export const NetworkManagerEffectiveConnectivityConfigurationListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkManagerEffectiveConnectivityConfigurationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EffectiveConnectivityConfiguration", + }, + }, + }, + }, + skipToken: { + serializedName: "skipToken", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const NetworkManagerEffectiveSecurityAdminRulesListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkManagerEffectiveSecurityAdminRulesListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EffectiveBaseSecurityAdminRule", + }, + }, + }, + }, + skipToken: { + serializedName: "skipToken", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const EffectiveBaseSecurityAdminRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ActiveBaseSecurityAdminRule", - uberParent: "ActiveBaseSecurityAdminRule", + className: "EffectiveBaseSecurityAdminRule", + uberParent: "EffectiveBaseSecurityAdminRule", polymorphicDiscriminator: { serializedName: "kind", clientName: "kind", @@ -7085,18 +7976,6 @@ export const ActiveBaseSecurityAdminRule: coreClient.CompositeMapper = { name: "String", }, }, - commitTime: { - serializedName: "commitTime", - type: { - name: "DateTime", - }, - }, - region: { - serializedName: "region", - type: { - name: "String", - }, - }, configurationDescription: { serializedName: "configurationDescription", type: { @@ -7144,14 +8023,25 @@ export const ActiveBaseSecurityAdminRule: coreClient.CompositeMapper = { }, }; -export const NetworkManagerSecurityGroupItem: coreClient.CompositeMapper = { +export const NetworkGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkManagerSecurityGroupItem", + className: "NetworkGroupListResult", modelProperties: { - networkGroupId: { - serializedName: "networkGroupId", - required: true, + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkGroup", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7160,35 +8050,52 @@ export const NetworkManagerSecurityGroupItem: coreClient.CompositeMapper = { }, }; -export const ChildResource: coreClient.CompositeMapper = { +export const StaticMemberListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ChildResource", + className: "StaticMemberListResult", modelProperties: { - id: { - serializedName: "id", - readOnly: true, + value: { + serializedName: "value", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StaticMember", + }, + }, }, }, - name: { - serializedName: "name", - readOnly: true, + nextLink: { + serializedName: "nextLink", type: { name: "String", }, }, - type: { - serializedName: "type", - readOnly: true, + }, + }, +}; + +export const ScopeConnectionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScopeConnectionListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScopeConnection", + }, + }, }, }, - etag: { - serializedName: "etag", - readOnly: true, + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7197,10 +8104,38 @@ export const ChildResource: coreClient.CompositeMapper = { }, }; -export const NetworkManagerConnectionListResult: coreClient.CompositeMapper = { +export const SecurityAdminConfigurationListResult: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SecurityAdminConfigurationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecurityAdminConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const AdminRuleCollectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkManagerConnectionListResult", + className: "AdminRuleCollectionListResult", modelProperties: { value: { serializedName: "value", @@ -7209,7 +8144,7 @@ export const NetworkManagerConnectionListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "NetworkManagerConnection", + className: "AdminRuleCollection", }, }, }, @@ -7224,10 +8159,10 @@ export const NetworkManagerConnectionListResult: coreClient.CompositeMapper = { }, }; -export const ConnectivityConfigurationListResult: coreClient.CompositeMapper = { +export const AdminRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ConnectivityConfigurationListResult", + className: "AdminRuleListResult", modelProperties: { value: { serializedName: "value", @@ -7236,7 +8171,7 @@ export const ConnectivityConfigurationListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ConnectivityConfiguration", + className: "BaseAdminRule", }, }, }, @@ -7251,13 +8186,25 @@ export const ConnectivityConfigurationListResult: coreClient.CompositeMapper = { }, }; -export const QueryRequestOptions: coreClient.CompositeMapper = { +export const SecurityUserConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "QueryRequestOptions", + className: "SecurityUserConfigurationListResult", modelProperties: { - skipToken: { - serializedName: "skipToken", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecurityUserConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7266,11 +8213,11 @@ export const QueryRequestOptions: coreClient.CompositeMapper = { }, }; -export const NetworkManagerEffectiveConnectivityConfigurationListResult: coreClient.CompositeMapper = +export const SecurityUserRuleCollectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkManagerEffectiveConnectivityConfigurationListResult", + className: "SecurityUserRuleCollectionListResult", modelProperties: { value: { serializedName: "value", @@ -7279,13 +8226,13 @@ export const NetworkManagerEffectiveConnectivityConfigurationListResult: coreCli element: { type: { name: "Composite", - className: "EffectiveConnectivityConfiguration", + className: "SecurityUserRuleCollection", }, }, }, }, - skipToken: { - serializedName: "skipToken", + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7294,11 +8241,75 @@ export const NetworkManagerEffectiveConnectivityConfigurationListResult: coreCli }, }; -export const NetworkManagerEffectiveSecurityAdminRulesListResult: coreClient.CompositeMapper = +export const SecurityUserGroupItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserGroupItem", + modelProperties: { + networkGroupId: { + serializedName: "networkGroupId", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SecurityUserRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserRuleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecurityUserRule", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const AddressPrefixItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AddressPrefixItem", + modelProperties: { + addressPrefix: { + serializedName: "addressPrefix", + type: { + name: "String", + }, + }, + addressPrefixType: { + serializedName: "addressPrefixType", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NetworkManagerRoutingConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkManagerEffectiveSecurityAdminRulesListResult", + className: "NetworkManagerRoutingConfigurationListResult", modelProperties: { value: { serializedName: "value", @@ -7307,13 +8318,13 @@ export const NetworkManagerEffectiveSecurityAdminRulesListResult: coreClient.Com element: { type: { name: "Composite", - className: "EffectiveBaseSecurityAdminRule", + className: "NetworkManagerRoutingConfiguration", }, }, }, }, - skipToken: { - serializedName: "skipToken", + nextLink: { + serializedName: "nextLink", type: { name: "String", }, @@ -7322,73 +8333,162 @@ export const NetworkManagerEffectiveSecurityAdminRulesListResult: coreClient.Com }, }; -export const EffectiveBaseSecurityAdminRule: coreClient.CompositeMapper = { +export const RoutingRuleCollectionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EffectiveBaseSecurityAdminRule", - uberParent: "EffectiveBaseSecurityAdminRule", - polymorphicDiscriminator: { - serializedName: "kind", - clientName: "kind", - }, + className: "RoutingRuleCollectionListResult", modelProperties: { - id: { - serializedName: "id", + value: { + serializedName: "value", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoutingRuleCollection", + }, + }, }, }, - configurationDescription: { - serializedName: "configurationDescription", + nextLink: { + serializedName: "nextLink", type: { name: "String", }, }, - ruleCollectionDescription: { - serializedName: "ruleCollectionDescription", + }, + }, +}; + +export const NetworkManagerRoutingGroupItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkManagerRoutingGroupItem", + modelProperties: { + networkGroupId: { + serializedName: "networkGroupId", + required: true, type: { name: "String", }, }, - ruleCollectionAppliesToGroups: { - serializedName: "ruleCollectionAppliesToGroups", + }, + }, +}; + +export const RoutingRuleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoutingRuleListResult", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "NetworkManagerSecurityGroupItem", + className: "RoutingRule", }, }, }, }, - ruleGroups: { - serializedName: "ruleGroups", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ConfigurationGroup", - }, + name: "String", + }, + }, + }, + }, +}; + +export const RoutingRuleRouteDestination: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoutingRuleRouteDestination", + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String", + }, + }, + destinationAddress: { + serializedName: "destinationAddress", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const RoutingRuleNextHop: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoutingRuleNextHop", + modelProperties: { + nextHopType: { + serializedName: "nextHopType", + required: true, + type: { + name: "String", + }, + }, + nextHopAddress: { + serializedName: "nextHopAddress", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ContainerNetworkInterfaceIpConfiguration: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ContainerNetworkInterfaceIpConfiguration", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String", }, }, - }, - kind: { - serializedName: "kind", - required: true, - type: { - name: "String", + etag: { + serializedName: "etag", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, }, }, }, - }, -}; + }; -export const NetworkGroupListResult: coreClient.CompositeMapper = { +export const NetworkProfileListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkGroupListResult", + className: "NetworkProfileListResult", modelProperties: { value: { serializedName: "value", @@ -7397,7 +8497,7 @@ export const NetworkGroupListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "NetworkGroup", + className: "NetworkProfile", }, }, }, @@ -7412,10 +8512,10 @@ export const NetworkGroupListResult: coreClient.CompositeMapper = { }, }; -export const StaticMemberListResult: coreClient.CompositeMapper = { +export const NetworkSecurityGroupListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "StaticMemberListResult", + className: "NetworkSecurityGroupListResult", modelProperties: { value: { serializedName: "value", @@ -7424,7 +8524,7 @@ export const StaticMemberListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "StaticMember", + className: "NetworkSecurityGroup", }, }, }, @@ -7439,10 +8539,10 @@ export const StaticMemberListResult: coreClient.CompositeMapper = { }, }; -export const ScopeConnectionListResult: coreClient.CompositeMapper = { +export const SecurityRuleListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScopeConnectionListResult", + className: "SecurityRuleListResult", modelProperties: { value: { serializedName: "value", @@ -7451,7 +8551,7 @@ export const ScopeConnectionListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ScopeConnection", + className: "SecurityRule", }, }, }, @@ -7466,11 +8566,11 @@ export const ScopeConnectionListResult: coreClient.CompositeMapper = { }, }; -export const SecurityAdminConfigurationListResult: coreClient.CompositeMapper = +export const ReachabilityAnalysisIntentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecurityAdminConfigurationListResult", + className: "ReachabilityAnalysisIntentListResult", modelProperties: { value: { serializedName: "value", @@ -7479,7 +8579,7 @@ export const SecurityAdminConfigurationListResult: coreClient.CompositeMapper = element: { type: { name: "Composite", - className: "SecurityAdminConfiguration", + className: "ReachabilityAnalysisIntent", }, }, }, @@ -7494,37 +8594,122 @@ export const SecurityAdminConfigurationListResult: coreClient.CompositeMapper = }, }; -export const AdminRuleCollectionListResult: coreClient.CompositeMapper = { +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: "AdminRuleCollectionListResult", + className: "IPTraffic", modelProperties: { - value: { - serializedName: "value", + sourceIps: { + serializedName: "sourceIps", + required: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "AdminRuleCollection", + name: "String", }, }, }, }, - nextLink: { - serializedName: "nextLink", + destinationIps: { + serializedName: "destinationIps", + required: true, type: { - name: "String", + 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 AdminRuleListResult: coreClient.CompositeMapper = { +export const ReachabilityAnalysisRunListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AdminRuleListResult", + className: "ReachabilityAnalysisRunListResult", modelProperties: { value: { serializedName: "value", @@ -7533,7 +8718,7 @@ export const AdminRuleListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "BaseAdminRule", + className: "ReachabilityAnalysisRun", }, }, }, @@ -7548,47 +8733,95 @@ export const AdminRuleListResult: coreClient.CompositeMapper = { }, }; -export const ContainerNetworkInterfaceIpConfiguration: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ContainerNetworkInterfaceIpConfiguration", - modelProperties: { - name: { - serializedName: "name", - 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: { - serializedName: "type", - readOnly: true, - type: { - name: "String", - }, + name: "String", }, - etag: { - serializedName: "etag", - readOnly: true, - type: { - name: "String", - }, + }, + intentContent: { + serializedName: "intentContent", + type: { + name: "Composite", + className: "IntentContent", }, - provisioningState: { - serializedName: "properties.provisioningState", - readOnly: true, - type: { - name: "String", - }, + }, + analysisResult: { + serializedName: "analysisResult", + readOnly: true, + type: { + name: "String", + }, + }, + errorMessage: { + serializedName: "errorMessage", + readOnly: true, + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String", }, }, }, - }; + }, +}; -export const NetworkProfileListResult: coreClient.CompositeMapper = { +export const IntentContent: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkProfileListResult", + className: "IntentContent", + modelProperties: { + 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 VerifierWorkspaceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VerifierWorkspaceListResult", modelProperties: { value: { serializedName: "value", @@ -7597,7 +8830,7 @@ export const NetworkProfileListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "NetworkProfile", + className: "VerifierWorkspace", }, }, }, @@ -7612,52 +8845,57 @@ export const NetworkProfileListResult: coreClient.CompositeMapper = { }, }; -export const NetworkSecurityGroupListResult: coreClient.CompositeMapper = { +export const VerifierWorkspaceProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "NetworkSecurityGroupListResult", + className: "VerifierWorkspaceProperties", modelProperties: { - value: { - serializedName: "value", + description: { + serializedName: "description", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkSecurityGroup", - }, - }, + name: "String", + }, + }, + provisioningState: { + serializedName: "provisioningState", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const VerifierWorkspaceUpdate: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VerifierWorkspaceUpdate", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - nextLink: { - serializedName: "nextLink", + properties: { + serializedName: "properties", type: { - name: "String", + name: "Composite", + className: "VerifierWorkspaceUpdateProperties", }, }, }, }, }; -export const SecurityRuleListResult: coreClient.CompositeMapper = { +export const VerifierWorkspaceUpdateProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecurityRuleListResult", + className: "VerifierWorkspaceUpdateProperties", modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SecurityRule", - }, - }, - }, - }, - nextLink: { - serializedName: "nextLink", + description: { + serializedName: "description", type: { name: "String", }, @@ -9369,6 +10607,12 @@ export const FlowLogInformation: coreClient.CompositeMapper = { name: "String", }, }, + enabledFilteringCriteria: { + serializedName: "properties.enabledFilteringCriteria", + type: { + name: "String", + }, + }, enabled: { serializedName: "properties.enabled", required: true, @@ -12840,6 +14084,18 @@ export const AddressSpace: coreClient.CompositeMapper = { }, }, }, + ipamPoolPrefixAllocations: { + serializedName: "ipamPoolPrefixAllocations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpamPoolPrefixAllocation", + }, + }, + }, + }, }, }, }; @@ -15609,6 +16865,65 @@ export const VpnGatewayPacketCaptureStopParameters: coreClient.CompositeMapper = }, }; +export const ConnectionSharedKeyResultList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConnectionSharedKeyResultList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ConnectionSharedKeyResult", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SharedKeyProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SharedKeyProperties", + modelProperties: { + sharedKey: { + serializedName: "sharedKey", + type: { + name: "String", + }, + }, + sharedKeyLength: { + constraints: { + InclusiveMaximum: 128, + InclusiveMinimum: 1, + }, + serializedName: "sharedKeyLength", + type: { + name: "Number", + }, + }, + provisioningState: { + serializedName: "provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + export const ListVpnGatewaysResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -16917,6 +18232,18 @@ export const ManagedRulesDefinition: coreClient.CompositeMapper = { name: "Composite", className: "ManagedRulesDefinition", modelProperties: { + exceptions: { + serializedName: "exceptions", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExceptionEntry", + }, + }, + }, + }, exclusions: { serializedName: "exclusions", type: { @@ -16946,10 +18273,10 @@ export const ManagedRulesDefinition: coreClient.CompositeMapper = { }, }; -export const OwaspCrsExclusionEntry: coreClient.CompositeMapper = { +export const ExceptionEntry: coreClient.CompositeMapper = { type: { name: "Composite", - className: "OwaspCrsExclusionEntry", + className: "ExceptionEntry", modelProperties: { matchVariable: { serializedName: "matchVariable", @@ -16958,22 +18285,38 @@ export const OwaspCrsExclusionEntry: coreClient.CompositeMapper = { name: "String", }, }, + values: { + serializedName: "values", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + valueMatchOperator: { + serializedName: "valueMatchOperator", + required: true, + type: { + name: "String", + }, + }, selectorMatchOperator: { serializedName: "selectorMatchOperator", - required: true, type: { name: "String", }, }, selector: { serializedName: "selector", - required: true, type: { name: "String", }, }, - exclusionManagedRuleSets: { - serializedName: "exclusionManagedRuleSets", + exceptionManagedRuleSets: { + serializedName: "exceptionManagedRuleSets", type: { name: "Sequence", element: { @@ -17067,6 +18410,48 @@ export const ExclusionManagedRule: coreClient.CompositeMapper = { }, }; +export const OwaspCrsExclusionEntry: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OwaspCrsExclusionEntry", + modelProperties: { + matchVariable: { + serializedName: "matchVariable", + required: true, + type: { + name: "String", + }, + }, + selectorMatchOperator: { + serializedName: "selectorMatchOperator", + required: true, + type: { + name: "String", + }, + }, + selector: { + serializedName: "selector", + required: true, + type: { + name: "String", + }, + }, + exclusionManagedRuleSets: { + serializedName: "exclusionManagedRuleSets", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ExclusionManagedRuleSet", + }, + }, + }, + }, + }, + }, +}; + export const ManagedRuleSet: coreClient.CompositeMapper = { type: { name: "Composite", @@ -17154,10 +18539,33 @@ export const ManagedRuleOverride: coreClient.CompositeMapper = { name: "String", }, }, + sensitivity: { + serializedName: "sensitivity", + type: { + name: "String", + }, + }, }, }, }; +export const ApplicationGatewayForContainersReferenceDefinition: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ApplicationGatewayForContainersReferenceDefinition", + modelProperties: { + id: { + serializedName: "id", + required: true, + type: { + name: "String", + }, + }, + }, + }, + }; + export const FirewallPolicyNatRuleCollectionAction: coreClient.CompositeMapper = { type: { @@ -17292,27 +18700,6 @@ export const AzureAsyncOperationResult: coreClient.CompositeMapper = { }, }; -export const AddressPrefixItem: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "AddressPrefixItem", - modelProperties: { - addressPrefix: { - serializedName: "addressPrefix", - type: { - name: "String", - }, - }, - addressPrefixType: { - serializedName: "addressPrefixType", - type: { - name: "String", - }, - }, - }, - }, -}; - export const VpnSiteId: coreClient.CompositeMapper = { type: { name: "Composite", @@ -18263,6 +19650,7 @@ export const Route: coreClient.CompositeMapper = { }, hasBgpOverride: { serializedName: "properties.hasBgpOverride", + readOnly: true, type: { name: "Boolean", }, @@ -18827,6 +20215,18 @@ export const Subnet: coreClient.CompositeMapper = { name: "Boolean", }, }, + ipamPoolPrefixAllocations: { + serializedName: "properties.ipamPoolPrefixAllocations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "IpamPoolPrefixAllocation", + }, + }, + }, + }, }, }, }; @@ -22049,7 +23449,7 @@ export const Probe: coreClient.CompositeMapper = { }, }, noHealthyBackendsBehavior: { - serializedName: "properties.NoHealthyBackendsBehavior", + serializedName: "properties.noHealthyBackendsBehavior", type: { name: "String", }, @@ -23995,6 +25395,36 @@ export const VpnGatewayNatRule: coreClient.CompositeMapper = { }, }; +export const ConnectionSharedKeyResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ConnectionSharedKeyResult", + modelProperties: { + ...SubResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "SharedKeyProperties", + }, + }, + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + export const ExpressRouteConnection: coreClient.CompositeMapper = { type: { name: "Composite", @@ -24728,6 +26158,12 @@ export const PrivateLinkService: coreClient.CompositeMapper = { }, }, }, + destinationIPAddress: { + serializedName: "properties.destinationIPAddress", + type: { + name: "String", + }, + }, networkInterfaces: { serializedName: "properties.networkInterfaces", readOnly: true, @@ -25028,6 +26464,12 @@ export const FlowLog: coreClient.CompositeMapper = { name: "String", }, }, + enabledFilteringCriteria: { + serializedName: "properties.enabledFilteringCriteria", + type: { + name: "String", + }, + }, enabled: { serializedName: "properties.enabled", type: { @@ -26262,6 +27704,13 @@ export const AzureFirewall: coreClient.CompositeMapper = { value: { type: { name: "String" } }, }, }, + autoscaleConfiguration: { + serializedName: "properties.autoscaleConfiguration", + type: { + name: "Composite", + className: "AzureFirewallAutoscaleConfiguration", + }, + }, }, }, }; @@ -28509,6 +29958,12 @@ export const VirtualNetwork: coreClient.CompositeMapper = { }, }, }, + privateEndpointVNetPolicies: { + serializedName: "properties.privateEndpointVNetPolicies", + type: { + name: "String", + }, + }, }, }, }; @@ -28734,6 +30189,12 @@ export const VirtualNetworkGateway: coreClient.CompositeMapper = { name: "String", }, }, + resiliencyModel: { + serializedName: "properties.resiliencyModel", + type: { + name: "String", + }, + }, }, }, }; @@ -30152,6 +31613,19 @@ export const WebApplicationFirewallPolicy: coreClient.CompositeMapper = { }, }, }, + applicationGatewayForContainers: { + serializedName: "properties.applicationGatewayForContainers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGatewayForContainersReferenceDefinition", + }, + }, + }, + }, }, }, }; @@ -30244,6 +31718,40 @@ export const FirewallPolicyFilterRuleCollection: coreClient.CompositeMapper = { }, }; +export const CommonTrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CommonTrackedResource", + modelProperties: { + ...CommonResource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, + }, + }, + location: { + serializedName: "location", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const CommonProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CommonProxyResource", + modelProperties: { + ...CommonResource.type.modelProperties, + }, + }, +}; + export const ActiveConnectivityConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", @@ -30627,6 +32135,12 @@ export const NetworkGroup: coreClient.CompositeMapper = { name: "String", }, }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String", + }, + }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -30724,10 +32238,228 @@ export const ScopeConnection: coreClient.CompositeMapper = { }, }; -export const SecurityAdminConfiguration: coreClient.CompositeMapper = { +export const SecurityUserConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserConfiguration", + modelProperties: { + ...ChildResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SecurityUserRuleCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserRuleCollection", + modelProperties: { + ...ChildResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + appliesToGroups: { + serializedName: "properties.appliesToGroups", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SecurityUserGroupItem", + }, + }, + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SecurityUserRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserRule", + modelProperties: { + ...ChildResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + protocol: { + serializedName: "properties.protocol", + type: { + name: "String", + }, + }, + sources: { + serializedName: "properties.sources", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AddressPrefixItem", + }, + }, + }, + }, + destinations: { + serializedName: "properties.destinations", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AddressPrefixItem", + }, + }, + }, + }, + sourcePortRanges: { + serializedName: "properties.sourcePortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationPortRanges: { + serializedName: "properties.destinationPortRanges", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + 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 NetworkManagerRoutingConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkManagerRoutingConfiguration", + modelProperties: { + ...ChildResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const RoutingRuleCollection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SecurityAdminConfiguration", + className: "RoutingRuleCollection", modelProperties: { ...ChildResource.type.modelProperties, systemData: { @@ -30743,17 +32475,6 @@ export const SecurityAdminConfiguration: coreClient.CompositeMapper = { name: "String", }, }, - applyOnNetworkIntentPolicyBasedServices: { - serializedName: "properties.applyOnNetworkIntentPolicyBasedServices", - type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, - }, - }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -30768,14 +32489,32 @@ export const SecurityAdminConfiguration: coreClient.CompositeMapper = { name: "String", }, }, + appliesTo: { + serializedName: "properties.appliesTo", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "NetworkManagerRoutingGroupItem", + }, + }, + }, + }, + disableBgpRoutePropagation: { + serializedName: "properties.disableBgpRoutePropagation", + type: { + name: "String", + }, + }, }, }, }; -export const AdminRuleCollection: coreClient.CompositeMapper = { +export const RoutingRule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "AdminRuleCollection", + className: "RoutingRule", modelProperties: { ...ChildResource.type.modelProperties, systemData: { @@ -30791,18 +32530,6 @@ export const AdminRuleCollection: coreClient.CompositeMapper = { name: "String", }, }, - appliesToGroups: { - serializedName: "properties.appliesToGroups", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "NetworkManagerSecurityGroupItem", - }, - }, - }, - }, provisioningState: { serializedName: "properties.provisioningState", readOnly: true, @@ -30817,34 +32544,18 @@ export const AdminRuleCollection: coreClient.CompositeMapper = { name: "String", }, }, - }, - }, -}; - -export const BaseAdminRule: coreClient.CompositeMapper = { - serializedName: "BaseAdminRule", - type: { - name: "Composite", - className: "BaseAdminRule", - uberParent: "ChildResource", - polymorphicDiscriminator: { - serializedName: "kind", - clientName: "kind", - }, - modelProperties: { - ...ChildResource.type.modelProperties, - kind: { - serializedName: "kind", - required: true, + destination: { + serializedName: "properties.destination", type: { - name: "String", + name: "Composite", + className: "RoutingRuleRouteDestination", }, }, - systemData: { - serializedName: "systemData", + nextHop: { + serializedName: "properties.nextHop", type: { name: "Composite", - className: "SystemData", + className: "RoutingRuleNextHop", }, }, }, @@ -31343,86 +33054,296 @@ export const NetworkRule: coreClient.CompositeMapper = { serializedName: "NetworkRule", type: { name: "Composite", - className: "NetworkRule", - uberParent: "FirewallPolicyRule", - polymorphicDiscriminator: FirewallPolicyRule.type.polymorphicDiscriminator, + className: "NetworkRule", + uberParent: "FirewallPolicyRule", + polymorphicDiscriminator: FirewallPolicyRule.type.polymorphicDiscriminator, + modelProperties: { + ...FirewallPolicyRule.type.modelProperties, + ipProtocols: { + serializedName: "ipProtocols", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + sourceAddresses: { + serializedName: "sourceAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationAddresses: { + serializedName: "destinationAddresses", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationPorts: { + serializedName: "destinationPorts", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + sourceIpGroups: { + serializedName: "sourceIpGroups", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationIpGroups: { + serializedName: "destinationIpGroups", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + destinationFqdns: { + serializedName: "destinationFqdns", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + +export const IpamPool: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpamPool", + modelProperties: { + ...CommonTrackedResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "IpamPoolProperties", + }, + }, + }, + }, +}; + +export const VerifierWorkspace: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VerifierWorkspace", + modelProperties: { + ...CommonTrackedResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "VerifierWorkspaceProperties", + }, + }, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, + }, + }, + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const StaticCidr: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StaticCidr", + modelProperties: { + ...CommonProxyResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "StaticCidrProperties", + }, + }, + }, + }, +}; + +export const SecurityAdminConfiguration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityAdminConfiguration", + modelProperties: { + ...CommonProxyResource.type.modelProperties, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + applyOnNetworkIntentPolicyBasedServices: { + serializedName: "properties.applyOnNetworkIntentPolicyBasedServices", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + networkGroupAddressSpaceAggregationOption: { + serializedName: "properties.networkGroupAddressSpaceAggregationOption", + type: { + name: "String", + }, + }, + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, + type: { + name: "String", + }, + }, + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const AdminRuleCollection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AdminRuleCollection", modelProperties: { - ...FirewallPolicyRule.type.modelProperties, - ipProtocols: { - serializedName: "ipProtocols", + ...CommonProxyResource.type.modelProperties, + description: { + serializedName: "properties.description", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, - sourceAddresses: { - serializedName: "sourceAddresses", + appliesToGroups: { + serializedName: "properties.appliesToGroups", type: { name: "Sequence", element: { type: { - name: "String", + name: "Composite", + className: "NetworkManagerSecurityGroupItem", }, }, }, }, - destinationAddresses: { - serializedName: "destinationAddresses", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, - destinationPorts: { - serializedName: "destinationPorts", + resourceGuid: { + serializedName: "properties.resourceGuid", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, - sourceIpGroups: { - serializedName: "sourceIpGroups", + }, + }, +}; + +export const BaseAdminRule: coreClient.CompositeMapper = { + serializedName: "BaseAdminRule", + type: { + name: "Composite", + className: "BaseAdminRule", + uberParent: "CommonProxyResource", + polymorphicDiscriminator: { + serializedName: "kind", + clientName: "kind", + }, + modelProperties: { + ...CommonProxyResource.type.modelProperties, + kind: { + serializedName: "kind", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, - destinationIpGroups: { - serializedName: "destinationIpGroups", + }, + }, +}; + +export const ReachabilityAnalysisIntent: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReachabilityAnalysisIntent", + modelProperties: { + ...CommonProxyResource.type.modelProperties, + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "Composite", + className: "ReachabilityAnalysisIntentProperties", }, }, - destinationFqdns: { - serializedName: "destinationFqdns", + }, + }, +}; + +export const ReachabilityAnalysisRun: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ReachabilityAnalysisRun", + modelProperties: { + ...CommonProxyResource.type.modelProperties, + properties: { + serializedName: "properties", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "Composite", + className: "ReachabilityAnalysisRunProperties", }, }, }, @@ -31812,6 +33733,51 @@ export const FirewallPolicyDeploymentsDeployHeaders: coreClient.CompositeMapper }, }; +export const IpamPoolsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpamPoolsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const StaticCidrsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StaticCidrsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const IpAllocationsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "IpAllocationsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + export const NetworkManagersDeleteHeaders: coreClient.CompositeMapper = { type: { name: "Composite", @@ -31934,6 +33900,130 @@ export const AdminRulesDeleteHeaders: coreClient.CompositeMapper = { }, }; +export const SecurityUserConfigurationsDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SecurityUserConfigurationsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const SecurityUserRuleCollectionsDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SecurityUserRuleCollectionsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const SecurityUserRulesDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityUserRulesDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const NetworkManagerRoutingConfigurationsDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "NetworkManagerRoutingConfigurationsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const RoutingRuleCollectionsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoutingRuleCollectionsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const RoutingRulesDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoutingRulesDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ReachabilityAnalysisRunsDeleteHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "ReachabilityAnalysisRunsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const VerifierWorkspacesDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "VerifierWorkspacesDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + }, + }, +}; + export const NetworkVirtualAppliancesDeleteHeaders: coreClient.CompositeMapper = { type: { @@ -32051,12 +34141,12 @@ export let discriminators = { FirewallPolicyFilterRuleCollection, "ActiveBaseSecurityAdminRule.Custom": ActiveSecurityAdminRule, "ActiveBaseSecurityAdminRule.Default": ActiveDefaultSecurityAdminRule, - "ChildResource.BaseAdminRule": BaseAdminRule, "EffectiveBaseSecurityAdminRule.Custom": EffectiveSecurityAdminRule, "EffectiveBaseSecurityAdminRule.Default": EffectiveDefaultSecurityAdminRule, "FirewallPolicyRule.ApplicationRule": ApplicationRule, "FirewallPolicyRule.NatRule": NatRule, "FirewallPolicyRule.NetworkRule": NetworkRule, + "CommonProxyResource.BaseAdminRule": BaseAdminRule, "BaseAdminRule.Custom": AdminRule, "BaseAdminRule.Default": DefaultAdminRule, }; diff --git a/sdk/network/arm-network/src/models/parameters.ts b/sdk/network/arm-network/src/models/parameters.ts index fad5714fe9f0..91383989bc06 100644 --- a/sdk/network/arm-network/src/models/parameters.ts +++ b/sdk/network/arm-network/src/models/parameters.ts @@ -49,6 +49,9 @@ import { SignatureOverridesFilterValuesQuery as SignatureOverridesFilterValuesQueryMapper, FirewallPolicyDraft as FirewallPolicyDraftMapper, FirewallPolicyRuleCollectionGroupDraft as FirewallPolicyRuleCollectionGroupDraftMapper, + IpamPool as IpamPoolMapper, + IpamPoolUpdate as IpamPoolUpdateMapper, + StaticCidr as StaticCidrMapper, IpAllocation as IpAllocationMapper, IpGroup as IpGroupMapper, LoadBalancer as LoadBalancerMapper, @@ -71,9 +74,19 @@ import { SecurityAdminConfiguration as SecurityAdminConfigurationMapper, AdminRuleCollection as AdminRuleCollectionMapper, BaseAdminRule as BaseAdminRuleMapper, + SecurityUserConfiguration as SecurityUserConfigurationMapper, + SecurityUserRuleCollection as SecurityUserRuleCollectionMapper, + SecurityUserRule as SecurityUserRuleMapper, + NetworkManagerRoutingConfiguration as NetworkManagerRoutingConfigurationMapper, + RoutingRuleCollection as RoutingRuleCollectionMapper, + RoutingRule as RoutingRuleMapper, NetworkProfile as NetworkProfileMapper, NetworkSecurityGroup as NetworkSecurityGroupMapper, SecurityRule as SecurityRuleMapper, + ReachabilityAnalysisIntent as ReachabilityAnalysisIntentMapper, + ReachabilityAnalysisRun as ReachabilityAnalysisRunMapper, + VerifierWorkspace as VerifierWorkspaceMapper, + VerifierWorkspaceUpdate as VerifierWorkspaceUpdateMapper, NetworkVirtualAppliance as NetworkVirtualApplianceMapper, NetworkVirtualApplianceInstanceIds as NetworkVirtualApplianceInstanceIdsMapper, VirtualApplianceSite as VirtualApplianceSiteMapper, @@ -141,6 +154,7 @@ import { VpnGateway as VpnGatewayMapper, VpnGatewayPacketCaptureStartParameters as VpnGatewayPacketCaptureStartParametersMapper, VpnGatewayPacketCaptureStopParameters as VpnGatewayPacketCaptureStopParametersMapper, + ConnectionSharedKeyResult as ConnectionSharedKeyResultMapper, VpnConnection as VpnConnectionMapper, VpnConnectionPacketCaptureStartParameters as VpnConnectionPacketCaptureStartParametersMapper, VpnConnectionPacketCaptureStopParameters as VpnConnectionPacketCaptureStopParametersMapper, @@ -208,7 +222,7 @@ export const applicationGatewayName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2024-01-01", + defaultValue: "2024-03-01", isConstant: true, serializedName: "api-version", type: { @@ -944,6 +958,115 @@ export const parameters25: OperationParameter = { mapper: FirewallPolicyRuleCollectionGroupDraftMapper, }; +export const networkManagerName1: OperationURLParameter = { + parameterPath: "networkManagerName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]*$"), + }, + serializedName: "networkManagerName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const skipToken: OperationQueryParameter = { + parameterPath: ["options", "skipToken"], + mapper: { + serializedName: "skipToken", + type: { + name: "String", + }, + }, +}; + +export const skip: OperationQueryParameter = { + parameterPath: ["options", "skip"], + mapper: { + defaultValue: 0, + serializedName: "skip", + type: { + name: "Number", + }, + }, +}; + +export const top1: OperationQueryParameter = { + parameterPath: ["options", "top"], + mapper: { + defaultValue: 50, + serializedName: "top", + type: { + name: "Number", + }, + }, +}; + +export const sortKey: OperationQueryParameter = { + parameterPath: ["options", "sortKey"], + mapper: { + serializedName: "sortKey", + type: { + name: "String", + }, + }, +}; + +export const sortValue: OperationQueryParameter = { + parameterPath: ["options", "sortValue"], + mapper: { + serializedName: "sortValue", + type: { + name: "String", + }, + }, +}; + +export const body: OperationParameter = { + parameterPath: ["options", "body"], + mapper: IpamPoolMapper, +}; + +export const poolName: OperationURLParameter = { + parameterPath: "poolName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]*$"), + }, + serializedName: "poolName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const body1: OperationParameter = { + parameterPath: ["options", "body"], + mapper: IpamPoolUpdateMapper, +}; + +export const body2: OperationParameter = { + parameterPath: ["options", "body"], + mapper: StaticCidrMapper, +}; + +export const staticCidrName: OperationURLParameter = { + parameterPath: "staticCidrName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9-]*$"), + }, + serializedName: "staticCidrName", + required: true, + type: { + name: "String", + }, + }, +}; + export const ipAllocationName: OperationURLParameter = { parameterPath: "ipAllocationName", mapper: { @@ -1174,7 +1297,7 @@ export const parameters35: OperationParameter = { mapper: PatchObjectMapper, }; -export const skipToken: OperationQueryParameter = { +export const skipToken1: OperationQueryParameter = { parameterPath: ["options", "skipToken"], mapper: { serializedName: "$skipToken", @@ -1332,6 +1455,107 @@ export const adminRule: OperationParameter = { mapper: BaseAdminRuleMapper, }; +export const resourceGroupName1: OperationURLParameter = { + parameterPath: "resourceGroupName", + mapper: { + constraints: { + MaxLength: 90, + MinLength: 1, + }, + serializedName: "resourceGroupName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const networkManagerName2: OperationURLParameter = { + parameterPath: "networkManagerName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "networkManagerName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const configurationName1: OperationURLParameter = { + parameterPath: "configurationName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "configurationName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const securityUserConfiguration: OperationParameter = { + parameterPath: "securityUserConfiguration", + mapper: SecurityUserConfigurationMapper, +}; + +export const ruleCollectionName1: OperationURLParameter = { + parameterPath: "ruleCollectionName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "ruleCollectionName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const securityUserRuleCollection: OperationParameter = { + parameterPath: "securityUserRuleCollection", + mapper: SecurityUserRuleCollectionMapper, +}; + +export const ruleName1: OperationURLParameter = { + parameterPath: "ruleName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "ruleName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const securityUserRule: OperationParameter = { + parameterPath: "securityUserRule", + mapper: SecurityUserRuleMapper, +}; + +export const routingConfiguration: OperationParameter = { + parameterPath: "routingConfiguration", + mapper: NetworkManagerRoutingConfigurationMapper, +}; + +export const ruleCollection1: OperationParameter = { + parameterPath: "ruleCollection", + mapper: RoutingRuleCollectionMapper, +}; + +export const routingRule: OperationParameter = { + parameterPath: "routingRule", + mapper: RoutingRuleMapper, +}; + export const networkProfileName: OperationURLParameter = { parameterPath: "networkProfileName", mapper: { @@ -1391,6 +1615,68 @@ export const defaultSecurityRuleName: OperationURLParameter = { }, }; +export const workspaceName: OperationURLParameter = { + parameterPath: "workspaceName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "workspaceName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const reachabilityAnalysisIntentName: OperationURLParameter = { + parameterPath: "reachabilityAnalysisIntentName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "reachabilityAnalysisIntentName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const body3: OperationParameter = { + parameterPath: "body", + mapper: ReachabilityAnalysisIntentMapper, +}; + +export const reachabilityAnalysisRunName: OperationURLParameter = { + parameterPath: "reachabilityAnalysisRunName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-zA-Z0-9_.-]*$"), + }, + serializedName: "reachabilityAnalysisRunName", + required: true, + type: { + name: "String", + }, + }, +}; + +export const body4: OperationParameter = { + parameterPath: "body", + mapper: ReachabilityAnalysisRunMapper, +}; + +export const body5: OperationParameter = { + parameterPath: "body", + mapper: VerifierWorkspaceMapper, +}; + +export const body6: OperationParameter = { + parameterPath: ["options", "body"], + mapper: VerifierWorkspaceUpdateMapper, +}; + export const networkVirtualApplianceName: OperationURLParameter = { parameterPath: "networkVirtualApplianceName", mapper: { @@ -1814,7 +2100,7 @@ export const ipAddress: OperationQueryParameter = { }, }; -export const top1: OperationQueryParameter = { +export const top2: OperationQueryParameter = { parameterPath: ["options", "top"], mapper: { serializedName: "top", @@ -1824,16 +2110,6 @@ export const top1: OperationQueryParameter = { }, }; -export const skipToken1: OperationQueryParameter = { - parameterPath: ["options", "skipToken"], - mapper: { - serializedName: "skipToken", - type: { - name: "String", - }, - }, -}; - export const subnetName: OperationURLParameter = { parameterPath: "subnetName", mapper: { @@ -2270,6 +2546,11 @@ export const linkConnectionName: OperationURLParameter = { }, }; +export const connectionSharedKeyParameters: OperationParameter = { + parameterPath: "connectionSharedKeyParameters", + mapper: ConnectionSharedKeyResultMapper, +}; + export const vpnConnectionParameters: OperationParameter = { parameterPath: "vpnConnectionParameters", mapper: VpnConnectionMapper, diff --git a/sdk/network/arm-network/src/networkManagementClient.ts b/sdk/network/arm-network/src/networkManagementClient.ts index 481034314081..0b4215a31ced 100644 --- a/sdk/network/arm-network/src/networkManagementClient.ts +++ b/sdk/network/arm-network/src/networkManagementClient.ts @@ -60,6 +60,8 @@ import { FirewallPolicyDraftsImpl, FirewallPolicyDeploymentsImpl, FirewallPolicyRuleCollectionGroupDraftsImpl, + IpamPoolsImpl, + StaticCidrsImpl, IpAllocationsImpl, IpGroupsImpl, LoadBalancersImpl, @@ -86,10 +88,19 @@ import { SecurityAdminConfigurationsImpl, AdminRuleCollectionsImpl, AdminRulesImpl, + SecurityUserConfigurationsImpl, + SecurityUserRuleCollectionsImpl, + SecurityUserRulesImpl, + NetworkManagerRoutingConfigurationsImpl, + RoutingRuleCollectionsImpl, + RoutingRulesImpl, NetworkProfilesImpl, NetworkSecurityGroupsImpl, SecurityRulesImpl, DefaultSecurityRulesImpl, + ReachabilityAnalysisIntentsImpl, + ReachabilityAnalysisRunsImpl, + VerifierWorkspacesImpl, NetworkVirtualAppliancesImpl, VirtualApplianceSitesImpl, VirtualApplianceSkusImpl, @@ -197,6 +208,8 @@ import { FirewallPolicyDrafts, FirewallPolicyDeployments, FirewallPolicyRuleCollectionGroupDrafts, + IpamPools, + StaticCidrs, IpAllocations, IpGroups, LoadBalancers, @@ -223,10 +236,19 @@ import { SecurityAdminConfigurations, AdminRuleCollections, AdminRules, + SecurityUserConfigurations, + SecurityUserRuleCollections, + SecurityUserRules, + NetworkManagerRoutingConfigurations, + RoutingRuleCollections, + RoutingRules, NetworkProfiles, NetworkSecurityGroups, SecurityRules, DefaultSecurityRules, + ReachabilityAnalysisIntents, + ReachabilityAnalysisRuns, + VerifierWorkspaces, NetworkVirtualAppliances, VirtualApplianceSites, VirtualApplianceSkus, @@ -388,7 +410,7 @@ export class NetworkManagementClient extends coreClient.ServiceClient { credential: credentials, }; - const packageDetails = `azsdk-js-arm-network/33.3.1`; + const packageDetails = `azsdk-js-arm-network/1.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -509,6 +531,8 @@ export class NetworkManagementClient extends coreClient.ServiceClient { this.firewallPolicyDeployments = new FirewallPolicyDeploymentsImpl(this); this.firewallPolicyRuleCollectionGroupDrafts = new FirewallPolicyRuleCollectionGroupDraftsImpl(this); + this.ipamPools = new IpamPoolsImpl(this); + this.staticCidrs = new StaticCidrsImpl(this); this.ipAllocations = new IpAllocationsImpl(this); this.ipGroups = new IpGroupsImpl(this); this.loadBalancers = new LoadBalancersImpl(this); @@ -549,10 +573,24 @@ export class NetworkManagementClient extends coreClient.ServiceClient { ); this.adminRuleCollections = new AdminRuleCollectionsImpl(this); this.adminRules = new AdminRulesImpl(this); + this.securityUserConfigurations = new SecurityUserConfigurationsImpl(this); + this.securityUserRuleCollections = new SecurityUserRuleCollectionsImpl( + this, + ); + this.securityUserRules = new SecurityUserRulesImpl(this); + this.networkManagerRoutingConfigurations = + new NetworkManagerRoutingConfigurationsImpl(this); + this.routingRuleCollections = new RoutingRuleCollectionsImpl(this); + this.routingRules = new RoutingRulesImpl(this); this.networkProfiles = new NetworkProfilesImpl(this); this.networkSecurityGroups = new NetworkSecurityGroupsImpl(this); this.securityRules = new SecurityRulesImpl(this); this.defaultSecurityRules = new DefaultSecurityRulesImpl(this); + this.reachabilityAnalysisIntents = new ReachabilityAnalysisIntentsImpl( + this, + ); + this.reachabilityAnalysisRuns = new ReachabilityAnalysisRunsImpl(this); + this.verifierWorkspaces = new VerifierWorkspacesImpl(this); this.networkVirtualAppliances = new NetworkVirtualAppliancesImpl(this); this.virtualApplianceSites = new VirtualApplianceSitesImpl(this); this.virtualApplianceSkus = new VirtualApplianceSkusImpl(this); @@ -1714,6 +1752,8 @@ export class NetworkManagementClient extends coreClient.ServiceClient { firewallPolicyDrafts: FirewallPolicyDrafts; firewallPolicyDeployments: FirewallPolicyDeployments; firewallPolicyRuleCollectionGroupDrafts: FirewallPolicyRuleCollectionGroupDrafts; + ipamPools: IpamPools; + staticCidrs: StaticCidrs; ipAllocations: IpAllocations; ipGroups: IpGroups; loadBalancers: LoadBalancers; @@ -1740,10 +1780,19 @@ export class NetworkManagementClient extends coreClient.ServiceClient { securityAdminConfigurations: SecurityAdminConfigurations; adminRuleCollections: AdminRuleCollections; adminRules: AdminRules; + securityUserConfigurations: SecurityUserConfigurations; + securityUserRuleCollections: SecurityUserRuleCollections; + securityUserRules: SecurityUserRules; + networkManagerRoutingConfigurations: NetworkManagerRoutingConfigurations; + routingRuleCollections: RoutingRuleCollections; + routingRules: RoutingRules; networkProfiles: NetworkProfiles; networkSecurityGroups: NetworkSecurityGroups; securityRules: SecurityRules; defaultSecurityRules: DefaultSecurityRules; + reachabilityAnalysisIntents: ReachabilityAnalysisIntents; + reachabilityAnalysisRuns: ReachabilityAnalysisRuns; + verifierWorkspaces: VerifierWorkspaces; networkVirtualAppliances: NetworkVirtualAppliances; virtualApplianceSites: VirtualApplianceSites; virtualApplianceSkus: VirtualApplianceSkus; diff --git a/sdk/network/arm-network/src/operations/adminRuleCollections.ts b/sdk/network/arm-network/src/operations/adminRuleCollections.ts index 6671f28de5ad..03a50a8eb760 100644 --- a/sdk/network/arm-network/src/operations/adminRuleCollections.ts +++ b/sdk/network/arm-network/src/operations/adminRuleCollections.ts @@ -350,19 +350,19 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleCollectionListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, ], headerParameters: [Parameters.accept], @@ -376,7 +376,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleCollection, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion], @@ -384,7 +384,7 @@ const getOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, ], @@ -402,7 +402,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleCollection, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, requestBody: Parameters.ruleCollection, @@ -411,7 +411,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, ], @@ -428,7 +428,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { 202: {}, 204: {}, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion, Parameters.force], @@ -436,7 +436,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, ], @@ -451,7 +451,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleCollectionListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, urlParameters: [ @@ -459,7 +459,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { Parameters.resourceGroupName, Parameters.subscriptionId, Parameters.nextLink, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, ], headerParameters: [Parameters.accept], diff --git a/sdk/network/arm-network/src/operations/adminRules.ts b/sdk/network/arm-network/src/operations/adminRules.ts index 883ff15aa038..26f487cc71f2 100644 --- a/sdk/network/arm-network/src/operations/adminRules.ts +++ b/sdk/network/arm-network/src/operations/adminRules.ts @@ -382,19 +382,19 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, ], @@ -409,7 +409,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.BaseAdminRule, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion], @@ -417,7 +417,7 @@ const getOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, Parameters.ruleName, @@ -436,7 +436,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.BaseAdminRule, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, requestBody: Parameters.adminRule, @@ -445,7 +445,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, Parameters.ruleName, @@ -463,7 +463,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { 202: {}, 204: {}, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion, Parameters.force], @@ -471,7 +471,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, Parameters.ruleName, @@ -487,7 +487,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.AdminRuleListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, urlParameters: [ @@ -495,7 +495,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { Parameters.resourceGroupName, Parameters.subscriptionId, Parameters.nextLink, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, Parameters.ruleCollectionName, ], diff --git a/sdk/network/arm-network/src/operations/connectivityConfigurations.ts b/sdk/network/arm-network/src/operations/connectivityConfigurations.ts index f5da1542b226..986786c45383 100644 --- a/sdk/network/arm-network/src/operations/connectivityConfigurations.ts +++ b/sdk/network/arm-network/src/operations/connectivityConfigurations.ts @@ -394,7 +394,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/index.ts b/sdk/network/arm-network/src/operations/index.ts index acd2f150c301..219704af30d2 100644 --- a/sdk/network/arm-network/src/operations/index.ts +++ b/sdk/network/arm-network/src/operations/index.ts @@ -48,6 +48,8 @@ export * from "./firewallPolicyIdpsSignaturesFilterValues"; export * from "./firewallPolicyDrafts"; export * from "./firewallPolicyDeployments"; export * from "./firewallPolicyRuleCollectionGroupDrafts"; +export * from "./ipamPools"; +export * from "./staticCidrs"; export * from "./ipAllocations"; export * from "./ipGroups"; export * from "./loadBalancers"; @@ -74,10 +76,19 @@ export * from "./scopeConnections"; export * from "./securityAdminConfigurations"; export * from "./adminRuleCollections"; export * from "./adminRules"; +export * from "./securityUserConfigurations"; +export * from "./securityUserRuleCollections"; +export * from "./securityUserRules"; +export * from "./networkManagerRoutingConfigurations"; +export * from "./routingRuleCollections"; +export * from "./routingRules"; export * from "./networkProfiles"; export * from "./networkSecurityGroups"; export * from "./securityRules"; export * from "./defaultSecurityRules"; +export * from "./reachabilityAnalysisIntents"; +export * from "./reachabilityAnalysisRuns"; +export * from "./verifierWorkspaces"; export * from "./networkVirtualAppliances"; export * from "./virtualApplianceSites"; export * from "./virtualApplianceSkus"; diff --git a/sdk/network/arm-network/src/operations/ipamPools.ts b/sdk/network/arm-network/src/operations/ipamPools.ts new file mode 100644 index 000000000000..b51bf5d49d4e --- /dev/null +++ b/sdk/network/arm-network/src/operations/ipamPools.ts @@ -0,0 +1,700 @@ +/* + * 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"; +import { IpamPools } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + IpamPool, + IpamPoolsListNextOptionalParams, + IpamPoolsListOptionalParams, + IpamPoolsListResponse, + PoolAssociation, + IpamPoolsListAssociatedResourcesNextOptionalParams, + IpamPoolsListAssociatedResourcesOptionalParams, + IpamPoolsListAssociatedResourcesResponse, + IpamPoolsCreateOptionalParams, + IpamPoolsCreateResponse, + IpamPoolsUpdateOptionalParams, + IpamPoolsUpdateResponse, + IpamPoolsGetOptionalParams, + IpamPoolsGetResponse, + IpamPoolsDeleteOptionalParams, + IpamPoolsDeleteResponse, + IpamPoolsGetPoolUsageOptionalParams, + IpamPoolsGetPoolUsageResponse, + IpamPoolsListNextResponse, + IpamPoolsListAssociatedResourcesNextResponse, +} from "../models"; + +/// +/** Class containing IpamPools operations. */ +export class IpamPoolsImpl implements IpamPools { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class IpamPools class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets list of Pool resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + options?: IpamPoolsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + 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, + networkManagerName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + options?: IpamPoolsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: IpamPoolsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, networkManagerName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + options?: IpamPoolsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + options, + )) { + yield* page; + } + } + + /** + * List Associated Resource in the Pool. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + public listAssociatedResources( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsListAssociatedResourcesOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listAssociatedResourcesPagingAll( + resourceGroupName, + networkManagerName, + poolName, + 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.listAssociatedResourcesPagingPage( + resourceGroupName, + networkManagerName, + poolName, + options, + settings, + ); + }, + }; + } + + private async *listAssociatedResourcesPagingPage( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsListAssociatedResourcesOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: IpamPoolsListAssociatedResourcesResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listAssociatedResources( + resourceGroupName, + networkManagerName, + poolName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listAssociatedResourcesNext( + resourceGroupName, + networkManagerName, + poolName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listAssociatedResourcesPagingAll( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsListAssociatedResourcesOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listAssociatedResourcesPagingPage( + resourceGroupName, + networkManagerName, + poolName, + options, + )) { + yield* page; + } + } + + /** + * Gets list of Pool resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + options?: IpamPoolsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, options }, + listOperationSpec, + ); + } + + /** + * Creates/Updates the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsCreateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + createOperationSpec, + ); + } + + /** + * Updates the specific Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + updateOperationSpec, + ); + } + + /** + * Gets the specific Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + getOperationSpec, + ); + } + + /** + * Delete the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + IpamPoolsDeleteResponse + > + > { + 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, networkManagerName, poolName, options }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller< + IpamPoolsDeleteResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Delete the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + poolName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Get the Pool Usage. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + getPoolUsage( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsGetPoolUsageOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + getPoolUsageOperationSpec, + ); + } + + /** + * List Associated Resource in the Pool. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + private _listAssociatedResources( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsListAssociatedResourcesOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + listAssociatedResourcesOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + nextLink: string, + options?: IpamPoolsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, nextLink, options }, + listNextOperationSpec, + ); + } + + /** + * ListAssociatedResourcesNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param nextLink The nextLink from the previous successful call to the ListAssociatedResources + * method. + * @param options The options parameters. + */ + private _listAssociatedResourcesNext( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + nextLink: string, + options?: IpamPoolsListAssociatedResourcesNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, nextLink, options }, + listAssociatedResourcesNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpamPoolList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.skip, + Parameters.top1, + Parameters.sortKey, + Parameters.sortValue, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.IpamPool, + }, + 201: { + bodyMapper: Mappers.IpamPool, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.IpamPool, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpamPool, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}", + httpMethod: "DELETE", + responses: { + 200: { + headersMapper: Mappers.IpamPoolsDeleteHeaders, + }, + 201: { + headersMapper: Mappers.IpamPoolsDeleteHeaders, + }, + 202: { + headersMapper: Mappers.IpamPoolsDeleteHeaders, + }, + 204: { + headersMapper: Mappers.IpamPoolsDeleteHeaders, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getPoolUsageOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/getPoolUsage", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.PoolUsage, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listAssociatedResourcesOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/listAssociatedResources", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.PoolAssociationList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.IpamPoolList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listAssociatedResourcesNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PoolAssociationList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/managementGroupNetworkManagerConnections.ts b/sdk/network/arm-network/src/operations/managementGroupNetworkManagerConnections.ts index 172635f01af8..e51974479913 100644 --- a/sdk/network/arm-network/src/operations/managementGroupNetworkManagerConnections.ts +++ b/sdk/network/arm-network/src/operations/managementGroupNetworkManagerConnections.ts @@ -275,7 +275,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [Parameters.$host, Parameters.managementGroupId], headerParameters: [Parameters.accept], diff --git a/sdk/network/arm-network/src/operations/networkGroups.ts b/sdk/network/arm-network/src/operations/networkGroups.ts index 208268f1cd04..26f46b43a794 100644 --- a/sdk/network/arm-network/src/operations/networkGroups.ts +++ b/sdk/network/arm-network/src/operations/networkGroups.ts @@ -394,7 +394,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/networkManagerCommits.ts b/sdk/network/arm-network/src/operations/networkManagerCommits.ts index 84d8a8274fdc..df426360ff4a 100644 --- a/sdk/network/arm-network/src/operations/networkManagerCommits.ts +++ b/sdk/network/arm-network/src/operations/networkManagerCommits.ts @@ -159,7 +159,7 @@ const postOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", diff --git a/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts b/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts index 3707e58a91a1..6595d68588fc 100644 --- a/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts +++ b/sdk/network/arm-network/src/operations/networkManagerDeploymentStatusOperations.ts @@ -70,7 +70,7 @@ const listOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", diff --git a/sdk/network/arm-network/src/operations/networkManagerRoutingConfigurations.ts b/sdk/network/arm-network/src/operations/networkManagerRoutingConfigurations.ts new file mode 100644 index 000000000000..3b8ccafe9278 --- /dev/null +++ b/sdk/network/arm-network/src/operations/networkManagerRoutingConfigurations.ts @@ -0,0 +1,424 @@ +/* + * 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"; +import { NetworkManagerRoutingConfigurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + NetworkManagerRoutingConfiguration, + NetworkManagerRoutingConfigurationsListNextOptionalParams, + NetworkManagerRoutingConfigurationsListOptionalParams, + NetworkManagerRoutingConfigurationsListResponse, + NetworkManagerRoutingConfigurationsGetOptionalParams, + NetworkManagerRoutingConfigurationsGetResponse, + NetworkManagerRoutingConfigurationsCreateOrUpdateOptionalParams, + NetworkManagerRoutingConfigurationsCreateOrUpdateResponse, + NetworkManagerRoutingConfigurationsDeleteOptionalParams, + NetworkManagerRoutingConfigurationsListNextResponse, +} from "../models"; + +/// +/** Class containing NetworkManagerRoutingConfigurations operations. */ +export class NetworkManagerRoutingConfigurationsImpl + implements NetworkManagerRoutingConfigurations +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class NetworkManagerRoutingConfigurations class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists all the network manager routing configurations in a network manager, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + options?: NetworkManagerRoutingConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + 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, + networkManagerName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + options?: NetworkManagerRoutingConfigurationsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: NetworkManagerRoutingConfigurationsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, networkManagerName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + options?: NetworkManagerRoutingConfigurationsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + options, + )) { + yield* page; + } + } + + /** + * Lists all the network manager routing configurations in a network manager, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + options?: NetworkManagerRoutingConfigurationsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, options }, + listOperationSpec, + ); + } + + /** + * Retrieves a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, configurationName, options }, + getOperationSpec, + ); + } + + /** + * Creates or updates a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param routingConfiguration The routing configuration to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + routingConfiguration: NetworkManagerRoutingConfiguration, + options?: NetworkManagerRoutingConfigurationsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + routingConfiguration, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + nextLink: string, + options?: NetworkManagerRoutingConfigurationsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkManagerRoutingConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkManagerRoutingConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.NetworkManagerRoutingConfiguration, + }, + 201: { + bodyMapper: Mappers.NetworkManagerRoutingConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.routingConfiguration, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.NetworkManagerRoutingConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/networkManagers.ts b/sdk/network/arm-network/src/operations/networkManagers.ts index e9c3d66e85d3..c96b68ff0409 100644 --- a/sdk/network/arm-network/src/operations/networkManagers.ts +++ b/sdk/network/arm-network/src/operations/networkManagers.ts @@ -384,7 +384,7 @@ const getOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, @@ -409,7 +409,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", @@ -432,7 +432,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, @@ -454,7 +454,7 @@ const patchOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", @@ -474,7 +474,7 @@ const listBySubscriptionOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], @@ -494,7 +494,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/reachabilityAnalysisIntents.ts b/sdk/network/arm-network/src/operations/reachabilityAnalysisIntents.ts new file mode 100644 index 000000000000..b43dc3ac1e86 --- /dev/null +++ b/sdk/network/arm-network/src/operations/reachabilityAnalysisIntents.ts @@ -0,0 +1,393 @@ +/* + * 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"; +import { ReachabilityAnalysisIntents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + ReachabilityAnalysisIntent, + ReachabilityAnalysisIntentsListNextOptionalParams, + ReachabilityAnalysisIntentsListOptionalParams, + ReachabilityAnalysisIntentsListResponse, + ReachabilityAnalysisIntentsGetOptionalParams, + ReachabilityAnalysisIntentsGetResponse, + ReachabilityAnalysisIntentsCreateOptionalParams, + ReachabilityAnalysisIntentsCreateResponse, + ReachabilityAnalysisIntentsDeleteOptionalParams, + ReachabilityAnalysisIntentsListNextResponse, +} from "../models"; + +/// +/** Class containing ReachabilityAnalysisIntents operations. */ +export class ReachabilityAnalysisIntentsImpl + implements ReachabilityAnalysisIntents +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class ReachabilityAnalysisIntents class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets list of Reachability Analysis Intents . + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisIntentsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + workspaceName, + 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, + networkManagerName, + workspaceName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisIntentsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: ReachabilityAnalysisIntentsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + workspaceName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + workspaceName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisIntentsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + workspaceName, + options, + )) { + yield* page; + } + } + + /** + * Gets list of Reachability Analysis Intents . + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisIntentsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, workspaceName, options }, + listOperationSpec, + ); + } + + /** + * Get the Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + options?: ReachabilityAnalysisIntentsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisIntentName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param body Reachability Analysis Intent object to create/update. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + body: ReachabilityAnalysisIntent, + options?: ReachabilityAnalysisIntentsCreateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisIntentName, + body, + options, + }, + createOperationSpec, + ); + } + + /** + * Deletes Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + options?: ReachabilityAnalysisIntentsDeleteOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisIntentName, + options, + }, + deleteOperationSpec, + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + nextLink: string, + options?: ReachabilityAnalysisIntentsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisIntents", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisIntentListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.skip, + Parameters.top1, + Parameters.sortKey, + Parameters.sortValue, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisIntents/{reachabilityAnalysisIntentName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisIntent, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisIntentName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisIntents/{reachabilityAnalysisIntentName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisIntent, + }, + 201: { + bodyMapper: Mappers.ReachabilityAnalysisIntent, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisIntentName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisIntents/{reachabilityAnalysisIntentName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisIntentName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisIntentListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/reachabilityAnalysisRuns.ts b/sdk/network/arm-network/src/operations/reachabilityAnalysisRuns.ts new file mode 100644 index 000000000000..88d969adfe59 --- /dev/null +++ b/sdk/network/arm-network/src/operations/reachabilityAnalysisRuns.ts @@ -0,0 +1,575 @@ +/* + * 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"; +import { ReachabilityAnalysisRuns } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + ReachabilityAnalysisRun, + ReachabilityAnalysisRunsListNextOptionalParams, + ReachabilityAnalysisRunsListOptionalParams, + ReachabilityAnalysisRunsListResponse, + ReachabilityAnalysisRunsGetOptionalParams, + ReachabilityAnalysisRunsGetResponse, + ReachabilityAnalysisRunsCreateOptionalParams, + ReachabilityAnalysisRunsCreateResponse, + ReachabilityAnalysisRunsDeleteOptionalParams, + ReachabilityAnalysisRunsDeleteResponse, + ReachabilityAnalysisRunsListNextResponse, +} from "../models"; + +/// +/** Class containing ReachabilityAnalysisRuns operations. */ +export class ReachabilityAnalysisRunsImpl implements ReachabilityAnalysisRuns { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class ReachabilityAnalysisRuns class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets list of Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisRunsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + workspaceName, + 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, + networkManagerName, + workspaceName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisRunsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: ReachabilityAnalysisRunsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + workspaceName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + workspaceName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisRunsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + workspaceName, + options, + )) { + yield* page; + } + } + + /** + * Gets list of Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisRunsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, workspaceName, options }, + listOperationSpec, + ); + } + + /** + * Gets Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisRunName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param body Analysis Run resource object to create/update. + * @param options The options parameters. + */ + async beginCreate( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + body: ReachabilityAnalysisRun, + options?: ReachabilityAnalysisRunsCreateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ReachabilityAnalysisRunsCreateResponse + > + > { + 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, + networkManagerName, + workspaceName, + reachabilityAnalysisRunName, + body, + options, + }, + spec: createOperationSpec, + }); + const poller = await createHttpPoller< + ReachabilityAnalysisRunsCreateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Creates Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param body Analysis Run resource object to create/update. + * @param options The options parameters. + */ + async beginCreateAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + body: ReachabilityAnalysisRun, + options?: ReachabilityAnalysisRunsCreateOptionalParams, + ): Promise { + const poller = await this.beginCreate( + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisRunName, + body, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Deletes Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ReachabilityAnalysisRunsDeleteResponse + > + > { + 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, + networkManagerName, + workspaceName, + reachabilityAnalysisRunName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller< + ReachabilityAnalysisRunsDeleteResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + workspaceName, + reachabilityAnalysisRunName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + nextLink: string, + options?: ReachabilityAnalysisRunsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + workspaceName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisRuns", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisRunListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.skip, + Parameters.top1, + Parameters.sortKey, + Parameters.sortValue, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisRuns/{reachabilityAnalysisRunName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisRun, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisRunName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisRuns/{reachabilityAnalysisRunName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisRun, + }, + 201: { + bodyMapper: Mappers.ReachabilityAnalysisRun, + }, + 202: { + bodyMapper: Mappers.ReachabilityAnalysisRun, + }, + 204: { + bodyMapper: Mappers.ReachabilityAnalysisRun, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisRunName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}/reachabilityAnalysisRuns/{reachabilityAnalysisRunName}", + httpMethod: "DELETE", + responses: { + 200: { + headersMapper: Mappers.ReachabilityAnalysisRunsDeleteHeaders, + }, + 201: { + headersMapper: Mappers.ReachabilityAnalysisRunsDeleteHeaders, + }, + 202: { + headersMapper: Mappers.ReachabilityAnalysisRunsDeleteHeaders, + }, + 204: { + headersMapper: Mappers.ReachabilityAnalysisRunsDeleteHeaders, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + Parameters.reachabilityAnalysisRunName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ReachabilityAnalysisRunListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/routingRuleCollections.ts b/sdk/network/arm-network/src/operations/routingRuleCollections.ts new file mode 100644 index 000000000000..821cc9939b06 --- /dev/null +++ b/sdk/network/arm-network/src/operations/routingRuleCollections.ts @@ -0,0 +1,467 @@ +/* + * 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"; +import { RoutingRuleCollections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + RoutingRuleCollection, + RoutingRuleCollectionsListNextOptionalParams, + RoutingRuleCollectionsListOptionalParams, + RoutingRuleCollectionsListResponse, + RoutingRuleCollectionsGetOptionalParams, + RoutingRuleCollectionsGetResponse, + RoutingRuleCollectionsCreateOrUpdateOptionalParams, + RoutingRuleCollectionsCreateOrUpdateResponse, + RoutingRuleCollectionsDeleteOptionalParams, + RoutingRuleCollectionsListNextResponse, +} from "../models"; + +/// +/** Class containing RoutingRuleCollections operations. */ +export class RoutingRuleCollectionsImpl implements RoutingRuleCollections { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class RoutingRuleCollections class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists all the rule collections in a routing configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: RoutingRuleCollectionsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + configurationName, + 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, + networkManagerName, + configurationName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: RoutingRuleCollectionsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: RoutingRuleCollectionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + configurationName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + configurationName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: RoutingRuleCollectionsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + configurationName, + options, + )) { + yield* page; + } + } + + /** + * Lists all the rule collections in a routing configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: RoutingRuleCollectionsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, configurationName, options }, + listOperationSpec, + ); + } + + /** + * Gets a network manager routing configuration rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates a routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleCollection The Rule Collection to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleCollection: RoutingRuleCollection, + options?: RoutingRuleCollectionsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleCollection, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes an routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes an routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + nextLink: string, + options?: RoutingRuleCollectionsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleCollectionListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleCollection, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleCollection, + }, + 201: { + bodyMapper: Mappers.RoutingRuleCollection, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.ruleCollection1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleCollectionListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/routingRules.ts b/sdk/network/arm-network/src/operations/routingRules.ts new file mode 100644 index 000000000000..4a552926c793 --- /dev/null +++ b/sdk/network/arm-network/src/operations/routingRules.ts @@ -0,0 +1,504 @@ +/* + * 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"; +import { RoutingRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + RoutingRule, + RoutingRulesListNextOptionalParams, + RoutingRulesListOptionalParams, + RoutingRulesListResponse, + RoutingRulesGetOptionalParams, + RoutingRulesGetResponse, + RoutingRulesCreateOrUpdateOptionalParams, + RoutingRulesCreateOrUpdateResponse, + RoutingRulesDeleteOptionalParams, + RoutingRulesListNextResponse, +} from "../models"; + +/// +/** Class containing RoutingRules operations. */ +export class RoutingRulesImpl implements RoutingRules { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class RoutingRules class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * List all network manager routing configuration routing rules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRulesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + 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, + networkManagerName, + configurationName, + ruleCollectionName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRulesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: RoutingRulesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRulesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + )) { + yield* page; + } + } + + /** + * List all network manager routing configuration routing rules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRulesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + listOperationSpec, + ); + } + + /** + * Gets a network manager routing configuration routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates an routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param routingRule The routing rule to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + routingRule: RoutingRule, + options?: RoutingRulesCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + routingRule, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + nextLink: string, + options?: RoutingRulesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.RoutingRule, + }, + 201: { + bodyMapper: Mappers.RoutingRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.routingRule, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/routingConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.RoutingRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/scopeConnections.ts b/sdk/network/arm-network/src/operations/scopeConnections.ts index 465ae004a6db..bbecf3fb5cc1 100644 --- a/sdk/network/arm-network/src/operations/scopeConnections.ts +++ b/sdk/network/arm-network/src/operations/scopeConnections.ts @@ -243,7 +243,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.scopeConnectionName, ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -266,7 +266,7 @@ const getOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.scopeConnectionName, ], headerParameters: [Parameters.accept], @@ -287,7 +287,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.scopeConnectionName, ], headerParameters: [Parameters.accept], @@ -307,13 +307,13 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, @@ -334,7 +334,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { Parameters.resourceGroupName, Parameters.subscriptionId, Parameters.nextLink, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, diff --git a/sdk/network/arm-network/src/operations/securityAdminConfigurations.ts b/sdk/network/arm-network/src/operations/securityAdminConfigurations.ts index 8a80b1490bc8..c66451ba0d78 100644 --- a/sdk/network/arm-network/src/operations/securityAdminConfigurations.ts +++ b/sdk/network/arm-network/src/operations/securityAdminConfigurations.ts @@ -314,19 +314,19 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SecurityAdminConfigurationListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, @@ -339,7 +339,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SecurityAdminConfiguration, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion], @@ -347,7 +347,7 @@ const getOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, ], headerParameters: [Parameters.accept], @@ -364,7 +364,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SecurityAdminConfiguration, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, requestBody: Parameters.securityAdminConfiguration, @@ -373,7 +373,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, ], headerParameters: [Parameters.accept, Parameters.contentType], @@ -389,7 +389,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { 202: {}, 204: {}, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, queryParameters: [Parameters.apiVersion, Parameters.force], @@ -397,7 +397,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { Parameters.$host, Parameters.resourceGroupName, Parameters.subscriptionId, - Parameters.networkManagerName, + Parameters.networkManagerName1, Parameters.configurationName, ], headerParameters: [Parameters.accept], @@ -411,7 +411,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.SecurityAdminConfigurationListResult, }, default: { - bodyMapper: Mappers.CloudError, + bodyMapper: Mappers.CommonErrorResponse, }, }, urlParameters: [ @@ -419,7 +419,7 @@ const listNextOperationSpec: coreClient.OperationSpec = { Parameters.resourceGroupName, Parameters.subscriptionId, Parameters.nextLink, - Parameters.networkManagerName, + Parameters.networkManagerName1, ], headerParameters: [Parameters.accept], serializer, diff --git a/sdk/network/arm-network/src/operations/securityUserConfigurations.ts b/sdk/network/arm-network/src/operations/securityUserConfigurations.ts new file mode 100644 index 000000000000..141e50d0721e --- /dev/null +++ b/sdk/network/arm-network/src/operations/securityUserConfigurations.ts @@ -0,0 +1,426 @@ +/* + * 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"; +import { SecurityUserConfigurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + SecurityUserConfiguration, + SecurityUserConfigurationsListNextOptionalParams, + SecurityUserConfigurationsListOptionalParams, + SecurityUserConfigurationsListResponse, + SecurityUserConfigurationsGetOptionalParams, + SecurityUserConfigurationsGetResponse, + SecurityUserConfigurationsCreateOrUpdateOptionalParams, + SecurityUserConfigurationsCreateOrUpdateResponse, + SecurityUserConfigurationsDeleteOptionalParams, + SecurityUserConfigurationsListNextResponse, +} from "../models"; + +/// +/** Class containing SecurityUserConfigurations operations. */ +export class SecurityUserConfigurationsImpl + implements SecurityUserConfigurations +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class SecurityUserConfigurations class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists all the network manager security user configurations in a network manager, in a paginated + * format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + options?: SecurityUserConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + 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, + networkManagerName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + options?: SecurityUserConfigurationsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: SecurityUserConfigurationsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, networkManagerName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + options?: SecurityUserConfigurationsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + options, + )) { + yield* page; + } + } + + /** + * Lists all the network manager security user configurations in a network manager, in a paginated + * format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + options?: SecurityUserConfigurationsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, options }, + listOperationSpec, + ); + } + + /** + * Retrieves a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, configurationName, options }, + getOperationSpec, + ); + } + + /** + * Creates or updates a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param securityUserConfiguration The security user configuration to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + securityUserConfiguration: SecurityUserConfiguration, + options?: SecurityUserConfigurationsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + securityUserConfiguration, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + nextLink: string, + options?: SecurityUserConfigurationsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserConfiguration, + }, + 201: { + bodyMapper: Mappers.SecurityUserConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.securityUserConfiguration, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserConfigurationListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/securityUserRuleCollections.ts b/sdk/network/arm-network/src/operations/securityUserRuleCollections.ts new file mode 100644 index 000000000000..4f817e2bd4eb --- /dev/null +++ b/sdk/network/arm-network/src/operations/securityUserRuleCollections.ts @@ -0,0 +1,469 @@ +/* + * 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"; +import { SecurityUserRuleCollections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + SecurityUserRuleCollection, + SecurityUserRuleCollectionsListNextOptionalParams, + SecurityUserRuleCollectionsListOptionalParams, + SecurityUserRuleCollectionsListResponse, + SecurityUserRuleCollectionsGetOptionalParams, + SecurityUserRuleCollectionsGetResponse, + SecurityUserRuleCollectionsCreateOrUpdateOptionalParams, + SecurityUserRuleCollectionsCreateOrUpdateResponse, + SecurityUserRuleCollectionsDeleteOptionalParams, + SecurityUserRuleCollectionsListNextResponse, +} from "../models"; + +/// +/** Class containing SecurityUserRuleCollections operations. */ +export class SecurityUserRuleCollectionsImpl + implements SecurityUserRuleCollections +{ + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class SecurityUserRuleCollections class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists all the security user rule collections in a security configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserRuleCollectionsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + configurationName, + 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, + networkManagerName, + configurationName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserRuleCollectionsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: SecurityUserRuleCollectionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + configurationName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + configurationName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserRuleCollectionsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + configurationName, + options, + )) { + yield* page; + } + } + + /** + * Lists all the security user rule collections in a security configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserRuleCollectionsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, configurationName, options }, + listOperationSpec, + ); + } + + /** + * Gets a network manager security user configuration rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates a security user rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param securityUserRuleCollection The Security User Rule Collection to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + securityUserRuleCollection: SecurityUserRuleCollection, + options?: SecurityUserRuleCollectionsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + securityUserRuleCollection, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a Security User Rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a Security User Rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + nextLink: string, + options?: SecurityUserRuleCollectionsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleCollectionListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleCollection, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleCollection, + }, + 201: { + bodyMapper: Mappers.SecurityUserRuleCollection, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.securityUserRuleCollection, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleCollectionListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/securityUserRules.ts b/sdk/network/arm-network/src/operations/securityUserRules.ts new file mode 100644 index 000000000000..33f2f9fa4e15 --- /dev/null +++ b/sdk/network/arm-network/src/operations/securityUserRules.ts @@ -0,0 +1,504 @@ +/* + * 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"; +import { SecurityUserRules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + SecurityUserRule, + SecurityUserRulesListNextOptionalParams, + SecurityUserRulesListOptionalParams, + SecurityUserRulesListResponse, + SecurityUserRulesGetOptionalParams, + SecurityUserRulesGetResponse, + SecurityUserRulesCreateOrUpdateOptionalParams, + SecurityUserRulesCreateOrUpdateResponse, + SecurityUserRulesDeleteOptionalParams, + SecurityUserRulesListNextResponse, +} from "../models"; + +/// +/** Class containing SecurityUserRules operations. */ +export class SecurityUserRulesImpl implements SecurityUserRules { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class SecurityUserRules class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Lists all Security User Rules in a rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRulesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + 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, + networkManagerName, + configurationName, + ruleCollectionName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRulesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: SecurityUserRulesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRulesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + )) { + yield* page; + } + } + + /** + * Lists all Security User Rules in a rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRulesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + options, + }, + listOperationSpec, + ); + } + + /** + * Gets a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + }, + getOperationSpec, + ); + } + + /** + * Creates or updates a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param securityUserRule The security user rule to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + securityUserRule: SecurityUserRule, + options?: SecurityUserRulesCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + securityUserRule, + options, + }, + createOrUpdateOperationSpec, + ); + } + + /** + * Deletes a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesDeleteOptionalParams, + ): 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, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller>(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + ruleName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + nextLink: string, + options?: SecurityUserRulesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + configurationName, + ruleCollectionName, + nextLink, + options, + }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.top, + Parameters.skipToken1, + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRule, + }, + 201: { + bodyMapper: Mappers.SecurityUserRule, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.securityUserRule, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 201: {}, + 202: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + Parameters.ruleName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SecurityUserRuleListResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.resourceGroupName1, + Parameters.networkManagerName2, + Parameters.configurationName1, + Parameters.ruleCollectionName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/staticCidrs.ts b/sdk/network/arm-network/src/operations/staticCidrs.ts new file mode 100644 index 000000000000..5c44ce8b6be9 --- /dev/null +++ b/sdk/network/arm-network/src/operations/staticCidrs.ts @@ -0,0 +1,478 @@ +/* + * 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"; +import { StaticCidrs } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + StaticCidr, + StaticCidrsListNextOptionalParams, + StaticCidrsListOptionalParams, + StaticCidrsListResponse, + StaticCidrsCreateOptionalParams, + StaticCidrsCreateResponse, + StaticCidrsGetOptionalParams, + StaticCidrsGetResponse, + StaticCidrsDeleteOptionalParams, + StaticCidrsDeleteResponse, + StaticCidrsListNextResponse, +} from "../models"; + +/// +/** Class containing StaticCidrs operations. */ +export class StaticCidrsImpl implements StaticCidrs { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class StaticCidrs class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets list of Static CIDR resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: StaticCidrsListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + poolName, + 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, + networkManagerName, + poolName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: StaticCidrsListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: StaticCidrsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list( + resourceGroupName, + networkManagerName, + poolName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + poolName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: StaticCidrsListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + poolName, + options, + )) { + yield* page; + } + } + + /** + * Gets list of Static CIDR resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: StaticCidrsListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, options }, + listOperationSpec, + ); + } + + /** + * Creates/Updates the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param staticCidrName Static Cidr allocation name. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsCreateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + poolName, + staticCidrName, + options, + }, + createOperationSpec, + ); + } + + /** + * Gets the specific Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + networkManagerName, + poolName, + staticCidrName, + options, + }, + getOperationSpec, + ); + } + + /** + * Delete the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to delete. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + StaticCidrsDeleteResponse + > + > { + 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, + networkManagerName, + poolName, + staticCidrName, + options, + }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller< + StaticCidrsDeleteResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Delete the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to delete. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + poolName, + staticCidrName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + nextLink: string, + options?: StaticCidrsListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, poolName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/staticCidrs", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StaticCidrList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.skip, + Parameters.top1, + Parameters.sortKey, + Parameters.sortValue, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/staticCidrs/{staticCidrName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.StaticCidr, + }, + 201: { + bodyMapper: Mappers.StaticCidr, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + Parameters.staticCidrName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/staticCidrs/{staticCidrName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StaticCidr, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + Parameters.staticCidrName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/ipamPools/{poolName}/staticCidrs/{staticCidrName}", + httpMethod: "DELETE", + responses: { + 200: { + headersMapper: Mappers.StaticCidrsDeleteHeaders, + }, + 201: { + headersMapper: Mappers.StaticCidrsDeleteHeaders, + }, + 202: { + headersMapper: Mappers.StaticCidrsDeleteHeaders, + }, + 204: { + headersMapper: Mappers.StaticCidrsDeleteHeaders, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.poolName, + Parameters.staticCidrName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.StaticCidrList, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + Parameters.poolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/staticMembers.ts b/sdk/network/arm-network/src/operations/staticMembers.ts index 49d82ea71f30..d36d6f2fe255 100644 --- a/sdk/network/arm-network/src/operations/staticMembers.ts +++ b/sdk/network/arm-network/src/operations/staticMembers.ts @@ -352,7 +352,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/subscriptionNetworkManagerConnections.ts b/sdk/network/arm-network/src/operations/subscriptionNetworkManagerConnections.ts index 94b498b46b1a..d10a28dbaefe 100644 --- a/sdk/network/arm-network/src/operations/subscriptionNetworkManagerConnections.ts +++ b/sdk/network/arm-network/src/operations/subscriptionNetworkManagerConnections.ts @@ -248,7 +248,7 @@ const listOperationSpec: coreClient.OperationSpec = { queryParameters: [ Parameters.apiVersion, Parameters.top, - Parameters.skipToken, + Parameters.skipToken1, ], urlParameters: [Parameters.$host, Parameters.subscriptionId], headerParameters: [Parameters.accept], diff --git a/sdk/network/arm-network/src/operations/verifierWorkspaces.ts b/sdk/network/arm-network/src/operations/verifierWorkspaces.ts new file mode 100644 index 000000000000..c78d054818fc --- /dev/null +++ b/sdk/network/arm-network/src/operations/verifierWorkspaces.ts @@ -0,0 +1,476 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { VerifierWorkspaces } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { NetworkManagementClient } from "../networkManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + VerifierWorkspace, + VerifierWorkspacesListNextOptionalParams, + VerifierWorkspacesListOptionalParams, + VerifierWorkspacesListResponse, + VerifierWorkspacesGetOptionalParams, + VerifierWorkspacesGetResponse, + VerifierWorkspacesCreateOptionalParams, + VerifierWorkspacesCreateResponse, + VerifierWorkspacesUpdateOptionalParams, + VerifierWorkspacesUpdateResponse, + VerifierWorkspacesDeleteOptionalParams, + VerifierWorkspacesDeleteResponse, + VerifierWorkspacesListNextResponse, +} from "../models"; + +/// +/** Class containing VerifierWorkspaces operations. */ +export class VerifierWorkspacesImpl implements VerifierWorkspaces { + private readonly client: NetworkManagementClient; + + /** + * Initialize a new instance of the class VerifierWorkspaces class. + * @param client Reference to the service client + */ + constructor(client: NetworkManagementClient) { + this.client = client; + } + + /** + * Gets list of Verifier Workspaces. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + networkManagerName: string, + options?: VerifierWorkspacesListOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + networkManagerName, + 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, + networkManagerName, + options, + settings, + ); + }, + }; + } + + private async *listPagingPage( + resourceGroupName: string, + networkManagerName: string, + options?: VerifierWorkspacesListOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: VerifierWorkspacesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, networkManagerName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + networkManagerName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + networkManagerName: string, + options?: VerifierWorkspacesListOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + networkManagerName, + options, + )) { + yield* page; + } + } + + /** + * Gets list of Verifier Workspaces. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + networkManagerName: string, + options?: VerifierWorkspacesListOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, options }, + listOperationSpec, + ); + } + + /** + * Gets Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, workspaceName, options }, + getOperationSpec, + ); + } + + /** + * Creates Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param body Verifier Workspace object to create/update. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + body: VerifierWorkspace, + options?: VerifierWorkspacesCreateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, workspaceName, body, options }, + createOperationSpec, + ); + } + + /** + * Updates Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, workspaceName, options }, + updateOperationSpec, + ); + } + + /** + * Deletes Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + async beginDelete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VerifierWorkspacesDeleteResponse + > + > { + 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, networkManagerName, workspaceName, options }, + spec: deleteOperationSpec, + }); + const poller = await createHttpPoller< + VerifierWorkspacesDeleteResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Deletes Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + async beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesDeleteOptionalParams, + ): Promise { + const poller = await this.beginDelete( + resourceGroupName, + networkManagerName, + workspaceName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + networkManagerName: string, + nextLink: string, + options?: VerifierWorkspacesListNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, networkManagerName, nextLink, options }, + listNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VerifierWorkspaceListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.skipToken, + Parameters.skip, + Parameters.top1, + Parameters.sortKey, + Parameters.sortValue, + ], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VerifierWorkspace, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.VerifierWorkspace, + }, + 201: { + bodyMapper: Mappers.VerifierWorkspace, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body5, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.VerifierWorkspace, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + requestBody: Parameters.body6, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/verifierWorkspaces/{workspaceName}", + httpMethod: "DELETE", + responses: { + 200: { + headersMapper: Mappers.VerifierWorkspacesDeleteHeaders, + }, + 201: { + headersMapper: Mappers.VerifierWorkspacesDeleteHeaders, + }, + 202: { + headersMapper: Mappers.VerifierWorkspacesDeleteHeaders, + }, + 204: { + headersMapper: Mappers.VerifierWorkspacesDeleteHeaders, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.networkManagerName1, + Parameters.workspaceName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.VerifierWorkspaceListResult, + }, + default: { + bodyMapper: Mappers.CommonErrorResponse, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.networkManagerName1, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/network/arm-network/src/operations/virtualNetworks.ts b/sdk/network/arm-network/src/operations/virtualNetworks.ts index cc4ea450540d..95338b46ea4b 100644 --- a/sdk/network/arm-network/src/operations/virtualNetworks.ts +++ b/sdk/network/arm-network/src/operations/virtualNetworks.ts @@ -966,8 +966,8 @@ const listDdosProtectionStatusOperationSpec: coreClient.OperationSpec = { }, queryParameters: [ Parameters.apiVersion, - Parameters.top1, - Parameters.skipToken1, + Parameters.skipToken, + Parameters.top2, ], urlParameters: [ Parameters.$host, diff --git a/sdk/network/arm-network/src/operations/vpnLinkConnections.ts b/sdk/network/arm-network/src/operations/vpnLinkConnections.ts index 14a8f971087f..abe4f29cc64d 100644 --- a/sdk/network/arm-network/src/operations/vpnLinkConnections.ts +++ b/sdk/network/arm-network/src/operations/vpnLinkConnections.ts @@ -20,13 +20,24 @@ import { } from "@azure/core-lro"; import { createLroSpec } from "../lroImpl"; import { + ConnectionSharedKeyResult, + VpnLinkConnectionsGetAllSharedKeysNextOptionalParams, + VpnLinkConnectionsGetAllSharedKeysOptionalParams, + VpnLinkConnectionsGetAllSharedKeysResponse, VpnSiteLinkConnection, VpnLinkConnectionsListByVpnConnectionNextOptionalParams, VpnLinkConnectionsListByVpnConnectionOptionalParams, VpnLinkConnectionsListByVpnConnectionResponse, VpnLinkConnectionsResetConnectionOptionalParams, + VpnLinkConnectionsGetDefaultSharedKeyOptionalParams, + VpnLinkConnectionsGetDefaultSharedKeyResponse, + VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse, + VpnLinkConnectionsListDefaultSharedKeyOptionalParams, + VpnLinkConnectionsListDefaultSharedKeyResponse, VpnLinkConnectionsGetIkeSasOptionalParams, VpnLinkConnectionsGetIkeSasResponse, + VpnLinkConnectionsGetAllSharedKeysNextResponse, VpnLinkConnectionsListByVpnConnectionNextResponse, } from "../models"; @@ -43,6 +54,108 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { this.client = client; } + /** + * Lists all shared keys of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + public listAllSharedKeys( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetAllSharedKeysOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.getAllSharedKeysPagingAll( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + 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.getAllSharedKeysPagingPage( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + settings, + ); + }, + }; + } + + private async *getAllSharedKeysPagingPage( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetAllSharedKeysOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: VpnLinkConnectionsGetAllSharedKeysResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._getAllSharedKeys( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._getAllSharedKeysNext( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *getAllSharedKeysPagingAll( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetAllSharedKeysOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.getAllSharedKeysPagingPage( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + )) { + yield* page; + } + } + /** * Retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection. * @param resourceGroupName The resource group name of the vpn gateway. @@ -234,6 +347,205 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { return poller.pollUntilDone(); } + /** + * Lists all shared keys of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + private _getAllSharedKeys( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetAllSharedKeysOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + }, + getAllSharedKeysOperationSpec, + ); + } + + /** + * Gets the shared key of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + getDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetDefaultSharedKeyOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + }, + getDefaultSharedKeyOperationSpec, + ); + } + + /** + * Sets or auto generates the shared key based on the user input. If users give a shared key value, it + * does the set operation. If key length is given, the operation creates a random key of the + * pre-defined length. + * @param resourceGroupName The resource group name of the VpnGateway. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the connection. + * @param linkConnectionName The name of the vpn link connection. + * @param connectionSharedKeyParameters Parameters supplied to set or auto generate the shared key for + * the vpn link connection. + * @param options The options parameters. + */ + async beginSetOrInitDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + connectionSharedKeyParameters: ConnectionSharedKeyResult, + options?: VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse + > + > { + 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, + gatewayName, + connectionName, + linkConnectionName, + connectionSharedKeyParameters, + options, + }, + spec: setOrInitDefaultSharedKeyOperationSpec, + }); + const poller = await createHttpPoller< + VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "azure-async-operation", + }); + await poller.poll(); + return poller; + } + + /** + * Sets or auto generates the shared key based on the user input. If users give a shared key value, it + * does the set operation. If key length is given, the operation creates a random key of the + * pre-defined length. + * @param resourceGroupName The resource group name of the VpnGateway. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the connection. + * @param linkConnectionName The name of the vpn link connection. + * @param connectionSharedKeyParameters Parameters supplied to set or auto generate the shared key for + * the vpn link connection. + * @param options The options parameters. + */ + async beginSetOrInitDefaultSharedKeyAndWait( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + connectionSharedKeyParameters: ConnectionSharedKeyResult, + options?: VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + ): Promise { + const poller = await this.beginSetOrInitDefaultSharedKey( + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + connectionSharedKeyParameters, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Gets the value of the shared key of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + listDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsListDefaultSharedKeyOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + options, + }, + listDefaultSharedKeyOperationSpec, + ); + } + /** * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group. * @param resourceGroupName The name of the resource group. @@ -359,6 +671,36 @@ export class VpnLinkConnectionsImpl implements VpnLinkConnections { ); } + /** + * GetAllSharedKeysNext + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param nextLink The nextLink from the previous successful call to the GetAllSharedKeys method. + * @param options The options parameters. + */ + private _getAllSharedKeysNext( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + nextLink: string, + options?: VpnLinkConnectionsGetAllSharedKeysNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + gatewayName, + connectionName, + linkConnectionName, + nextLink, + options, + }, + getAllSharedKeysNextOperationSpec, + ); + } + /** * ListByVpnConnectionNext * @param resourceGroupName The resource group name of the vpn gateway. @@ -407,6 +749,109 @@ const resetConnectionOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer, }; +const getAllSharedKeysOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/sharedKeys", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ConnectionSharedKeyResultList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.connectionName, + Parameters.gatewayName, + Parameters.linkConnectionName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const getDefaultSharedKeyOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/sharedKeys/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.connectionName, + Parameters.gatewayName, + Parameters.linkConnectionName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const setOrInitDefaultSharedKeyOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/sharedKeys/default", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + 201: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + 202: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + 204: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.connectionSharedKeyParameters, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.connectionName, + Parameters.gatewayName, + Parameters.linkConnectionName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const listDefaultSharedKeyOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/sharedKeys/default/listSharedKey", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.ConnectionSharedKeyResult, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.connectionName, + Parameters.gatewayName, + Parameters.linkConnectionName, + ], + headerParameters: [Parameters.accept], + serializer, +}; const getIkeSasOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}/getikesas", httpMethod: "POST", @@ -461,6 +906,29 @@ const listByVpnConnectionOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer, }; +const getAllSharedKeysNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ConnectionSharedKeyResultList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.resourceGroupName, + Parameters.subscriptionId, + Parameters.nextLink, + Parameters.connectionName, + Parameters.gatewayName, + Parameters.linkConnectionName, + ], + headerParameters: [Parameters.accept], + serializer, +}; const listByVpnConnectionNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/network/arm-network/src/operationsInterfaces/index.ts b/sdk/network/arm-network/src/operationsInterfaces/index.ts index acd2f150c301..219704af30d2 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/index.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/index.ts @@ -48,6 +48,8 @@ export * from "./firewallPolicyIdpsSignaturesFilterValues"; export * from "./firewallPolicyDrafts"; export * from "./firewallPolicyDeployments"; export * from "./firewallPolicyRuleCollectionGroupDrafts"; +export * from "./ipamPools"; +export * from "./staticCidrs"; export * from "./ipAllocations"; export * from "./ipGroups"; export * from "./loadBalancers"; @@ -74,10 +76,19 @@ export * from "./scopeConnections"; export * from "./securityAdminConfigurations"; export * from "./adminRuleCollections"; export * from "./adminRules"; +export * from "./securityUserConfigurations"; +export * from "./securityUserRuleCollections"; +export * from "./securityUserRules"; +export * from "./networkManagerRoutingConfigurations"; +export * from "./routingRuleCollections"; +export * from "./routingRules"; export * from "./networkProfiles"; export * from "./networkSecurityGroups"; export * from "./securityRules"; export * from "./defaultSecurityRules"; +export * from "./reachabilityAnalysisIntents"; +export * from "./reachabilityAnalysisRuns"; +export * from "./verifierWorkspaces"; export * from "./networkVirtualAppliances"; export * from "./virtualApplianceSites"; export * from "./virtualApplianceSkus"; diff --git a/sdk/network/arm-network/src/operationsInterfaces/ipamPools.ts b/sdk/network/arm-network/src/operationsInterfaces/ipamPools.ts new file mode 100644 index 000000000000..aaa234ee1907 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/ipamPools.ts @@ -0,0 +1,138 @@ +/* + * 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 { + IpamPool, + IpamPoolsListOptionalParams, + PoolAssociation, + IpamPoolsListAssociatedResourcesOptionalParams, + IpamPoolsCreateOptionalParams, + IpamPoolsCreateResponse, + IpamPoolsUpdateOptionalParams, + IpamPoolsUpdateResponse, + IpamPoolsGetOptionalParams, + IpamPoolsGetResponse, + IpamPoolsDeleteOptionalParams, + IpamPoolsDeleteResponse, + IpamPoolsGetPoolUsageOptionalParams, + IpamPoolsGetPoolUsageResponse, +} from "../models"; + +/// +/** Interface representing a IpamPools. */ +export interface IpamPools { + /** + * Gets list of Pool resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + options?: IpamPoolsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * List Associated Resource in the Pool. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + listAssociatedResources( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsListAssociatedResourcesOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Creates/Updates the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsCreateOptionalParams, + ): Promise; + /** + * Updates the specific Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsUpdateOptionalParams, + ): Promise; + /** + * Gets the specific Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsGetOptionalParams, + ): Promise; + /** + * Delete the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + IpamPoolsDeleteResponse + > + >; + /** + * Delete the Pool resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsDeleteOptionalParams, + ): Promise; + /** + * Get the Pool Usage. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + getPoolUsage( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: IpamPoolsGetPoolUsageOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/networkManagerRoutingConfigurations.ts b/sdk/network/arm-network/src/operationsInterfaces/networkManagerRoutingConfigurations.ts new file mode 100644 index 000000000000..ed55453802c0 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/networkManagerRoutingConfigurations.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 { + NetworkManagerRoutingConfiguration, + NetworkManagerRoutingConfigurationsListOptionalParams, + NetworkManagerRoutingConfigurationsGetOptionalParams, + NetworkManagerRoutingConfigurationsGetResponse, + NetworkManagerRoutingConfigurationsCreateOrUpdateOptionalParams, + NetworkManagerRoutingConfigurationsCreateOrUpdateResponse, + NetworkManagerRoutingConfigurationsDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a NetworkManagerRoutingConfigurations. */ +export interface NetworkManagerRoutingConfigurations { + /** + * Lists all the network manager routing configurations in a network manager, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + options?: NetworkManagerRoutingConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Retrieves a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsGetOptionalParams, + ): Promise; + /** + * Creates or updates a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param routingConfiguration The routing configuration to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + routingConfiguration: NetworkManagerRoutingConfiguration, + options?: NetworkManagerRoutingConfigurationsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a network manager routing configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: NetworkManagerRoutingConfigurationsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisIntents.ts b/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisIntents.ts new file mode 100644 index 000000000000..f1a5f9ea378f --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisIntents.ts @@ -0,0 +1,83 @@ +/* + * 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 { + ReachabilityAnalysisIntent, + ReachabilityAnalysisIntentsListOptionalParams, + ReachabilityAnalysisIntentsGetOptionalParams, + ReachabilityAnalysisIntentsGetResponse, + ReachabilityAnalysisIntentsCreateOptionalParams, + ReachabilityAnalysisIntentsCreateResponse, + ReachabilityAnalysisIntentsDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a ReachabilityAnalysisIntents. */ +export interface ReachabilityAnalysisIntents { + /** + * Gets list of Reachability Analysis Intents . + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisIntentsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Get the Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + options?: ReachabilityAnalysisIntentsGetOptionalParams, + ): Promise; + /** + * Creates Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param body Reachability Analysis Intent object to create/update. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + body: ReachabilityAnalysisIntent, + options?: ReachabilityAnalysisIntentsCreateOptionalParams, + ): Promise; + /** + * Deletes Reachability Analysis Intent. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisIntentName Reachability Analysis Intent name. + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisIntentName: string, + options?: ReachabilityAnalysisIntentsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisRuns.ts b/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisRuns.ts new file mode 100644 index 000000000000..bda366c81c50 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/reachabilityAnalysisRuns.ts @@ -0,0 +1,127 @@ +/* + * 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 { + ReachabilityAnalysisRun, + ReachabilityAnalysisRunsListOptionalParams, + ReachabilityAnalysisRunsGetOptionalParams, + ReachabilityAnalysisRunsGetResponse, + ReachabilityAnalysisRunsCreateOptionalParams, + ReachabilityAnalysisRunsCreateResponse, + ReachabilityAnalysisRunsDeleteOptionalParams, + ReachabilityAnalysisRunsDeleteResponse, +} from "../models"; + +/// +/** Interface representing a ReachabilityAnalysisRuns. */ +export interface ReachabilityAnalysisRuns { + /** + * Gets list of Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: ReachabilityAnalysisRunsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsGetOptionalParams, + ): Promise; + /** + * Creates Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param body Analysis Run resource object to create/update. + * @param options The options parameters. + */ + beginCreate( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + body: ReachabilityAnalysisRun, + options?: ReachabilityAnalysisRunsCreateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ReachabilityAnalysisRunsCreateResponse + > + >; + /** + * Creates Reachability Analysis Runs. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param body Analysis Run resource object to create/update. + * @param options The options parameters. + */ + beginCreateAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + body: ReachabilityAnalysisRun, + options?: ReachabilityAnalysisRunsCreateOptionalParams, + ): Promise; + /** + * Deletes Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ReachabilityAnalysisRunsDeleteResponse + > + >; + /** + * Deletes Reachability Analysis Run. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param reachabilityAnalysisRunName Reachability Analysis Run name. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + reachabilityAnalysisRunName: string, + options?: ReachabilityAnalysisRunsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/routingRuleCollections.ts b/sdk/network/arm-network/src/operationsInterfaces/routingRuleCollections.ts new file mode 100644 index 000000000000..ed6b53d01b85 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/routingRuleCollections.ts @@ -0,0 +1,99 @@ +/* + * 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 { + RoutingRuleCollection, + RoutingRuleCollectionsListOptionalParams, + RoutingRuleCollectionsGetOptionalParams, + RoutingRuleCollectionsGetResponse, + RoutingRuleCollectionsCreateOrUpdateOptionalParams, + RoutingRuleCollectionsCreateOrUpdateResponse, + RoutingRuleCollectionsDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a RoutingRuleCollections. */ +export interface RoutingRuleCollections { + /** + * Lists all the rule collections in a routing configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: RoutingRuleCollectionsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets a network manager routing configuration rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsGetOptionalParams, + ): Promise; + /** + * Creates or updates a routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleCollection The Rule Collection to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleCollection: RoutingRuleCollection, + options?: RoutingRuleCollectionsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes an routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes an routing rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRuleCollectionsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/routingRules.ts b/sdk/network/arm-network/src/operationsInterfaces/routingRules.ts new file mode 100644 index 000000000000..42b876662c0c --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/routingRules.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 { + RoutingRule, + RoutingRulesListOptionalParams, + RoutingRulesGetOptionalParams, + RoutingRulesGetResponse, + RoutingRulesCreateOrUpdateOptionalParams, + RoutingRulesCreateOrUpdateResponse, + RoutingRulesDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a RoutingRules. */ +export interface RoutingRules { + /** + * List all network manager routing configuration routing rules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: RoutingRulesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets a network manager routing configuration routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesGetOptionalParams, + ): Promise; + /** + * Creates or updates an routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param routingRule The routing rule to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + routingRule: RoutingRule, + options?: RoutingRulesCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a routing rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Routing Configuration. + * @param ruleCollectionName The name of the network manager routing Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: RoutingRulesDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/securityUserConfigurations.ts b/sdk/network/arm-network/src/operationsInterfaces/securityUserConfigurations.ts new file mode 100644 index 000000000000..c56f27f90f68 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/securityUserConfigurations.ts @@ -0,0 +1,90 @@ +/* + * 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 { + SecurityUserConfiguration, + SecurityUserConfigurationsListOptionalParams, + SecurityUserConfigurationsGetOptionalParams, + SecurityUserConfigurationsGetResponse, + SecurityUserConfigurationsCreateOrUpdateOptionalParams, + SecurityUserConfigurationsCreateOrUpdateResponse, + SecurityUserConfigurationsDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a SecurityUserConfigurations. */ +export interface SecurityUserConfigurations { + /** + * Lists all the network manager security user configurations in a network manager, in a paginated + * format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + options?: SecurityUserConfigurationsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Retrieves a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsGetOptionalParams, + ): Promise; + /** + * Creates or updates a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param securityUserConfiguration The security user configuration to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + securityUserConfiguration: SecurityUserConfiguration, + options?: SecurityUserConfigurationsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a network manager security user configuration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserConfigurationsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/securityUserRuleCollections.ts b/sdk/network/arm-network/src/operationsInterfaces/securityUserRuleCollections.ts new file mode 100644 index 000000000000..512fb5f51dc5 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/securityUserRuleCollections.ts @@ -0,0 +1,99 @@ +/* + * 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 { + SecurityUserRuleCollection, + SecurityUserRuleCollectionsListOptionalParams, + SecurityUserRuleCollectionsGetOptionalParams, + SecurityUserRuleCollectionsGetResponse, + SecurityUserRuleCollectionsCreateOrUpdateOptionalParams, + SecurityUserRuleCollectionsCreateOrUpdateResponse, + SecurityUserRuleCollectionsDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a SecurityUserRuleCollections. */ +export interface SecurityUserRuleCollections { + /** + * Lists all the security user rule collections in a security configuration, in a paginated format. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + options?: SecurityUserRuleCollectionsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets a network manager security user configuration rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsGetOptionalParams, + ): Promise; + /** + * Creates or updates a security user rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param securityUserRuleCollection The Security User Rule Collection to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + securityUserRuleCollection: SecurityUserRuleCollection, + options?: SecurityUserRuleCollectionsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a Security User Rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a Security User Rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRuleCollectionsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/securityUserRules.ts b/sdk/network/arm-network/src/operationsInterfaces/securityUserRules.ts new file mode 100644 index 000000000000..bedb40efedd4 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/securityUserRules.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 { + SecurityUserRule, + SecurityUserRulesListOptionalParams, + SecurityUserRulesGetOptionalParams, + SecurityUserRulesGetResponse, + SecurityUserRulesCreateOrUpdateOptionalParams, + SecurityUserRulesCreateOrUpdateResponse, + SecurityUserRulesDeleteOptionalParams, +} from "../models"; + +/// +/** Interface representing a SecurityUserRules. */ +export interface SecurityUserRules { + /** + * Lists all Security User Rules in a rule collection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + options?: SecurityUserRulesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesGetOptionalParams, + ): Promise; + /** + * Creates or updates a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param securityUserRule The security user rule to create or update + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + securityUserRule: SecurityUserRule, + options?: SecurityUserRulesCreateOrUpdateOptionalParams, + ): Promise; + /** + * Deletes a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesDeleteOptionalParams, + ): Promise, void>>; + /** + * Deletes a security user rule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param networkManagerName The name of the network manager. + * @param configurationName The name of the network manager Security Configuration. + * @param ruleCollectionName The name of the network manager security Configuration rule collection. + * @param ruleName The name of the rule. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + configurationName: string, + ruleCollectionName: string, + ruleName: string, + options?: SecurityUserRulesDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/staticCidrs.ts b/sdk/network/arm-network/src/operationsInterfaces/staticCidrs.ts new file mode 100644 index 000000000000..c42a96985a42 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/staticCidrs.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 { + StaticCidr, + StaticCidrsListOptionalParams, + StaticCidrsCreateOptionalParams, + StaticCidrsCreateResponse, + StaticCidrsGetOptionalParams, + StaticCidrsGetResponse, + StaticCidrsDeleteOptionalParams, + StaticCidrsDeleteResponse, +} from "../models"; + +/// +/** Interface representing a StaticCidrs. */ +export interface StaticCidrs { + /** + * Gets list of Static CIDR resources at Network Manager level. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + options?: StaticCidrsListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Creates/Updates the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName IP Address Manager Pool resource name. + * @param staticCidrName Static Cidr allocation name. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsCreateOptionalParams, + ): Promise; + /** + * Gets the specific Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to retrieve. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsGetOptionalParams, + ): Promise; + /** + * Delete the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to delete. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + StaticCidrsDeleteResponse + > + >; + /** + * Delete the Static CIDR resource. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param poolName Pool resource name. + * @param staticCidrName StaticCidr resource name to delete. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + poolName: string, + staticCidrName: string, + options?: StaticCidrsDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/verifierWorkspaces.ts b/sdk/network/arm-network/src/operationsInterfaces/verifierWorkspaces.ts new file mode 100644 index 000000000000..9f7db32554f3 --- /dev/null +++ b/sdk/network/arm-network/src/operationsInterfaces/verifierWorkspaces.ts @@ -0,0 +1,110 @@ +/* + * 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 { + VerifierWorkspace, + VerifierWorkspacesListOptionalParams, + VerifierWorkspacesGetOptionalParams, + VerifierWorkspacesGetResponse, + VerifierWorkspacesCreateOptionalParams, + VerifierWorkspacesCreateResponse, + VerifierWorkspacesUpdateOptionalParams, + VerifierWorkspacesUpdateResponse, + VerifierWorkspacesDeleteOptionalParams, + VerifierWorkspacesDeleteResponse, +} from "../models"; + +/// +/** Interface representing a VerifierWorkspaces. */ +export interface VerifierWorkspaces { + /** + * Gets list of Verifier Workspaces. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + networkManagerName: string, + options?: VerifierWorkspacesListOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Gets Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + get( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesGetOptionalParams, + ): Promise; + /** + * Creates Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param body Verifier Workspace object to create/update. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + body: VerifierWorkspace, + options?: VerifierWorkspacesCreateOptionalParams, + ): Promise; + /** + * Updates Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + update( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesUpdateOptionalParams, + ): Promise; + /** + * Deletes Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + beginDelete( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesDeleteOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VerifierWorkspacesDeleteResponse + > + >; + /** + * Deletes Verifier Workspace. + * @param resourceGroupName The name of the resource group. + * @param networkManagerName The name of the network manager. + * @param workspaceName Workspace name. + * @param options The options parameters. + */ + beginDeleteAndWait( + resourceGroupName: string, + networkManagerName: string, + workspaceName: string, + options?: VerifierWorkspacesDeleteOptionalParams, + ): Promise; +} diff --git a/sdk/network/arm-network/src/operationsInterfaces/vpnLinkConnections.ts b/sdk/network/arm-network/src/operationsInterfaces/vpnLinkConnections.ts index 6cd391a4d48e..a1f1cba85e72 100644 --- a/sdk/network/arm-network/src/operationsInterfaces/vpnLinkConnections.ts +++ b/sdk/network/arm-network/src/operationsInterfaces/vpnLinkConnections.ts @@ -9,9 +9,17 @@ import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { SimplePollerLike, OperationState } from "@azure/core-lro"; import { + ConnectionSharedKeyResult, + VpnLinkConnectionsGetAllSharedKeysOptionalParams, VpnSiteLinkConnection, VpnLinkConnectionsListByVpnConnectionOptionalParams, VpnLinkConnectionsResetConnectionOptionalParams, + VpnLinkConnectionsGetDefaultSharedKeyOptionalParams, + VpnLinkConnectionsGetDefaultSharedKeyResponse, + VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse, + VpnLinkConnectionsListDefaultSharedKeyOptionalParams, + VpnLinkConnectionsListDefaultSharedKeyResponse, VpnLinkConnectionsGetIkeSasOptionalParams, VpnLinkConnectionsGetIkeSasResponse, } from "../models"; @@ -19,6 +27,21 @@ import { /// /** Interface representing a VpnLinkConnections. */ export interface VpnLinkConnections { + /** + * Lists all shared keys of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + listAllSharedKeys( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetAllSharedKeysOptionalParams, + ): PagedAsyncIterableIterator; /** * Retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection. * @param resourceGroupName The resource group name of the vpn gateway. @@ -62,6 +85,81 @@ export interface VpnLinkConnections { linkConnectionName: string, options?: VpnLinkConnectionsResetConnectionOptionalParams, ): Promise; + /** + * Gets the shared key of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + getDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsGetDefaultSharedKeyOptionalParams, + ): Promise; + /** + * Sets or auto generates the shared key based on the user input. If users give a shared key value, it + * does the set operation. If key length is given, the operation creates a random key of the + * pre-defined length. + * @param resourceGroupName The resource group name of the VpnGateway. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the connection. + * @param linkConnectionName The name of the vpn link connection. + * @param connectionSharedKeyParameters Parameters supplied to set or auto generate the shared key for + * the vpn link connection. + * @param options The options parameters. + */ + beginSetOrInitDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + connectionSharedKeyParameters: ConnectionSharedKeyResult, + options?: VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + VpnLinkConnectionsSetOrInitDefaultSharedKeyResponse + > + >; + /** + * Sets or auto generates the shared key based on the user input. If users give a shared key value, it + * does the set operation. If key length is given, the operation creates a random key of the + * pre-defined length. + * @param resourceGroupName The resource group name of the VpnGateway. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the connection. + * @param linkConnectionName The name of the vpn link connection. + * @param connectionSharedKeyParameters Parameters supplied to set or auto generate the shared key for + * the vpn link connection. + * @param options The options parameters. + */ + beginSetOrInitDefaultSharedKeyAndWait( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + connectionSharedKeyParameters: ConnectionSharedKeyResult, + options?: VpnLinkConnectionsSetOrInitDefaultSharedKeyOptionalParams, + ): Promise; + /** + * Gets the value of the shared key of VpnLink connection specified. + * @param resourceGroupName The name of the resource group. + * @param gatewayName The name of the gateway. + * @param connectionName The name of the vpn connection. + * @param linkConnectionName The name of the vpn link connection. + * @param options The options parameters. + */ + listDefaultSharedKey( + resourceGroupName: string, + gatewayName: string, + connectionName: string, + linkConnectionName: string, + options?: VpnLinkConnectionsListDefaultSharedKeyOptionalParams, + ): Promise; /** * Lists IKE Security Associations for Vpn Site Link Connection in the specified resource group. * @param resourceGroupName The name of the resource group. diff --git a/sdk/network/arm-network/test/sampleTest.ts b/sdk/network/arm-network/test/sampleTest.ts new file mode 100644 index 000000000000..d64be981b694 --- /dev/null +++ b/sdk/network/arm-network/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env, +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id", +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables, +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function (this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function () { + await recorder.stop(); + }); + + it("sample test", async function () { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/network/arm-network/tsconfig.json b/sdk/network/arm-network/tsconfig.json index 094dfbf3dbe3..3e6ae96443f3 100644 --- a/sdk/network/arm-network/tsconfig.json +++ b/sdk/network/arm-network/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-network": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"