diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 7dc3fea16cfcd..a5ef8f3444301 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -318,6 +318,7 @@ com.azure.resourcemanager:azure-resourcemanager-mysqlflexibleserver;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-baremetalinfrastructure;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-quota;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-extendedlocation;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-network-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index fe95d7d0a902a..bf2a0714d2d1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -795,6 +795,7 @@
sdk/mysql
sdk/mysqlflexibleserver
sdk/netapp
+ sdk/network
sdk/notificationhubs
sdk/operationsmanagement
sdk/peering
diff --git a/sdk/network/azure-resourcemanager-network-generated/CHANGELOG.md b/sdk/network/azure-resourcemanager-network-generated/CHANGELOG.md
new file mode 100644
index 0000000000000..b18c4d9a10096
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-09-23)
+
+- Azure Resource Manager Network client library for Java. This package contains Microsoft Azure SDK for Network Management SDK. Network Client. Package tag package-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/network/azure-resourcemanager-network-generated/README.md b/sdk/network/azure-resourcemanager-network-generated/README.md
new file mode 100644
index 0000000000000..6e657aa48189b
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager Network client library for Java
+
+Azure Resource Manager Network client library for Java.
+
+This package contains Microsoft Azure SDK for Network Management SDK. Network Client. Package tag package-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-network-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-network-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+NetworkManager manager = NetworkManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/network/azure-resourcemanager-network-generated/pom.xml b/sdk/network/azure-resourcemanager-network-generated/pom.xml
new file mode 100644
index 0000000000000..d0c5912bd8ae3
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/pom.xml
@@ -0,0 +1,86 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-network-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Network Management
+ This package contains Microsoft Azure SDK for Network Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Network Client. Package tag package-2021-03.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.20.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/NetworkManager.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/NetworkManager.java
new file mode 100644
index 0000000000000..b022e5b0fbeec
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/NetworkManager.java
@@ -0,0 +1,1562 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.network.generated.fluent.NetworkManagementClient;
+import com.azure.resourcemanager.network.generated.implementation.ApplicationGatewayPrivateEndpointConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ApplicationGatewayPrivateLinkResourcesImpl;
+import com.azure.resourcemanager.network.generated.implementation.ApplicationGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.ApplicationSecurityGroupsImpl;
+import com.azure.resourcemanager.network.generated.implementation.AvailableDelegationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.AvailableEndpointServicesImpl;
+import com.azure.resourcemanager.network.generated.implementation.AvailablePrivateEndpointTypesImpl;
+import com.azure.resourcemanager.network.generated.implementation.AvailableResourceGroupDelegationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.AvailableServiceAliasesImpl;
+import com.azure.resourcemanager.network.generated.implementation.AzureFirewallFqdnTagsImpl;
+import com.azure.resourcemanager.network.generated.implementation.AzureFirewallsImpl;
+import com.azure.resourcemanager.network.generated.implementation.BastionHostsImpl;
+import com.azure.resourcemanager.network.generated.implementation.BgpServiceCommunitiesImpl;
+import com.azure.resourcemanager.network.generated.implementation.ConnectionMonitorsImpl;
+import com.azure.resourcemanager.network.generated.implementation.CustomIpPrefixesImpl;
+import com.azure.resourcemanager.network.generated.implementation.DdosCustomPoliciesImpl;
+import com.azure.resourcemanager.network.generated.implementation.DdosProtectionPlansImpl;
+import com.azure.resourcemanager.network.generated.implementation.DefaultSecurityRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.DscpConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCircuitAuthorizationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCircuitConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCircuitPeeringsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCircuitsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCrossConnectionPeeringsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteCrossConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteLinksImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRoutePortsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRoutePortsLocationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ExpressRouteServiceProvidersImpl;
+import com.azure.resourcemanager.network.generated.implementation.FirewallPoliciesImpl;
+import com.azure.resourcemanager.network.generated.implementation.FirewallPolicyRuleCollectionGroupsImpl;
+import com.azure.resourcemanager.network.generated.implementation.FlowLogsImpl;
+import com.azure.resourcemanager.network.generated.implementation.HubRouteTablesImpl;
+import com.azure.resourcemanager.network.generated.implementation.HubVirtualNetworkConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.InboundNatRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.InboundSecurityRuleOperationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.IpAllocationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.IpGroupsImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerBackendAddressPoolsImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerFrontendIpConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerLoadBalancingRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerNetworkInterfacesImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerOutboundRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancerProbesImpl;
+import com.azure.resourcemanager.network.generated.implementation.LoadBalancersImpl;
+import com.azure.resourcemanager.network.generated.implementation.LocalNetworkGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.NatGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.NatRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkInterfaceIpConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkInterfaceLoadBalancersImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkInterfaceTapConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkInterfacesImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkManagementClientBuilder;
+import com.azure.resourcemanager.network.generated.implementation.NetworkProfilesImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkSecurityGroupsImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkVirtualAppliancesImpl;
+import com.azure.resourcemanager.network.generated.implementation.NetworkWatchersImpl;
+import com.azure.resourcemanager.network.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.P2SVpnGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.PacketCapturesImpl;
+import com.azure.resourcemanager.network.generated.implementation.PeerExpressRouteCircuitConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.PrivateDnsZoneGroupsImpl;
+import com.azure.resourcemanager.network.generated.implementation.PrivateEndpointsImpl;
+import com.azure.resourcemanager.network.generated.implementation.PrivateLinkServicesImpl;
+import com.azure.resourcemanager.network.generated.implementation.PublicIpAddressesImpl;
+import com.azure.resourcemanager.network.generated.implementation.PublicIpPrefixesImpl;
+import com.azure.resourcemanager.network.generated.implementation.ResourceNavigationLinksImpl;
+import com.azure.resourcemanager.network.generated.implementation.ResourceProvidersImpl;
+import com.azure.resourcemanager.network.generated.implementation.RouteFilterRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.RouteFiltersImpl;
+import com.azure.resourcemanager.network.generated.implementation.RouteTablesImpl;
+import com.azure.resourcemanager.network.generated.implementation.RoutesImpl;
+import com.azure.resourcemanager.network.generated.implementation.SecurityPartnerProvidersImpl;
+import com.azure.resourcemanager.network.generated.implementation.SecurityRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.ServiceAssociationLinksImpl;
+import com.azure.resourcemanager.network.generated.implementation.ServiceEndpointPoliciesImpl;
+import com.azure.resourcemanager.network.generated.implementation.ServiceEndpointPolicyDefinitionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ServiceTagInformationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.ServiceTagsImpl;
+import com.azure.resourcemanager.network.generated.implementation.SubnetsImpl;
+import com.azure.resourcemanager.network.generated.implementation.UsagesImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualApplianceSitesImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualApplianceSkusImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualHubBgpConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualHubIpConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualHubRouteTableV2SImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualHubsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworkGatewayConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworkGatewayNatRulesImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworkGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworkPeeringsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworkTapsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualNetworksImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualRouterPeeringsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualRoutersImpl;
+import com.azure.resourcemanager.network.generated.implementation.VirtualWansImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnGatewaysImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnLinkConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnServerConfigurationsAssociatedWithVirtualWansImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnServerConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnSiteLinkConnectionsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnSiteLinksImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnSitesConfigurationsImpl;
+import com.azure.resourcemanager.network.generated.implementation.VpnSitesImpl;
+import com.azure.resourcemanager.network.generated.implementation.WebApplicationFirewallPoliciesImpl;
+import com.azure.resourcemanager.network.generated.implementation.WebCategoriesImpl;
+import com.azure.resourcemanager.network.generated.models.ApplicationGatewayPrivateEndpointConnections;
+import com.azure.resourcemanager.network.generated.models.ApplicationGatewayPrivateLinkResources;
+import com.azure.resourcemanager.network.generated.models.ApplicationGateways;
+import com.azure.resourcemanager.network.generated.models.ApplicationSecurityGroups;
+import com.azure.resourcemanager.network.generated.models.AvailableDelegations;
+import com.azure.resourcemanager.network.generated.models.AvailableEndpointServices;
+import com.azure.resourcemanager.network.generated.models.AvailablePrivateEndpointTypes;
+import com.azure.resourcemanager.network.generated.models.AvailableResourceGroupDelegations;
+import com.azure.resourcemanager.network.generated.models.AvailableServiceAliases;
+import com.azure.resourcemanager.network.generated.models.AzureFirewallFqdnTags;
+import com.azure.resourcemanager.network.generated.models.AzureFirewalls;
+import com.azure.resourcemanager.network.generated.models.BastionHosts;
+import com.azure.resourcemanager.network.generated.models.BgpServiceCommunities;
+import com.azure.resourcemanager.network.generated.models.ConnectionMonitors;
+import com.azure.resourcemanager.network.generated.models.CustomIpPrefixes;
+import com.azure.resourcemanager.network.generated.models.DdosCustomPolicies;
+import com.azure.resourcemanager.network.generated.models.DdosProtectionPlans;
+import com.azure.resourcemanager.network.generated.models.DefaultSecurityRules;
+import com.azure.resourcemanager.network.generated.models.DscpConfigurations;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCircuitAuthorizations;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCircuitConnections;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCircuitPeerings;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCircuits;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteConnections;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCrossConnectionPeerings;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteCrossConnections;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteGateways;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteLinks;
+import com.azure.resourcemanager.network.generated.models.ExpressRoutePorts;
+import com.azure.resourcemanager.network.generated.models.ExpressRoutePortsLocations;
+import com.azure.resourcemanager.network.generated.models.ExpressRouteServiceProviders;
+import com.azure.resourcemanager.network.generated.models.FirewallPolicies;
+import com.azure.resourcemanager.network.generated.models.FirewallPolicyRuleCollectionGroups;
+import com.azure.resourcemanager.network.generated.models.FlowLogs;
+import com.azure.resourcemanager.network.generated.models.HubRouteTables;
+import com.azure.resourcemanager.network.generated.models.HubVirtualNetworkConnections;
+import com.azure.resourcemanager.network.generated.models.InboundNatRules;
+import com.azure.resourcemanager.network.generated.models.InboundSecurityRuleOperations;
+import com.azure.resourcemanager.network.generated.models.IpAllocations;
+import com.azure.resourcemanager.network.generated.models.IpGroups;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerBackendAddressPools;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerFrontendIpConfigurations;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerLoadBalancingRules;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerNetworkInterfaces;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerOutboundRules;
+import com.azure.resourcemanager.network.generated.models.LoadBalancerProbes;
+import com.azure.resourcemanager.network.generated.models.LoadBalancers;
+import com.azure.resourcemanager.network.generated.models.LocalNetworkGateways;
+import com.azure.resourcemanager.network.generated.models.NatGateways;
+import com.azure.resourcemanager.network.generated.models.NatRules;
+import com.azure.resourcemanager.network.generated.models.NetworkInterfaceIpConfigurations;
+import com.azure.resourcemanager.network.generated.models.NetworkInterfaceLoadBalancers;
+import com.azure.resourcemanager.network.generated.models.NetworkInterfaceTapConfigurations;
+import com.azure.resourcemanager.network.generated.models.NetworkInterfaces;
+import com.azure.resourcemanager.network.generated.models.NetworkProfiles;
+import com.azure.resourcemanager.network.generated.models.NetworkSecurityGroups;
+import com.azure.resourcemanager.network.generated.models.NetworkVirtualAppliances;
+import com.azure.resourcemanager.network.generated.models.NetworkWatchers;
+import com.azure.resourcemanager.network.generated.models.Operations;
+import com.azure.resourcemanager.network.generated.models.P2SVpnGateways;
+import com.azure.resourcemanager.network.generated.models.PacketCaptures;
+import com.azure.resourcemanager.network.generated.models.PeerExpressRouteCircuitConnections;
+import com.azure.resourcemanager.network.generated.models.PrivateDnsZoneGroups;
+import com.azure.resourcemanager.network.generated.models.PrivateEndpoints;
+import com.azure.resourcemanager.network.generated.models.PrivateLinkServices;
+import com.azure.resourcemanager.network.generated.models.PublicIpAddresses;
+import com.azure.resourcemanager.network.generated.models.PublicIpPrefixes;
+import com.azure.resourcemanager.network.generated.models.ResourceNavigationLinks;
+import com.azure.resourcemanager.network.generated.models.ResourceProviders;
+import com.azure.resourcemanager.network.generated.models.RouteFilterRules;
+import com.azure.resourcemanager.network.generated.models.RouteFilters;
+import com.azure.resourcemanager.network.generated.models.RouteTables;
+import com.azure.resourcemanager.network.generated.models.Routes;
+import com.azure.resourcemanager.network.generated.models.SecurityPartnerProviders;
+import com.azure.resourcemanager.network.generated.models.SecurityRules;
+import com.azure.resourcemanager.network.generated.models.ServiceAssociationLinks;
+import com.azure.resourcemanager.network.generated.models.ServiceEndpointPolicies;
+import com.azure.resourcemanager.network.generated.models.ServiceEndpointPolicyDefinitions;
+import com.azure.resourcemanager.network.generated.models.ServiceTagInformations;
+import com.azure.resourcemanager.network.generated.models.ServiceTags;
+import com.azure.resourcemanager.network.generated.models.Subnets;
+import com.azure.resourcemanager.network.generated.models.Usages;
+import com.azure.resourcemanager.network.generated.models.VirtualApplianceSites;
+import com.azure.resourcemanager.network.generated.models.VirtualApplianceSkus;
+import com.azure.resourcemanager.network.generated.models.VirtualHubBgpConnections;
+import com.azure.resourcemanager.network.generated.models.VirtualHubIpConfigurations;
+import com.azure.resourcemanager.network.generated.models.VirtualHubRouteTableV2S;
+import com.azure.resourcemanager.network.generated.models.VirtualHubs;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworkGatewayConnections;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworkGatewayNatRules;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworkGateways;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworkPeerings;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworkTaps;
+import com.azure.resourcemanager.network.generated.models.VirtualNetworks;
+import com.azure.resourcemanager.network.generated.models.VirtualRouterPeerings;
+import com.azure.resourcemanager.network.generated.models.VirtualRouters;
+import com.azure.resourcemanager.network.generated.models.VirtualWans;
+import com.azure.resourcemanager.network.generated.models.VpnConnections;
+import com.azure.resourcemanager.network.generated.models.VpnGateways;
+import com.azure.resourcemanager.network.generated.models.VpnLinkConnections;
+import com.azure.resourcemanager.network.generated.models.VpnServerConfigurations;
+import com.azure.resourcemanager.network.generated.models.VpnServerConfigurationsAssociatedWithVirtualWans;
+import com.azure.resourcemanager.network.generated.models.VpnSiteLinkConnections;
+import com.azure.resourcemanager.network.generated.models.VpnSiteLinks;
+import com.azure.resourcemanager.network.generated.models.VpnSites;
+import com.azure.resourcemanager.network.generated.models.VpnSitesConfigurations;
+import com.azure.resourcemanager.network.generated.models.WebApplicationFirewallPolicies;
+import com.azure.resourcemanager.network.generated.models.WebCategories;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to NetworkManager. Network Client. */
+public final class NetworkManager {
+ private ApplicationGateways applicationGateways;
+
+ private ApplicationGatewayPrivateLinkResources applicationGatewayPrivateLinkResources;
+
+ private ApplicationGatewayPrivateEndpointConnections applicationGatewayPrivateEndpointConnections;
+
+ private ApplicationSecurityGroups applicationSecurityGroups;
+
+ private AvailableDelegations availableDelegations;
+
+ private AvailableResourceGroupDelegations availableResourceGroupDelegations;
+
+ private AvailableServiceAliases availableServiceAliases;
+
+ private AzureFirewalls azureFirewalls;
+
+ private AzureFirewallFqdnTags azureFirewallFqdnTags;
+
+ private WebCategories webCategories;
+
+ private BastionHosts bastionHosts;
+
+ private ResourceProviders resourceProviders;
+
+ private NetworkInterfaces networkInterfaces;
+
+ private PublicIpAddresses publicIpAddresses;
+
+ private CustomIpPrefixes customIpPrefixes;
+
+ private DdosCustomPolicies ddosCustomPolicies;
+
+ private DdosProtectionPlans ddosProtectionPlans;
+
+ private DscpConfigurations dscpConfigurations;
+
+ private AvailableEndpointServices availableEndpointServices;
+
+ private ExpressRouteCircuitAuthorizations expressRouteCircuitAuthorizations;
+
+ private ExpressRouteCircuitPeerings expressRouteCircuitPeerings;
+
+ private ExpressRouteCircuitConnections expressRouteCircuitConnections;
+
+ private PeerExpressRouteCircuitConnections peerExpressRouteCircuitConnections;
+
+ private ExpressRouteCircuits expressRouteCircuits;
+
+ private ExpressRouteServiceProviders expressRouteServiceProviders;
+
+ private ExpressRouteCrossConnections expressRouteCrossConnections;
+
+ private ExpressRouteCrossConnectionPeerings expressRouteCrossConnectionPeerings;
+
+ private ExpressRoutePortsLocations expressRoutePortsLocations;
+
+ private ExpressRoutePorts expressRoutePorts;
+
+ private ExpressRouteLinks expressRouteLinks;
+
+ private FirewallPolicies firewallPolicies;
+
+ private FirewallPolicyRuleCollectionGroups firewallPolicyRuleCollectionGroups;
+
+ private IpAllocations ipAllocations;
+
+ private IpGroups ipGroups;
+
+ private LoadBalancers loadBalancers;
+
+ private LoadBalancerBackendAddressPools loadBalancerBackendAddressPools;
+
+ private LoadBalancerFrontendIpConfigurations loadBalancerFrontendIpConfigurations;
+
+ private InboundNatRules inboundNatRules;
+
+ private LoadBalancerLoadBalancingRules loadBalancerLoadBalancingRules;
+
+ private LoadBalancerOutboundRules loadBalancerOutboundRules;
+
+ private LoadBalancerNetworkInterfaces loadBalancerNetworkInterfaces;
+
+ private LoadBalancerProbes loadBalancerProbes;
+
+ private NatGateways natGateways;
+
+ private NetworkInterfaceIpConfigurations networkInterfaceIpConfigurations;
+
+ private NetworkInterfaceLoadBalancers networkInterfaceLoadBalancers;
+
+ private NetworkInterfaceTapConfigurations networkInterfaceTapConfigurations;
+
+ private NetworkProfiles networkProfiles;
+
+ private NetworkSecurityGroups networkSecurityGroups;
+
+ private SecurityRules securityRules;
+
+ private DefaultSecurityRules defaultSecurityRules;
+
+ private NetworkVirtualAppliances networkVirtualAppliances;
+
+ private VirtualApplianceSites virtualApplianceSites;
+
+ private VirtualApplianceSkus virtualApplianceSkus;
+
+ private InboundSecurityRuleOperations inboundSecurityRuleOperations;
+
+ private NetworkWatchers networkWatchers;
+
+ private PacketCaptures packetCaptures;
+
+ private ConnectionMonitors connectionMonitors;
+
+ private FlowLogs flowLogs;
+
+ private Operations operations;
+
+ private PrivateEndpoints privateEndpoints;
+
+ private AvailablePrivateEndpointTypes availablePrivateEndpointTypes;
+
+ private PrivateDnsZoneGroups privateDnsZoneGroups;
+
+ private PrivateLinkServices privateLinkServices;
+
+ private PublicIpPrefixes publicIpPrefixes;
+
+ private RouteFilters routeFilters;
+
+ private RouteFilterRules routeFilterRules;
+
+ private RouteTables routeTables;
+
+ private Routes routes;
+
+ private SecurityPartnerProviders securityPartnerProviders;
+
+ private BgpServiceCommunities bgpServiceCommunities;
+
+ private ServiceEndpointPolicies serviceEndpointPolicies;
+
+ private ServiceEndpointPolicyDefinitions serviceEndpointPolicyDefinitions;
+
+ private ServiceTags serviceTags;
+
+ private ServiceTagInformations serviceTagInformations;
+
+ private Usages usages;
+
+ private VirtualNetworks virtualNetworks;
+
+ private Subnets subnets;
+
+ private ResourceNavigationLinks resourceNavigationLinks;
+
+ private ServiceAssociationLinks serviceAssociationLinks;
+
+ private VirtualNetworkPeerings virtualNetworkPeerings;
+
+ private VirtualNetworkGateways virtualNetworkGateways;
+
+ private VirtualNetworkGatewayConnections virtualNetworkGatewayConnections;
+
+ private LocalNetworkGateways localNetworkGateways;
+
+ private VirtualNetworkGatewayNatRules virtualNetworkGatewayNatRules;
+
+ private VirtualNetworkTaps virtualNetworkTaps;
+
+ private VirtualRouters virtualRouters;
+
+ private VirtualRouterPeerings virtualRouterPeerings;
+
+ private VirtualWans virtualWans;
+
+ private VpnSites vpnSites;
+
+ private VpnSiteLinks vpnSiteLinks;
+
+ private VpnSitesConfigurations vpnSitesConfigurations;
+
+ private VpnServerConfigurations vpnServerConfigurations;
+
+ private VirtualHubs virtualHubs;
+
+ private HubVirtualNetworkConnections hubVirtualNetworkConnections;
+
+ private VpnGateways vpnGateways;
+
+ private VpnLinkConnections vpnLinkConnections;
+
+ private VpnConnections vpnConnections;
+
+ private VpnSiteLinkConnections vpnSiteLinkConnections;
+
+ private NatRules natRules;
+
+ private P2SVpnGateways p2SVpnGateways;
+
+ private VpnServerConfigurationsAssociatedWithVirtualWans vpnServerConfigurationsAssociatedWithVirtualWans;
+
+ private VirtualHubRouteTableV2S virtualHubRouteTableV2S;
+
+ private ExpressRouteGateways expressRouteGateways;
+
+ private ExpressRouteConnections expressRouteConnections;
+
+ private VirtualHubBgpConnections virtualHubBgpConnections;
+
+ private VirtualHubIpConfigurations virtualHubIpConfigurations;
+
+ private HubRouteTables hubRouteTables;
+
+ private WebApplicationFirewallPolicies webApplicationFirewallPolicies;
+
+ private final NetworkManagementClient clientObject;
+
+ private NetworkManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new NetworkManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Network service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Network service API instance.
+ */
+ public static NetworkManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create NetworkManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new NetworkManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Network service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Network service API instance.
+ */
+ public NetworkManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.network.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new NetworkManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of ApplicationGateways. */
+ public ApplicationGateways applicationGateways() {
+ if (this.applicationGateways == null) {
+ this.applicationGateways = new ApplicationGatewaysImpl(clientObject.getApplicationGateways(), this);
+ }
+ return applicationGateways;
+ }
+
+ /** @return Resource collection API of ApplicationGatewayPrivateLinkResources. */
+ public ApplicationGatewayPrivateLinkResources applicationGatewayPrivateLinkResources() {
+ if (this.applicationGatewayPrivateLinkResources == null) {
+ this.applicationGatewayPrivateLinkResources =
+ new ApplicationGatewayPrivateLinkResourcesImpl(
+ clientObject.getApplicationGatewayPrivateLinkResources(), this);
+ }
+ return applicationGatewayPrivateLinkResources;
+ }
+
+ /** @return Resource collection API of ApplicationGatewayPrivateEndpointConnections. */
+ public ApplicationGatewayPrivateEndpointConnections applicationGatewayPrivateEndpointConnections() {
+ if (this.applicationGatewayPrivateEndpointConnections == null) {
+ this.applicationGatewayPrivateEndpointConnections =
+ new ApplicationGatewayPrivateEndpointConnectionsImpl(
+ clientObject.getApplicationGatewayPrivateEndpointConnections(), this);
+ }
+ return applicationGatewayPrivateEndpointConnections;
+ }
+
+ /** @return Resource collection API of ApplicationSecurityGroups. */
+ public ApplicationSecurityGroups applicationSecurityGroups() {
+ if (this.applicationSecurityGroups == null) {
+ this.applicationSecurityGroups =
+ new ApplicationSecurityGroupsImpl(clientObject.getApplicationSecurityGroups(), this);
+ }
+ return applicationSecurityGroups;
+ }
+
+ /** @return Resource collection API of AvailableDelegations. */
+ public AvailableDelegations availableDelegations() {
+ if (this.availableDelegations == null) {
+ this.availableDelegations = new AvailableDelegationsImpl(clientObject.getAvailableDelegations(), this);
+ }
+ return availableDelegations;
+ }
+
+ /** @return Resource collection API of AvailableResourceGroupDelegations. */
+ public AvailableResourceGroupDelegations availableResourceGroupDelegations() {
+ if (this.availableResourceGroupDelegations == null) {
+ this.availableResourceGroupDelegations =
+ new AvailableResourceGroupDelegationsImpl(clientObject.getAvailableResourceGroupDelegations(), this);
+ }
+ return availableResourceGroupDelegations;
+ }
+
+ /** @return Resource collection API of AvailableServiceAliases. */
+ public AvailableServiceAliases availableServiceAliases() {
+ if (this.availableServiceAliases == null) {
+ this.availableServiceAliases =
+ new AvailableServiceAliasesImpl(clientObject.getAvailableServiceAliases(), this);
+ }
+ return availableServiceAliases;
+ }
+
+ /** @return Resource collection API of AzureFirewalls. */
+ public AzureFirewalls azureFirewalls() {
+ if (this.azureFirewalls == null) {
+ this.azureFirewalls = new AzureFirewallsImpl(clientObject.getAzureFirewalls(), this);
+ }
+ return azureFirewalls;
+ }
+
+ /** @return Resource collection API of AzureFirewallFqdnTags. */
+ public AzureFirewallFqdnTags azureFirewallFqdnTags() {
+ if (this.azureFirewallFqdnTags == null) {
+ this.azureFirewallFqdnTags = new AzureFirewallFqdnTagsImpl(clientObject.getAzureFirewallFqdnTags(), this);
+ }
+ return azureFirewallFqdnTags;
+ }
+
+ /** @return Resource collection API of WebCategories. */
+ public WebCategories webCategories() {
+ if (this.webCategories == null) {
+ this.webCategories = new WebCategoriesImpl(clientObject.getWebCategories(), this);
+ }
+ return webCategories;
+ }
+
+ /** @return Resource collection API of BastionHosts. */
+ public BastionHosts bastionHosts() {
+ if (this.bastionHosts == null) {
+ this.bastionHosts = new BastionHostsImpl(clientObject.getBastionHosts(), this);
+ }
+ return bastionHosts;
+ }
+
+ /** @return Resource collection API of ResourceProviders. */
+ public ResourceProviders resourceProviders() {
+ if (this.resourceProviders == null) {
+ this.resourceProviders = new ResourceProvidersImpl(clientObject.getResourceProviders(), this);
+ }
+ return resourceProviders;
+ }
+
+ /** @return Resource collection API of NetworkInterfaces. */
+ public NetworkInterfaces networkInterfaces() {
+ if (this.networkInterfaces == null) {
+ this.networkInterfaces = new NetworkInterfacesImpl(clientObject.getNetworkInterfaces(), this);
+ }
+ return networkInterfaces;
+ }
+
+ /** @return Resource collection API of PublicIpAddresses. */
+ public PublicIpAddresses publicIpAddresses() {
+ if (this.publicIpAddresses == null) {
+ this.publicIpAddresses = new PublicIpAddressesImpl(clientObject.getPublicIpAddresses(), this);
+ }
+ return publicIpAddresses;
+ }
+
+ /** @return Resource collection API of CustomIpPrefixes. */
+ public CustomIpPrefixes customIpPrefixes() {
+ if (this.customIpPrefixes == null) {
+ this.customIpPrefixes = new CustomIpPrefixesImpl(clientObject.getCustomIpPrefixes(), this);
+ }
+ return customIpPrefixes;
+ }
+
+ /** @return Resource collection API of DdosCustomPolicies. */
+ public DdosCustomPolicies ddosCustomPolicies() {
+ if (this.ddosCustomPolicies == null) {
+ this.ddosCustomPolicies = new DdosCustomPoliciesImpl(clientObject.getDdosCustomPolicies(), this);
+ }
+ return ddosCustomPolicies;
+ }
+
+ /** @return Resource collection API of DdosProtectionPlans. */
+ public DdosProtectionPlans ddosProtectionPlans() {
+ if (this.ddosProtectionPlans == null) {
+ this.ddosProtectionPlans = new DdosProtectionPlansImpl(clientObject.getDdosProtectionPlans(), this);
+ }
+ return ddosProtectionPlans;
+ }
+
+ /** @return Resource collection API of DscpConfigurations. */
+ public DscpConfigurations dscpConfigurations() {
+ if (this.dscpConfigurations == null) {
+ this.dscpConfigurations = new DscpConfigurationsImpl(clientObject.getDscpConfigurations(), this);
+ }
+ return dscpConfigurations;
+ }
+
+ /** @return Resource collection API of AvailableEndpointServices. */
+ public AvailableEndpointServices availableEndpointServices() {
+ if (this.availableEndpointServices == null) {
+ this.availableEndpointServices =
+ new AvailableEndpointServicesImpl(clientObject.getAvailableEndpointServices(), this);
+ }
+ return availableEndpointServices;
+ }
+
+ /** @return Resource collection API of ExpressRouteCircuitAuthorizations. */
+ public ExpressRouteCircuitAuthorizations expressRouteCircuitAuthorizations() {
+ if (this.expressRouteCircuitAuthorizations == null) {
+ this.expressRouteCircuitAuthorizations =
+ new ExpressRouteCircuitAuthorizationsImpl(clientObject.getExpressRouteCircuitAuthorizations(), this);
+ }
+ return expressRouteCircuitAuthorizations;
+ }
+
+ /** @return Resource collection API of ExpressRouteCircuitPeerings. */
+ public ExpressRouteCircuitPeerings expressRouteCircuitPeerings() {
+ if (this.expressRouteCircuitPeerings == null) {
+ this.expressRouteCircuitPeerings =
+ new ExpressRouteCircuitPeeringsImpl(clientObject.getExpressRouteCircuitPeerings(), this);
+ }
+ return expressRouteCircuitPeerings;
+ }
+
+ /** @return Resource collection API of ExpressRouteCircuitConnections. */
+ public ExpressRouteCircuitConnections expressRouteCircuitConnections() {
+ if (this.expressRouteCircuitConnections == null) {
+ this.expressRouteCircuitConnections =
+ new ExpressRouteCircuitConnectionsImpl(clientObject.getExpressRouteCircuitConnections(), this);
+ }
+ return expressRouteCircuitConnections;
+ }
+
+ /** @return Resource collection API of PeerExpressRouteCircuitConnections. */
+ public PeerExpressRouteCircuitConnections peerExpressRouteCircuitConnections() {
+ if (this.peerExpressRouteCircuitConnections == null) {
+ this.peerExpressRouteCircuitConnections =
+ new PeerExpressRouteCircuitConnectionsImpl(clientObject.getPeerExpressRouteCircuitConnections(), this);
+ }
+ return peerExpressRouteCircuitConnections;
+ }
+
+ /** @return Resource collection API of ExpressRouteCircuits. */
+ public ExpressRouteCircuits expressRouteCircuits() {
+ if (this.expressRouteCircuits == null) {
+ this.expressRouteCircuits = new ExpressRouteCircuitsImpl(clientObject.getExpressRouteCircuits(), this);
+ }
+ return expressRouteCircuits;
+ }
+
+ /** @return Resource collection API of ExpressRouteServiceProviders. */
+ public ExpressRouteServiceProviders expressRouteServiceProviders() {
+ if (this.expressRouteServiceProviders == null) {
+ this.expressRouteServiceProviders =
+ new ExpressRouteServiceProvidersImpl(clientObject.getExpressRouteServiceProviders(), this);
+ }
+ return expressRouteServiceProviders;
+ }
+
+ /** @return Resource collection API of ExpressRouteCrossConnections. */
+ public ExpressRouteCrossConnections expressRouteCrossConnections() {
+ if (this.expressRouteCrossConnections == null) {
+ this.expressRouteCrossConnections =
+ new ExpressRouteCrossConnectionsImpl(clientObject.getExpressRouteCrossConnections(), this);
+ }
+ return expressRouteCrossConnections;
+ }
+
+ /** @return Resource collection API of ExpressRouteCrossConnectionPeerings. */
+ public ExpressRouteCrossConnectionPeerings expressRouteCrossConnectionPeerings() {
+ if (this.expressRouteCrossConnectionPeerings == null) {
+ this.expressRouteCrossConnectionPeerings =
+ new ExpressRouteCrossConnectionPeeringsImpl(
+ clientObject.getExpressRouteCrossConnectionPeerings(), this);
+ }
+ return expressRouteCrossConnectionPeerings;
+ }
+
+ /** @return Resource collection API of ExpressRoutePortsLocations. */
+ public ExpressRoutePortsLocations expressRoutePortsLocations() {
+ if (this.expressRoutePortsLocations == null) {
+ this.expressRoutePortsLocations =
+ new ExpressRoutePortsLocationsImpl(clientObject.getExpressRoutePortsLocations(), this);
+ }
+ return expressRoutePortsLocations;
+ }
+
+ /** @return Resource collection API of ExpressRoutePorts. */
+ public ExpressRoutePorts expressRoutePorts() {
+ if (this.expressRoutePorts == null) {
+ this.expressRoutePorts = new ExpressRoutePortsImpl(clientObject.getExpressRoutePorts(), this);
+ }
+ return expressRoutePorts;
+ }
+
+ /** @return Resource collection API of ExpressRouteLinks. */
+ public ExpressRouteLinks expressRouteLinks() {
+ if (this.expressRouteLinks == null) {
+ this.expressRouteLinks = new ExpressRouteLinksImpl(clientObject.getExpressRouteLinks(), this);
+ }
+ return expressRouteLinks;
+ }
+
+ /** @return Resource collection API of FirewallPolicies. */
+ public FirewallPolicies firewallPolicies() {
+ if (this.firewallPolicies == null) {
+ this.firewallPolicies = new FirewallPoliciesImpl(clientObject.getFirewallPolicies(), this);
+ }
+ return firewallPolicies;
+ }
+
+ /** @return Resource collection API of FirewallPolicyRuleCollectionGroups. */
+ public FirewallPolicyRuleCollectionGroups firewallPolicyRuleCollectionGroups() {
+ if (this.firewallPolicyRuleCollectionGroups == null) {
+ this.firewallPolicyRuleCollectionGroups =
+ new FirewallPolicyRuleCollectionGroupsImpl(clientObject.getFirewallPolicyRuleCollectionGroups(), this);
+ }
+ return firewallPolicyRuleCollectionGroups;
+ }
+
+ /** @return Resource collection API of IpAllocations. */
+ public IpAllocations ipAllocations() {
+ if (this.ipAllocations == null) {
+ this.ipAllocations = new IpAllocationsImpl(clientObject.getIpAllocations(), this);
+ }
+ return ipAllocations;
+ }
+
+ /** @return Resource collection API of IpGroups. */
+ public IpGroups ipGroups() {
+ if (this.ipGroups == null) {
+ this.ipGroups = new IpGroupsImpl(clientObject.getIpGroups(), this);
+ }
+ return ipGroups;
+ }
+
+ /** @return Resource collection API of LoadBalancers. */
+ public LoadBalancers loadBalancers() {
+ if (this.loadBalancers == null) {
+ this.loadBalancers = new LoadBalancersImpl(clientObject.getLoadBalancers(), this);
+ }
+ return loadBalancers;
+ }
+
+ /** @return Resource collection API of LoadBalancerBackendAddressPools. */
+ public LoadBalancerBackendAddressPools loadBalancerBackendAddressPools() {
+ if (this.loadBalancerBackendAddressPools == null) {
+ this.loadBalancerBackendAddressPools =
+ new LoadBalancerBackendAddressPoolsImpl(clientObject.getLoadBalancerBackendAddressPools(), this);
+ }
+ return loadBalancerBackendAddressPools;
+ }
+
+ /** @return Resource collection API of LoadBalancerFrontendIpConfigurations. */
+ public LoadBalancerFrontendIpConfigurations loadBalancerFrontendIpConfigurations() {
+ if (this.loadBalancerFrontendIpConfigurations == null) {
+ this.loadBalancerFrontendIpConfigurations =
+ new LoadBalancerFrontendIpConfigurationsImpl(
+ clientObject.getLoadBalancerFrontendIpConfigurations(), this);
+ }
+ return loadBalancerFrontendIpConfigurations;
+ }
+
+ /** @return Resource collection API of InboundNatRules. */
+ public InboundNatRules inboundNatRules() {
+ if (this.inboundNatRules == null) {
+ this.inboundNatRules = new InboundNatRulesImpl(clientObject.getInboundNatRules(), this);
+ }
+ return inboundNatRules;
+ }
+
+ /** @return Resource collection API of LoadBalancerLoadBalancingRules. */
+ public LoadBalancerLoadBalancingRules loadBalancerLoadBalancingRules() {
+ if (this.loadBalancerLoadBalancingRules == null) {
+ this.loadBalancerLoadBalancingRules =
+ new LoadBalancerLoadBalancingRulesImpl(clientObject.getLoadBalancerLoadBalancingRules(), this);
+ }
+ return loadBalancerLoadBalancingRules;
+ }
+
+ /** @return Resource collection API of LoadBalancerOutboundRules. */
+ public LoadBalancerOutboundRules loadBalancerOutboundRules() {
+ if (this.loadBalancerOutboundRules == null) {
+ this.loadBalancerOutboundRules =
+ new LoadBalancerOutboundRulesImpl(clientObject.getLoadBalancerOutboundRules(), this);
+ }
+ return loadBalancerOutboundRules;
+ }
+
+ /** @return Resource collection API of LoadBalancerNetworkInterfaces. */
+ public LoadBalancerNetworkInterfaces loadBalancerNetworkInterfaces() {
+ if (this.loadBalancerNetworkInterfaces == null) {
+ this.loadBalancerNetworkInterfaces =
+ new LoadBalancerNetworkInterfacesImpl(clientObject.getLoadBalancerNetworkInterfaces(), this);
+ }
+ return loadBalancerNetworkInterfaces;
+ }
+
+ /** @return Resource collection API of LoadBalancerProbes. */
+ public LoadBalancerProbes loadBalancerProbes() {
+ if (this.loadBalancerProbes == null) {
+ this.loadBalancerProbes = new LoadBalancerProbesImpl(clientObject.getLoadBalancerProbes(), this);
+ }
+ return loadBalancerProbes;
+ }
+
+ /** @return Resource collection API of NatGateways. */
+ public NatGateways natGateways() {
+ if (this.natGateways == null) {
+ this.natGateways = new NatGatewaysImpl(clientObject.getNatGateways(), this);
+ }
+ return natGateways;
+ }
+
+ /** @return Resource collection API of NetworkInterfaceIpConfigurations. */
+ public NetworkInterfaceIpConfigurations networkInterfaceIpConfigurations() {
+ if (this.networkInterfaceIpConfigurations == null) {
+ this.networkInterfaceIpConfigurations =
+ new NetworkInterfaceIpConfigurationsImpl(clientObject.getNetworkInterfaceIpConfigurations(), this);
+ }
+ return networkInterfaceIpConfigurations;
+ }
+
+ /** @return Resource collection API of NetworkInterfaceLoadBalancers. */
+ public NetworkInterfaceLoadBalancers networkInterfaceLoadBalancers() {
+ if (this.networkInterfaceLoadBalancers == null) {
+ this.networkInterfaceLoadBalancers =
+ new NetworkInterfaceLoadBalancersImpl(clientObject.getNetworkInterfaceLoadBalancers(), this);
+ }
+ return networkInterfaceLoadBalancers;
+ }
+
+ /** @return Resource collection API of NetworkInterfaceTapConfigurations. */
+ public NetworkInterfaceTapConfigurations networkInterfaceTapConfigurations() {
+ if (this.networkInterfaceTapConfigurations == null) {
+ this.networkInterfaceTapConfigurations =
+ new NetworkInterfaceTapConfigurationsImpl(clientObject.getNetworkInterfaceTapConfigurations(), this);
+ }
+ return networkInterfaceTapConfigurations;
+ }
+
+ /** @return Resource collection API of NetworkProfiles. */
+ public NetworkProfiles networkProfiles() {
+ if (this.networkProfiles == null) {
+ this.networkProfiles = new NetworkProfilesImpl(clientObject.getNetworkProfiles(), this);
+ }
+ return networkProfiles;
+ }
+
+ /** @return Resource collection API of NetworkSecurityGroups. */
+ public NetworkSecurityGroups networkSecurityGroups() {
+ if (this.networkSecurityGroups == null) {
+ this.networkSecurityGroups = new NetworkSecurityGroupsImpl(clientObject.getNetworkSecurityGroups(), this);
+ }
+ return networkSecurityGroups;
+ }
+
+ /** @return Resource collection API of SecurityRules. */
+ public SecurityRules securityRules() {
+ if (this.securityRules == null) {
+ this.securityRules = new SecurityRulesImpl(clientObject.getSecurityRules(), this);
+ }
+ return securityRules;
+ }
+
+ /** @return Resource collection API of DefaultSecurityRules. */
+ public DefaultSecurityRules defaultSecurityRules() {
+ if (this.defaultSecurityRules == null) {
+ this.defaultSecurityRules = new DefaultSecurityRulesImpl(clientObject.getDefaultSecurityRules(), this);
+ }
+ return defaultSecurityRules;
+ }
+
+ /** @return Resource collection API of NetworkVirtualAppliances. */
+ public NetworkVirtualAppliances networkVirtualAppliances() {
+ if (this.networkVirtualAppliances == null) {
+ this.networkVirtualAppliances =
+ new NetworkVirtualAppliancesImpl(clientObject.getNetworkVirtualAppliances(), this);
+ }
+ return networkVirtualAppliances;
+ }
+
+ /** @return Resource collection API of VirtualApplianceSites. */
+ public VirtualApplianceSites virtualApplianceSites() {
+ if (this.virtualApplianceSites == null) {
+ this.virtualApplianceSites = new VirtualApplianceSitesImpl(clientObject.getVirtualApplianceSites(), this);
+ }
+ return virtualApplianceSites;
+ }
+
+ /** @return Resource collection API of VirtualApplianceSkus. */
+ public VirtualApplianceSkus virtualApplianceSkus() {
+ if (this.virtualApplianceSkus == null) {
+ this.virtualApplianceSkus = new VirtualApplianceSkusImpl(clientObject.getVirtualApplianceSkus(), this);
+ }
+ return virtualApplianceSkus;
+ }
+
+ /** @return Resource collection API of InboundSecurityRuleOperations. */
+ public InboundSecurityRuleOperations inboundSecurityRuleOperations() {
+ if (this.inboundSecurityRuleOperations == null) {
+ this.inboundSecurityRuleOperations =
+ new InboundSecurityRuleOperationsImpl(clientObject.getInboundSecurityRuleOperations(), this);
+ }
+ return inboundSecurityRuleOperations;
+ }
+
+ /** @return Resource collection API of NetworkWatchers. */
+ public NetworkWatchers networkWatchers() {
+ if (this.networkWatchers == null) {
+ this.networkWatchers = new NetworkWatchersImpl(clientObject.getNetworkWatchers(), this);
+ }
+ return networkWatchers;
+ }
+
+ /** @return Resource collection API of PacketCaptures. */
+ public PacketCaptures packetCaptures() {
+ if (this.packetCaptures == null) {
+ this.packetCaptures = new PacketCapturesImpl(clientObject.getPacketCaptures(), this);
+ }
+ return packetCaptures;
+ }
+
+ /** @return Resource collection API of ConnectionMonitors. */
+ public ConnectionMonitors connectionMonitors() {
+ if (this.connectionMonitors == null) {
+ this.connectionMonitors = new ConnectionMonitorsImpl(clientObject.getConnectionMonitors(), this);
+ }
+ return connectionMonitors;
+ }
+
+ /** @return Resource collection API of FlowLogs. */
+ public FlowLogs flowLogs() {
+ if (this.flowLogs == null) {
+ this.flowLogs = new FlowLogsImpl(clientObject.getFlowLogs(), this);
+ }
+ return flowLogs;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of PrivateEndpoints. */
+ public PrivateEndpoints privateEndpoints() {
+ if (this.privateEndpoints == null) {
+ this.privateEndpoints = new PrivateEndpointsImpl(clientObject.getPrivateEndpoints(), this);
+ }
+ return privateEndpoints;
+ }
+
+ /** @return Resource collection API of AvailablePrivateEndpointTypes. */
+ public AvailablePrivateEndpointTypes availablePrivateEndpointTypes() {
+ if (this.availablePrivateEndpointTypes == null) {
+ this.availablePrivateEndpointTypes =
+ new AvailablePrivateEndpointTypesImpl(clientObject.getAvailablePrivateEndpointTypes(), this);
+ }
+ return availablePrivateEndpointTypes;
+ }
+
+ /** @return Resource collection API of PrivateDnsZoneGroups. */
+ public PrivateDnsZoneGroups privateDnsZoneGroups() {
+ if (this.privateDnsZoneGroups == null) {
+ this.privateDnsZoneGroups = new PrivateDnsZoneGroupsImpl(clientObject.getPrivateDnsZoneGroups(), this);
+ }
+ return privateDnsZoneGroups;
+ }
+
+ /** @return Resource collection API of PrivateLinkServices. */
+ public PrivateLinkServices privateLinkServices() {
+ if (this.privateLinkServices == null) {
+ this.privateLinkServices = new PrivateLinkServicesImpl(clientObject.getPrivateLinkServices(), this);
+ }
+ return privateLinkServices;
+ }
+
+ /** @return Resource collection API of PublicIpPrefixes. */
+ public PublicIpPrefixes publicIpPrefixes() {
+ if (this.publicIpPrefixes == null) {
+ this.publicIpPrefixes = new PublicIpPrefixesImpl(clientObject.getPublicIpPrefixes(), this);
+ }
+ return publicIpPrefixes;
+ }
+
+ /** @return Resource collection API of RouteFilters. */
+ public RouteFilters routeFilters() {
+ if (this.routeFilters == null) {
+ this.routeFilters = new RouteFiltersImpl(clientObject.getRouteFilters(), this);
+ }
+ return routeFilters;
+ }
+
+ /** @return Resource collection API of RouteFilterRules. */
+ public RouteFilterRules routeFilterRules() {
+ if (this.routeFilterRules == null) {
+ this.routeFilterRules = new RouteFilterRulesImpl(clientObject.getRouteFilterRules(), this);
+ }
+ return routeFilterRules;
+ }
+
+ /** @return Resource collection API of RouteTables. */
+ public RouteTables routeTables() {
+ if (this.routeTables == null) {
+ this.routeTables = new RouteTablesImpl(clientObject.getRouteTables(), this);
+ }
+ return routeTables;
+ }
+
+ /** @return Resource collection API of Routes. */
+ public Routes routes() {
+ if (this.routes == null) {
+ this.routes = new RoutesImpl(clientObject.getRoutes(), this);
+ }
+ return routes;
+ }
+
+ /** @return Resource collection API of SecurityPartnerProviders. */
+ public SecurityPartnerProviders securityPartnerProviders() {
+ if (this.securityPartnerProviders == null) {
+ this.securityPartnerProviders =
+ new SecurityPartnerProvidersImpl(clientObject.getSecurityPartnerProviders(), this);
+ }
+ return securityPartnerProviders;
+ }
+
+ /** @return Resource collection API of BgpServiceCommunities. */
+ public BgpServiceCommunities bgpServiceCommunities() {
+ if (this.bgpServiceCommunities == null) {
+ this.bgpServiceCommunities = new BgpServiceCommunitiesImpl(clientObject.getBgpServiceCommunities(), this);
+ }
+ return bgpServiceCommunities;
+ }
+
+ /** @return Resource collection API of ServiceEndpointPolicies. */
+ public ServiceEndpointPolicies serviceEndpointPolicies() {
+ if (this.serviceEndpointPolicies == null) {
+ this.serviceEndpointPolicies =
+ new ServiceEndpointPoliciesImpl(clientObject.getServiceEndpointPolicies(), this);
+ }
+ return serviceEndpointPolicies;
+ }
+
+ /** @return Resource collection API of ServiceEndpointPolicyDefinitions. */
+ public ServiceEndpointPolicyDefinitions serviceEndpointPolicyDefinitions() {
+ if (this.serviceEndpointPolicyDefinitions == null) {
+ this.serviceEndpointPolicyDefinitions =
+ new ServiceEndpointPolicyDefinitionsImpl(clientObject.getServiceEndpointPolicyDefinitions(), this);
+ }
+ return serviceEndpointPolicyDefinitions;
+ }
+
+ /** @return Resource collection API of ServiceTags. */
+ public ServiceTags serviceTags() {
+ if (this.serviceTags == null) {
+ this.serviceTags = new ServiceTagsImpl(clientObject.getServiceTags(), this);
+ }
+ return serviceTags;
+ }
+
+ /** @return Resource collection API of ServiceTagInformations. */
+ public ServiceTagInformations serviceTagInformations() {
+ if (this.serviceTagInformations == null) {
+ this.serviceTagInformations =
+ new ServiceTagInformationsImpl(clientObject.getServiceTagInformations(), this);
+ }
+ return serviceTagInformations;
+ }
+
+ /** @return Resource collection API of Usages. */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /** @return Resource collection API of VirtualNetworks. */
+ public VirtualNetworks virtualNetworks() {
+ if (this.virtualNetworks == null) {
+ this.virtualNetworks = new VirtualNetworksImpl(clientObject.getVirtualNetworks(), this);
+ }
+ return virtualNetworks;
+ }
+
+ /** @return Resource collection API of Subnets. */
+ public Subnets subnets() {
+ if (this.subnets == null) {
+ this.subnets = new SubnetsImpl(clientObject.getSubnets(), this);
+ }
+ return subnets;
+ }
+
+ /** @return Resource collection API of ResourceNavigationLinks. */
+ public ResourceNavigationLinks resourceNavigationLinks() {
+ if (this.resourceNavigationLinks == null) {
+ this.resourceNavigationLinks =
+ new ResourceNavigationLinksImpl(clientObject.getResourceNavigationLinks(), this);
+ }
+ return resourceNavigationLinks;
+ }
+
+ /** @return Resource collection API of ServiceAssociationLinks. */
+ public ServiceAssociationLinks serviceAssociationLinks() {
+ if (this.serviceAssociationLinks == null) {
+ this.serviceAssociationLinks =
+ new ServiceAssociationLinksImpl(clientObject.getServiceAssociationLinks(), this);
+ }
+ return serviceAssociationLinks;
+ }
+
+ /** @return Resource collection API of VirtualNetworkPeerings. */
+ public VirtualNetworkPeerings virtualNetworkPeerings() {
+ if (this.virtualNetworkPeerings == null) {
+ this.virtualNetworkPeerings =
+ new VirtualNetworkPeeringsImpl(clientObject.getVirtualNetworkPeerings(), this);
+ }
+ return virtualNetworkPeerings;
+ }
+
+ /** @return Resource collection API of VirtualNetworkGateways. */
+ public VirtualNetworkGateways virtualNetworkGateways() {
+ if (this.virtualNetworkGateways == null) {
+ this.virtualNetworkGateways =
+ new VirtualNetworkGatewaysImpl(clientObject.getVirtualNetworkGateways(), this);
+ }
+ return virtualNetworkGateways;
+ }
+
+ /** @return Resource collection API of VirtualNetworkGatewayConnections. */
+ public VirtualNetworkGatewayConnections virtualNetworkGatewayConnections() {
+ if (this.virtualNetworkGatewayConnections == null) {
+ this.virtualNetworkGatewayConnections =
+ new VirtualNetworkGatewayConnectionsImpl(clientObject.getVirtualNetworkGatewayConnections(), this);
+ }
+ return virtualNetworkGatewayConnections;
+ }
+
+ /** @return Resource collection API of LocalNetworkGateways. */
+ public LocalNetworkGateways localNetworkGateways() {
+ if (this.localNetworkGateways == null) {
+ this.localNetworkGateways = new LocalNetworkGatewaysImpl(clientObject.getLocalNetworkGateways(), this);
+ }
+ return localNetworkGateways;
+ }
+
+ /** @return Resource collection API of VirtualNetworkGatewayNatRules. */
+ public VirtualNetworkGatewayNatRules virtualNetworkGatewayNatRules() {
+ if (this.virtualNetworkGatewayNatRules == null) {
+ this.virtualNetworkGatewayNatRules =
+ new VirtualNetworkGatewayNatRulesImpl(clientObject.getVirtualNetworkGatewayNatRules(), this);
+ }
+ return virtualNetworkGatewayNatRules;
+ }
+
+ /** @return Resource collection API of VirtualNetworkTaps. */
+ public VirtualNetworkTaps virtualNetworkTaps() {
+ if (this.virtualNetworkTaps == null) {
+ this.virtualNetworkTaps = new VirtualNetworkTapsImpl(clientObject.getVirtualNetworkTaps(), this);
+ }
+ return virtualNetworkTaps;
+ }
+
+ /** @return Resource collection API of VirtualRouters. */
+ public VirtualRouters virtualRouters() {
+ if (this.virtualRouters == null) {
+ this.virtualRouters = new VirtualRoutersImpl(clientObject.getVirtualRouters(), this);
+ }
+ return virtualRouters;
+ }
+
+ /** @return Resource collection API of VirtualRouterPeerings. */
+ public VirtualRouterPeerings virtualRouterPeerings() {
+ if (this.virtualRouterPeerings == null) {
+ this.virtualRouterPeerings = new VirtualRouterPeeringsImpl(clientObject.getVirtualRouterPeerings(), this);
+ }
+ return virtualRouterPeerings;
+ }
+
+ /** @return Resource collection API of VirtualWans. */
+ public VirtualWans virtualWans() {
+ if (this.virtualWans == null) {
+ this.virtualWans = new VirtualWansImpl(clientObject.getVirtualWans(), this);
+ }
+ return virtualWans;
+ }
+
+ /** @return Resource collection API of VpnSites. */
+ public VpnSites vpnSites() {
+ if (this.vpnSites == null) {
+ this.vpnSites = new VpnSitesImpl(clientObject.getVpnSites(), this);
+ }
+ return vpnSites;
+ }
+
+ /** @return Resource collection API of VpnSiteLinks. */
+ public VpnSiteLinks vpnSiteLinks() {
+ if (this.vpnSiteLinks == null) {
+ this.vpnSiteLinks = new VpnSiteLinksImpl(clientObject.getVpnSiteLinks(), this);
+ }
+ return vpnSiteLinks;
+ }
+
+ /** @return Resource collection API of VpnSitesConfigurations. */
+ public VpnSitesConfigurations vpnSitesConfigurations() {
+ if (this.vpnSitesConfigurations == null) {
+ this.vpnSitesConfigurations =
+ new VpnSitesConfigurationsImpl(clientObject.getVpnSitesConfigurations(), this);
+ }
+ return vpnSitesConfigurations;
+ }
+
+ /** @return Resource collection API of VpnServerConfigurations. */
+ public VpnServerConfigurations vpnServerConfigurations() {
+ if (this.vpnServerConfigurations == null) {
+ this.vpnServerConfigurations =
+ new VpnServerConfigurationsImpl(clientObject.getVpnServerConfigurations(), this);
+ }
+ return vpnServerConfigurations;
+ }
+
+ /** @return Resource collection API of VirtualHubs. */
+ public VirtualHubs virtualHubs() {
+ if (this.virtualHubs == null) {
+ this.virtualHubs = new VirtualHubsImpl(clientObject.getVirtualHubs(), this);
+ }
+ return virtualHubs;
+ }
+
+ /** @return Resource collection API of HubVirtualNetworkConnections. */
+ public HubVirtualNetworkConnections hubVirtualNetworkConnections() {
+ if (this.hubVirtualNetworkConnections == null) {
+ this.hubVirtualNetworkConnections =
+ new HubVirtualNetworkConnectionsImpl(clientObject.getHubVirtualNetworkConnections(), this);
+ }
+ return hubVirtualNetworkConnections;
+ }
+
+ /** @return Resource collection API of VpnGateways. */
+ public VpnGateways vpnGateways() {
+ if (this.vpnGateways == null) {
+ this.vpnGateways = new VpnGatewaysImpl(clientObject.getVpnGateways(), this);
+ }
+ return vpnGateways;
+ }
+
+ /** @return Resource collection API of VpnLinkConnections. */
+ public VpnLinkConnections vpnLinkConnections() {
+ if (this.vpnLinkConnections == null) {
+ this.vpnLinkConnections = new VpnLinkConnectionsImpl(clientObject.getVpnLinkConnections(), this);
+ }
+ return vpnLinkConnections;
+ }
+
+ /** @return Resource collection API of VpnConnections. */
+ public VpnConnections vpnConnections() {
+ if (this.vpnConnections == null) {
+ this.vpnConnections = new VpnConnectionsImpl(clientObject.getVpnConnections(), this);
+ }
+ return vpnConnections;
+ }
+
+ /** @return Resource collection API of VpnSiteLinkConnections. */
+ public VpnSiteLinkConnections vpnSiteLinkConnections() {
+ if (this.vpnSiteLinkConnections == null) {
+ this.vpnSiteLinkConnections =
+ new VpnSiteLinkConnectionsImpl(clientObject.getVpnSiteLinkConnections(), this);
+ }
+ return vpnSiteLinkConnections;
+ }
+
+ /** @return Resource collection API of NatRules. */
+ public NatRules natRules() {
+ if (this.natRules == null) {
+ this.natRules = new NatRulesImpl(clientObject.getNatRules(), this);
+ }
+ return natRules;
+ }
+
+ /** @return Resource collection API of P2SVpnGateways. */
+ public P2SVpnGateways p2SVpnGateways() {
+ if (this.p2SVpnGateways == null) {
+ this.p2SVpnGateways = new P2SVpnGatewaysImpl(clientObject.getP2SVpnGateways(), this);
+ }
+ return p2SVpnGateways;
+ }
+
+ /** @return Resource collection API of VpnServerConfigurationsAssociatedWithVirtualWans. */
+ public VpnServerConfigurationsAssociatedWithVirtualWans vpnServerConfigurationsAssociatedWithVirtualWans() {
+ if (this.vpnServerConfigurationsAssociatedWithVirtualWans == null) {
+ this.vpnServerConfigurationsAssociatedWithVirtualWans =
+ new VpnServerConfigurationsAssociatedWithVirtualWansImpl(
+ clientObject.getVpnServerConfigurationsAssociatedWithVirtualWans(), this);
+ }
+ return vpnServerConfigurationsAssociatedWithVirtualWans;
+ }
+
+ /** @return Resource collection API of VirtualHubRouteTableV2S. */
+ public VirtualHubRouteTableV2S virtualHubRouteTableV2S() {
+ if (this.virtualHubRouteTableV2S == null) {
+ this.virtualHubRouteTableV2S =
+ new VirtualHubRouteTableV2SImpl(clientObject.getVirtualHubRouteTableV2S(), this);
+ }
+ return virtualHubRouteTableV2S;
+ }
+
+ /** @return Resource collection API of ExpressRouteGateways. */
+ public ExpressRouteGateways expressRouteGateways() {
+ if (this.expressRouteGateways == null) {
+ this.expressRouteGateways = new ExpressRouteGatewaysImpl(clientObject.getExpressRouteGateways(), this);
+ }
+ return expressRouteGateways;
+ }
+
+ /** @return Resource collection API of ExpressRouteConnections. */
+ public ExpressRouteConnections expressRouteConnections() {
+ if (this.expressRouteConnections == null) {
+ this.expressRouteConnections =
+ new ExpressRouteConnectionsImpl(clientObject.getExpressRouteConnections(), this);
+ }
+ return expressRouteConnections;
+ }
+
+ /** @return Resource collection API of VirtualHubBgpConnections. */
+ public VirtualHubBgpConnections virtualHubBgpConnections() {
+ if (this.virtualHubBgpConnections == null) {
+ this.virtualHubBgpConnections =
+ new VirtualHubBgpConnectionsImpl(clientObject.getVirtualHubBgpConnections(), this);
+ }
+ return virtualHubBgpConnections;
+ }
+
+ /** @return Resource collection API of VirtualHubIpConfigurations. */
+ public VirtualHubIpConfigurations virtualHubIpConfigurations() {
+ if (this.virtualHubIpConfigurations == null) {
+ this.virtualHubIpConfigurations =
+ new VirtualHubIpConfigurationsImpl(clientObject.getVirtualHubIpConfigurations(), this);
+ }
+ return virtualHubIpConfigurations;
+ }
+
+ /** @return Resource collection API of HubRouteTables. */
+ public HubRouteTables hubRouteTables() {
+ if (this.hubRouteTables == null) {
+ this.hubRouteTables = new HubRouteTablesImpl(clientObject.getHubRouteTables(), this);
+ }
+ return hubRouteTables;
+ }
+
+ /** @return Resource collection API of WebApplicationFirewallPolicies. */
+ public WebApplicationFirewallPolicies webApplicationFirewallPolicies() {
+ if (this.webApplicationFirewallPolicies == null) {
+ this.webApplicationFirewallPolicies =
+ new WebApplicationFirewallPoliciesImpl(clientObject.getWebApplicationFirewallPolicies(), this);
+ }
+ return webApplicationFirewallPolicies;
+ }
+
+ /**
+ * @return Wrapped service client NetworkManagementClient providing direct access to the underlying auto-generated
+ * API implementation, based on Azure REST API.
+ */
+ public NetworkManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateEndpointConnectionsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateEndpointConnectionsClient.java
new file mode 100644
index 0000000000000..a9db5c2cebeb9
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateEndpointConnectionsClient.java
@@ -0,0 +1,224 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayPrivateEndpointConnectionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ApplicationGatewayPrivateEndpointConnectionsClient.
+ */
+public interface ApplicationGatewayPrivateEndpointConnectionsClient {
+ /**
+ * Deletes the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String applicationGatewayName, String connectionName);
+
+ /**
+ * Deletes the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String applicationGatewayName, String connectionName, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationGatewayName, String connectionName);
+
+ /**
+ * Deletes the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationGatewayName, String connectionName, Context context);
+
+ /**
+ * Updates the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param parameters Parameters supplied to update application gateway private endpoint connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ApplicationGatewayPrivateEndpointConnectionInner>
+ beginUpdate(
+ String resourceGroupName,
+ String applicationGatewayName,
+ String connectionName,
+ ApplicationGatewayPrivateEndpointConnectionInner parameters);
+
+ /**
+ * Updates the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param parameters Parameters supplied to update application gateway private endpoint connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ApplicationGatewayPrivateEndpointConnectionInner>
+ beginUpdate(
+ String resourceGroupName,
+ String applicationGatewayName,
+ String connectionName,
+ ApplicationGatewayPrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * Updates the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param parameters Parameters supplied to update application gateway private endpoint connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayPrivateEndpointConnectionInner update(
+ String resourceGroupName,
+ String applicationGatewayName,
+ String connectionName,
+ ApplicationGatewayPrivateEndpointConnectionInner parameters);
+
+ /**
+ * Updates the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param parameters Parameters supplied to update application gateway private endpoint connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayPrivateEndpointConnectionInner update(
+ String resourceGroupName,
+ String applicationGatewayName,
+ String connectionName,
+ ApplicationGatewayPrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * Gets the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection on application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayPrivateEndpointConnectionInner get(
+ String resourceGroupName, String applicationGatewayName, String connectionName);
+
+ /**
+ * Gets the specified private endpoint connection on application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param connectionName The name of the application gateway private endpoint connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection on application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String applicationGatewayName, String connectionName, Context context);
+
+ /**
+ * Lists all private endpoint connections on an application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGatewayPrivateEndpointConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Lists all private endpoint connections on an application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGatewayPrivateEndpointConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationGatewayName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateLinkResourcesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateLinkResourcesClient.java
new file mode 100644
index 0000000000000..925f2af5cf5c3
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateLinkResourcesClient.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayPrivateLinkResourceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ApplicationGatewayPrivateLinkResourcesClient.
+ */
+public interface ApplicationGatewayPrivateLinkResourcesClient {
+ /**
+ * Lists all private link resources on an application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGatewayPrivateLinkResources API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Lists all private link resources on an application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGatewayPrivateLinkResources API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationGatewayName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewaysClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewaysClient.java
new file mode 100644
index 0000000000000..bb5c63e9ae1e9
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewaysClient.java
@@ -0,0 +1,697 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayAvailableSslOptionsInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayAvailableWafRuleSetsResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayBackendHealthInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayBackendHealthOnDemandInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewayInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationGatewaySslPredefinedPolicyInner;
+import com.azure.resourcemanager.network.generated.models.ApplicationGatewayOnDemandProbe;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in ApplicationGatewaysClient. */
+public interface ApplicationGatewaysClient {
+ /**
+ * Deletes the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Deletes the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Deletes the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Deletes the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Gets the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayInner getByResourceGroup(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Gets the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Creates or updates the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to the create or update application gateway operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayInner> beginCreateOrUpdate(
+ String resourceGroupName, String applicationGatewayName, ApplicationGatewayInner parameters);
+
+ /**
+ * Creates or updates the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to the create or update application gateway operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayInner> beginCreateOrUpdate(
+ String resourceGroupName, String applicationGatewayName, ApplicationGatewayInner parameters, Context context);
+
+ /**
+ * Creates or updates the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to the create or update application gateway operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayInner createOrUpdate(
+ String resourceGroupName, String applicationGatewayName, ApplicationGatewayInner parameters);
+
+ /**
+ * Creates or updates the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to the create or update application gateway operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayInner createOrUpdate(
+ String resourceGroupName, String applicationGatewayName, ApplicationGatewayInner parameters, Context context);
+
+ /**
+ * Updates the specified application gateway tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to update application gateway tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayInner updateTags(String resourceGroupName, String applicationGatewayName, TagsObject parameters);
+
+ /**
+ * Updates the specified application gateway tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param parameters Parameters supplied to update application gateway tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String applicationGatewayName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all application gateways in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGateways API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all application gateways in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListApplicationGateways API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all the application gateways in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the application gateways in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the application gateways in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the application gateways in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Starts the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Starts the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(
+ String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Starts the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Starts the specified application gateway.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Stops the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Stops the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Stops the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Stops the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String applicationGatewayName, Context context);
+
+ /**
+ * Gets the backend health of the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayBackendHealthInner>
+ beginBackendHealth(String resourceGroupName, String applicationGatewayName, String expand);
+
+ /**
+ * Gets the backend health of the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayBackendHealthInner>
+ beginBackendHealth(String resourceGroupName, String applicationGatewayName, String expand, Context context);
+
+ /**
+ * Gets the backend health of the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthInner backendHealth(
+ String resourceGroupName, String applicationGatewayName, String expand);
+
+ /**
+ * Gets the backend health of the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthInner backendHealth(String resourceGroupName, String applicationGatewayName);
+
+ /**
+ * Gets the backend health of the specified application gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthInner backendHealth(
+ String resourceGroupName, String applicationGatewayName, String expand, Context context);
+
+ /**
+ * Gets the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param probeRequest Request body for on-demand test probe operation.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayBackendHealthOnDemandInner>
+ beginBackendHealthOnDemand(
+ String resourceGroupName,
+ String applicationGatewayName,
+ ApplicationGatewayOnDemandProbe probeRequest,
+ String expand);
+
+ /**
+ * Gets the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param probeRequest Request body for on-demand test probe operation.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationGatewayBackendHealthOnDemandInner>
+ beginBackendHealthOnDemand(
+ String resourceGroupName,
+ String applicationGatewayName,
+ ApplicationGatewayOnDemandProbe probeRequest,
+ String expand,
+ Context context);
+
+ /**
+ * Gets the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param probeRequest Request body for on-demand test probe operation.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthOnDemandInner backendHealthOnDemand(
+ String resourceGroupName,
+ String applicationGatewayName,
+ ApplicationGatewayOnDemandProbe probeRequest,
+ String expand);
+
+ /**
+ * Gets the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param probeRequest Request body for on-demand test probe operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthOnDemandInner backendHealthOnDemand(
+ String resourceGroupName, String applicationGatewayName, ApplicationGatewayOnDemandProbe probeRequest);
+
+ /**
+ * Gets the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationGatewayName The name of the application gateway.
+ * @param probeRequest Request body for on-demand test probe operation.
+ * @param expand Expands BackendAddressPool and BackendHttpSettings referenced in backend health.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the backend health for given combination of backend pool and http setting of the specified application
+ * gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayBackendHealthOnDemandInner backendHealthOnDemand(
+ String resourceGroupName,
+ String applicationGatewayName,
+ ApplicationGatewayOnDemandProbe probeRequest,
+ String expand,
+ Context context);
+
+ /**
+ * Lists all available server variables.
+ *
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableServerVariables API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listAvailableServerVariables();
+
+ /**
+ * Lists all available server variables.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableServerVariables API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listAvailableServerVariablesWithResponse(Context context);
+
+ /**
+ * Lists all available request headers.
+ *
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableRequestHeaders API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listAvailableRequestHeaders();
+
+ /**
+ * Lists all available request headers.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableRequestHeaders API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listAvailableRequestHeadersWithResponse(Context context);
+
+ /**
+ * Lists all available response headers.
+ *
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableResponseHeaders API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listAvailableResponseHeaders();
+
+ /**
+ * Lists all available response headers.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.network.generated.models.ErrorException thrown if the request is rejected by
+ * server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableResponseHeaders API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listAvailableResponseHeadersWithResponse(Context context);
+
+ /**
+ * Lists all available web application firewall rule sets.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableWafRuleSets API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayAvailableWafRuleSetsResultInner listAvailableWafRuleSets();
+
+ /**
+ * Lists all available web application firewall rule sets.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableWafRuleSets API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listAvailableWafRuleSetsWithResponse(Context context);
+
+ /**
+ * Lists available Ssl options for configuring Ssl policy.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableSslOptions API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewayAvailableSslOptionsInner listAvailableSslOptions();
+
+ /**
+ * Lists available Ssl options for configuring Ssl policy.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableSslOptions API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listAvailableSslOptionsWithResponse(Context context);
+
+ /**
+ * Lists all SSL predefined policies for configuring Ssl policy.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableSslOptions API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAvailableSslPredefinedPolicies();
+
+ /**
+ * Lists all SSL predefined policies for configuring Ssl policy.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ApplicationGatewayAvailableSslOptions API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAvailableSslPredefinedPolicies(Context context);
+
+ /**
+ * Gets Ssl predefined policy with the specified policy name.
+ *
+ * @param predefinedPolicyName Name of Ssl predefined policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return ssl predefined policy with the specified policy name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGatewaySslPredefinedPolicyInner getSslPredefinedPolicy(String predefinedPolicyName);
+
+ /**
+ * Gets Ssl predefined policy with the specified policy name.
+ *
+ * @param predefinedPolicyName Name of Ssl predefined policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return ssl predefined policy with the specified policy name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getSslPredefinedPolicyWithResponse(
+ String predefinedPolicyName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationSecurityGroupsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationSecurityGroupsClient.java
new file mode 100644
index 0000000000000..0363c3fa93f93
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationSecurityGroupsClient.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ApplicationSecurityGroupInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ApplicationSecurityGroupsClient. */
+public interface ApplicationSecurityGroupsClient {
+ /**
+ * Deletes the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String applicationSecurityGroupName);
+
+ /**
+ * Deletes the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String applicationSecurityGroupName, Context context);
+
+ /**
+ * Deletes the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationSecurityGroupName);
+
+ /**
+ * Deletes the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String applicationSecurityGroupName, Context context);
+
+ /**
+ * Gets information about the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified application security group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationSecurityGroupInner getByResourceGroup(String resourceGroupName, String applicationSecurityGroupName);
+
+ /**
+ * Gets information about the specified application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified application security group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String applicationSecurityGroupName, Context context);
+
+ /**
+ * Creates or updates an application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to the create or update ApplicationSecurityGroup operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationSecurityGroupInner> beginCreateOrUpdate(
+ String resourceGroupName, String applicationSecurityGroupName, ApplicationSecurityGroupInner parameters);
+
+ /**
+ * Creates or updates an application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to the create or update ApplicationSecurityGroup operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ApplicationSecurityGroupInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String applicationSecurityGroupName,
+ ApplicationSecurityGroupInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to the create or update ApplicationSecurityGroup operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationSecurityGroupInner createOrUpdate(
+ String resourceGroupName, String applicationSecurityGroupName, ApplicationSecurityGroupInner parameters);
+
+ /**
+ * Creates or updates an application security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to the create or update ApplicationSecurityGroup operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationSecurityGroupInner createOrUpdate(
+ String resourceGroupName,
+ String applicationSecurityGroupName,
+ ApplicationSecurityGroupInner parameters,
+ Context context);
+
+ /**
+ * Updates an application security group's tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to update application security group tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationSecurityGroupInner updateTags(
+ String resourceGroupName, String applicationSecurityGroupName, TagsObject parameters);
+
+ /**
+ * Updates an application security group's tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param applicationSecurityGroupName The name of the application security group.
+ * @param parameters Parameters supplied to update application security group tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String applicationSecurityGroupName, TagsObject parameters, Context context);
+
+ /**
+ * Gets all application security groups in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all application security groups in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all application security groups in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all application security groups in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets all the application security groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the application security groups in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all the application security groups in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the application security groups in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableDelegationsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableDelegationsClient.java
new file mode 100644
index 0000000000000..565708b31364b
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableDelegationsClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.AvailableDelegationInner;
+
+/** An instance of this class provides access to all the operations defined in AvailableDelegationsClient. */
+public interface AvailableDelegationsClient {
+ /**
+ * Gets all of the available subnet delegations for this subscription in this region.
+ *
+ * @param location The location of the subnet.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all of the available subnet delegations for this subscription in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * Gets all of the available subnet delegations for this subscription in this region.
+ *
+ * @param location The location of the subnet.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all of the available subnet delegations for this subscription in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableEndpointServicesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableEndpointServicesClient.java
new file mode 100644
index 0000000000000..56d342f174f23
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableEndpointServicesClient.java
@@ -0,0 +1,39 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.EndpointServiceResultInner;
+
+/** An instance of this class provides access to all the operations defined in AvailableEndpointServicesClient. */
+public interface AvailableEndpointServicesClient {
+ /**
+ * List what values of endpoint services are available for use.
+ *
+ * @param location The location to check available endpoint services.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for the ListAvailableEndpointServices API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * List what values of endpoint services are available for use.
+ *
+ * @param location The location to check available endpoint services.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for the ListAvailableEndpointServices API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailablePrivateEndpointTypesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailablePrivateEndpointTypesClient.java
new file mode 100644
index 0000000000000..7beb6351d958b
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailablePrivateEndpointTypesClient.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.AvailablePrivateEndpointTypeInner;
+
+/** An instance of this class provides access to all the operations defined in AvailablePrivateEndpointTypesClient. */
+public interface AvailablePrivateEndpointTypesClient {
+ /**
+ * Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.
+ *
+ * @param location The location of the domain name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of available PrivateEndpoint types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.
+ *
+ * @param location The location of the domain name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of available PrivateEndpoint types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+
+ /**
+ * Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.
+ *
+ * @param location The location of the domain name.
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of available PrivateEndpoint types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String location, String resourceGroupName);
+
+ /**
+ * Returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region.
+ *
+ * @param location The location of the domain name.
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of available PrivateEndpoint types.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(
+ String location, String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableResourceGroupDelegationsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableResourceGroupDelegationsClient.java
new file mode 100644
index 0000000000000..e640f0c35fe35
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableResourceGroupDelegationsClient.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.AvailableDelegationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in AvailableResourceGroupDelegationsClient.
+ */
+public interface AvailableResourceGroupDelegationsClient {
+ /**
+ * Gets all of the available subnet delegations for this resource group in this region.
+ *
+ * @param location The location of the domain name.
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all of the available subnet delegations for this resource group in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String resourceGroupName);
+
+ /**
+ * Gets all of the available subnet delegations for this resource group in this region.
+ *
+ * @param location The location of the domain name.
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all of the available subnet delegations for this resource group in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableServiceAliasesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableServiceAliasesClient.java
new file mode 100644
index 0000000000000..ad66184f17029
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableServiceAliasesClient.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.AvailableServiceAliasInner;
+
+/** An instance of this class provides access to all the operations defined in AvailableServiceAliasesClient. */
+public interface AvailableServiceAliasesClient {
+ /**
+ * Gets all available service aliases for this subscription in this region.
+ *
+ * @param location The location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available service aliases for this subscription in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location);
+
+ /**
+ * Gets all available service aliases for this subscription in this region.
+ *
+ * @param location The location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available service aliases for this subscription in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String location, Context context);
+
+ /**
+ * Gets all available service aliases for this resource group in this region.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param location The location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available service aliases for this resource group in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, String location);
+
+ /**
+ * Gets all available service aliases for this resource group in this region.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param location The location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available service aliases for this resource group in this region.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(
+ String resourceGroupName, String location, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallFqdnTagsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallFqdnTagsClient.java
new file mode 100644
index 0000000000000..bbae7e0405b3d
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallFqdnTagsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.AzureFirewallFqdnTagInner;
+
+/** An instance of this class provides access to all the operations defined in AzureFirewallFqdnTagsClient. */
+public interface AzureFirewallFqdnTagsClient {
+ /**
+ * Gets all the Azure Firewall FQDN Tags in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Azure Firewall FQDN Tags in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the Azure Firewall FQDN Tags in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Azure Firewall FQDN Tags in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallsClient.java
new file mode 100644
index 0000000000000..002a62674ed5a
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AzureFirewallsClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.AzureFirewallInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in AzureFirewallsClient. */
+public interface AzureFirewallsClient {
+ /**
+ * Deletes the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String azureFirewallName);
+
+ /**
+ * Deletes the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String azureFirewallName, Context context);
+
+ /**
+ * Deletes the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String azureFirewallName);
+
+ /**
+ * Deletes the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String azureFirewallName, Context context);
+
+ /**
+ * Gets the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Azure Firewall.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AzureFirewallInner getByResourceGroup(String resourceGroupName, String azureFirewallName);
+
+ /**
+ * Gets the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Azure Firewall.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String azureFirewallName, Context context);
+
+ /**
+ * Creates or updates the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to the create or update Azure Firewall operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AzureFirewallInner> beginCreateOrUpdate(
+ String resourceGroupName, String azureFirewallName, AzureFirewallInner parameters);
+
+ /**
+ * Creates or updates the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to the create or update Azure Firewall operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AzureFirewallInner> beginCreateOrUpdate(
+ String resourceGroupName, String azureFirewallName, AzureFirewallInner parameters, Context context);
+
+ /**
+ * Creates or updates the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to the create or update Azure Firewall operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AzureFirewallInner createOrUpdate(
+ String resourceGroupName, String azureFirewallName, AzureFirewallInner parameters);
+
+ /**
+ * Creates or updates the specified Azure Firewall.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to the create or update Azure Firewall operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AzureFirewallInner createOrUpdate(
+ String resourceGroupName, String azureFirewallName, AzureFirewallInner parameters, Context context);
+
+ /**
+ * Updates tags of an Azure Firewall resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to update azure firewall tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AzureFirewallInner> beginUpdateTags(
+ String resourceGroupName, String azureFirewallName, TagsObject parameters);
+
+ /**
+ * Updates tags of an Azure Firewall resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to update azure firewall tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AzureFirewallInner> beginUpdateTags(
+ String resourceGroupName, String azureFirewallName, TagsObject parameters, Context context);
+
+ /**
+ * Updates tags of an Azure Firewall resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to update azure firewall tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AzureFirewallInner updateTags(String resourceGroupName, String azureFirewallName, TagsObject parameters);
+
+ /**
+ * Updates tags of an Azure Firewall resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureFirewallName The name of the Azure Firewall.
+ * @param parameters Parameters supplied to update azure firewall tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Firewall resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AzureFirewallInner updateTags(
+ String resourceGroupName, String azureFirewallName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all Azure Firewalls in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListAzureFirewalls API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all Azure Firewalls in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListAzureFirewalls API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all the Azure Firewalls in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Azure Firewalls in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the Azure Firewalls in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Azure Firewalls in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BastionHostsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BastionHostsClient.java
new file mode 100644
index 0000000000000..e84f723d7bbcc
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BastionHostsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.BastionHostInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in BastionHostsClient. */
+public interface BastionHostsClient {
+ /**
+ * Deletes the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String bastionHostname);
+
+ /**
+ * Deletes the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String bastionHostname, Context context);
+
+ /**
+ * Deletes the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String bastionHostname);
+
+ /**
+ * Deletes the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String bastionHostname, Context context);
+
+ /**
+ * Gets the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Bastion Host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BastionHostInner getByResourceGroup(String resourceGroupName, String bastionHostname);
+
+ /**
+ * Gets the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Bastion Host.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String bastionHostname, Context context);
+
+ /**
+ * Creates or updates the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to the create or update Bastion Host operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BastionHostInner> beginCreateOrUpdate(
+ String resourceGroupName, String bastionHostname, BastionHostInner parameters);
+
+ /**
+ * Creates or updates the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to the create or update Bastion Host operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BastionHostInner> beginCreateOrUpdate(
+ String resourceGroupName, String bastionHostname, BastionHostInner parameters, Context context);
+
+ /**
+ * Creates or updates the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to the create or update Bastion Host operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BastionHostInner createOrUpdate(String resourceGroupName, String bastionHostname, BastionHostInner parameters);
+
+ /**
+ * Creates or updates the specified Bastion Host.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to the create or update Bastion Host operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BastionHostInner createOrUpdate(
+ String resourceGroupName, String bastionHostname, BastionHostInner parameters, Context context);
+
+ /**
+ * Updates Tags for BastionHost resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to update BastionHost tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BastionHostInner> beginUpdateTags(
+ String resourceGroupName, String bastionHostname, TagsObject parameters);
+
+ /**
+ * Updates Tags for BastionHost resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to update BastionHost tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BastionHostInner> beginUpdateTags(
+ String resourceGroupName, String bastionHostname, TagsObject parameters, Context context);
+
+ /**
+ * Updates Tags for BastionHost resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to update BastionHost tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BastionHostInner updateTags(String resourceGroupName, String bastionHostname, TagsObject parameters);
+
+ /**
+ * Updates Tags for BastionHost resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param bastionHostname The name of the Bastion Host.
+ * @param parameters Parameters supplied to update BastionHost tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return bastion Host resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BastionHostInner updateTags(
+ String resourceGroupName, String bastionHostname, TagsObject parameters, Context context);
+
+ /**
+ * Lists all Bastion Hosts in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListBastionHosts API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all Bastion Hosts in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListBastionHosts API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all Bastion Hosts in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListBastionHosts API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all Bastion Hosts in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListBastionHosts API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BgpServiceCommunitiesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BgpServiceCommunitiesClient.java
new file mode 100644
index 0000000000000..e657a0cb7cc25
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/BgpServiceCommunitiesClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.BgpServiceCommunityInner;
+
+/** An instance of this class provides access to all the operations defined in BgpServiceCommunitiesClient. */
+public interface BgpServiceCommunitiesClient {
+ /**
+ * Gets all the available bgp service communities.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the available bgp service communities.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the available bgp service communities.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the available bgp service communities.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ConnectionMonitorsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ConnectionMonitorsClient.java
new file mode 100644
index 0000000000000..3332111eab233
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ConnectionMonitorsClient.java
@@ -0,0 +1,458 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ConnectionMonitorQueryResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ConnectionMonitorResultInner;
+import com.azure.resourcemanager.network.generated.models.ConnectionMonitor;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ConnectionMonitorsClient. */
+public interface ConnectionMonitorsClient {
+ /**
+ * Create or update a connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters that define the operation to create a connection monitor.
+ * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ConnectionMonitorResultInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ ConnectionMonitor parameters,
+ String migrate);
+
+ /**
+ * Create or update a connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters that define the operation to create a connection monitor.
+ * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ConnectionMonitorResultInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ ConnectionMonitor parameters,
+ String migrate,
+ Context context);
+
+ /**
+ * Create or update a connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters that define the operation to create a connection monitor.
+ * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorResultInner createOrUpdate(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ ConnectionMonitor parameters,
+ String migrate);
+
+ /**
+ * Create or update a connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters that define the operation to create a connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorResultInner createOrUpdate(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ ConnectionMonitor parameters);
+
+ /**
+ * Create or update a connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters that define the operation to create a connection monitor.
+ * @param migrate Value indicating whether connection monitor V1 should be migrated to V2 format.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorResultInner createOrUpdate(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ ConnectionMonitor parameters,
+ String migrate,
+ Context context);
+
+ /**
+ * Gets a connection monitor by name.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a connection monitor by name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorResultInner get(String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Gets a connection monitor by name.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a connection monitor by name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Deletes the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Deletes the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Deletes the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Deletes the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Update tags of the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkWatcherName The name of the network watcher.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters supplied to update connection monitor tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorResultInner updateTags(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, TagsObject parameters);
+
+ /**
+ * Update tags of the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkWatcherName The name of the network watcher.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param parameters Parameters supplied to update connection monitor tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the connection monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName,
+ String networkWatcherName,
+ String connectionMonitorName,
+ TagsObject parameters,
+ Context context);
+
+ /**
+ * Stops the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Stops the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Stops the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Stops the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Starts the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Starts the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Starts the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Starts the specified connection monitor.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name of the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Query a snapshot of the most recent connection states.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name given to the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection states snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ConnectionMonitorQueryResultInner> beginQuery(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Query a snapshot of the most recent connection states.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name given to the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection states snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ConnectionMonitorQueryResultInner> beginQuery(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Query a snapshot of the most recent connection states.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name given to the connection monitor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection states snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorQueryResultInner query(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName);
+
+ /**
+ * Query a snapshot of the most recent connection states.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param connectionMonitorName The name given to the connection monitor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection states snapshots.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionMonitorQueryResultInner query(
+ String resourceGroupName, String networkWatcherName, String connectionMonitorName, Context context);
+
+ /**
+ * Lists all connection monitors for the specified Network Watcher.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection monitors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String networkWatcherName);
+
+ /**
+ * Lists all connection monitors for the specified Network Watcher.
+ *
+ * @param resourceGroupName The name of the resource group containing Network Watcher.
+ * @param networkWatcherName The name of the Network Watcher resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of connection monitors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String networkWatcherName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/CustomIpPrefixesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/CustomIpPrefixesClient.java
new file mode 100644
index 0000000000000..5e6707fc65de1
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/CustomIpPrefixesClient.java
@@ -0,0 +1,239 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.CustomIpPrefixInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in CustomIpPrefixesClient. */
+public interface CustomIpPrefixesClient {
+ /**
+ * Deletes the specified custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the CustomIpPrefix.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String customIpPrefixName);
+
+ /**
+ * Deletes the specified custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the CustomIpPrefix.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String customIpPrefixName, Context context);
+
+ /**
+ * Deletes the specified custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the CustomIpPrefix.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String customIpPrefixName);
+
+ /**
+ * Deletes the specified custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the CustomIpPrefix.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String customIpPrefixName, Context context);
+
+ /**
+ * Gets the specified custom IP prefix in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified custom IP prefix in a specified resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomIpPrefixInner getByResourceGroup(String resourceGroupName, String customIpPrefixName);
+
+ /**
+ * Gets the specified custom IP prefix in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param expand Expands referenced resources.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified custom IP prefix in a specified resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String customIpPrefixName, String expand, Context context);
+
+ /**
+ * Creates or updates a custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to the create or update custom IP prefix operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CustomIpPrefixInner> beginCreateOrUpdate(
+ String resourceGroupName, String customIpPrefixName, CustomIpPrefixInner parameters);
+
+ /**
+ * Creates or updates a custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to the create or update custom IP prefix operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, CustomIpPrefixInner> beginCreateOrUpdate(
+ String resourceGroupName, String customIpPrefixName, CustomIpPrefixInner parameters, Context context);
+
+ /**
+ * Creates or updates a custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to the create or update custom IP prefix operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomIpPrefixInner createOrUpdate(
+ String resourceGroupName, String customIpPrefixName, CustomIpPrefixInner parameters);
+
+ /**
+ * Creates or updates a custom IP prefix.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to the create or update custom IP prefix operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomIpPrefixInner createOrUpdate(
+ String resourceGroupName, String customIpPrefixName, CustomIpPrefixInner parameters, Context context);
+
+ /**
+ * Updates custom IP prefix tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to update custom IP prefix tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomIpPrefixInner updateTags(String resourceGroupName, String customIpPrefixName, TagsObject parameters);
+
+ /**
+ * Updates custom IP prefix tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param customIpPrefixName The name of the custom IP prefix.
+ * @param parameters Parameters supplied to update custom IP prefix tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return custom IP prefix resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String customIpPrefixName, TagsObject parameters, Context context);
+
+ /**
+ * Gets all the custom IP prefixes in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the custom IP prefixes in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the custom IP prefixes in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the custom IP prefixes in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets all custom IP prefixes in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all custom IP prefixes in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all custom IP prefixes in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all custom IP prefixes in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosCustomPoliciesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosCustomPoliciesClient.java
new file mode 100644
index 0000000000000..88fecb0612fc7
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosCustomPoliciesClient.java
@@ -0,0 +1,190 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.DdosCustomPolicyInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in DdosCustomPoliciesClient. */
+public interface DdosCustomPoliciesClient {
+ /**
+ * Deletes the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String ddosCustomPolicyName);
+
+ /**
+ * Deletes the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String ddosCustomPolicyName, Context context);
+
+ /**
+ * Deletes the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ddosCustomPolicyName);
+
+ /**
+ * Deletes the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ddosCustomPolicyName, Context context);
+
+ /**
+ * Gets information about the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified DDoS custom policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosCustomPolicyInner getByResourceGroup(String resourceGroupName, String ddosCustomPolicyName);
+
+ /**
+ * Gets information about the specified DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified DDoS custom policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String ddosCustomPolicyName, Context context);
+
+ /**
+ * Creates or updates a DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DdosCustomPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName, String ddosCustomPolicyName, DdosCustomPolicyInner parameters);
+
+ /**
+ * Creates or updates a DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DdosCustomPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName, String ddosCustomPolicyName, DdosCustomPolicyInner parameters, Context context);
+
+ /**
+ * Creates or updates a DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosCustomPolicyInner createOrUpdate(
+ String resourceGroupName, String ddosCustomPolicyName, DdosCustomPolicyInner parameters);
+
+ /**
+ * Creates or updates a DDoS custom policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosCustomPolicyInner createOrUpdate(
+ String resourceGroupName, String ddosCustomPolicyName, DdosCustomPolicyInner parameters, Context context);
+
+ /**
+ * Update a DDoS custom policy tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to update DDoS custom policy resource tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosCustomPolicyInner updateTags(String resourceGroupName, String ddosCustomPolicyName, TagsObject parameters);
+
+ /**
+ * Update a DDoS custom policy tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosCustomPolicyName The name of the DDoS custom policy.
+ * @param parameters Parameters supplied to update DDoS custom policy resource tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS custom policy in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String ddosCustomPolicyName, TagsObject parameters, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosProtectionPlansClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosProtectionPlansClient.java
new file mode 100644
index 0000000000000..e3518530ac0c0
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DdosProtectionPlansClient.java
@@ -0,0 +1,238 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.DdosProtectionPlanInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in DdosProtectionPlansClient. */
+public interface DdosProtectionPlansClient {
+ /**
+ * Deletes the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String ddosProtectionPlanName);
+
+ /**
+ * Deletes the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String ddosProtectionPlanName, Context context);
+
+ /**
+ * Deletes the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ddosProtectionPlanName);
+
+ /**
+ * Deletes the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String ddosProtectionPlanName, Context context);
+
+ /**
+ * Gets information about the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified DDoS protection plan.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosProtectionPlanInner getByResourceGroup(String resourceGroupName, String ddosProtectionPlanName);
+
+ /**
+ * Gets information about the specified DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified DDoS protection plan.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String ddosProtectionPlanName, Context context);
+
+ /**
+ * Creates or updates a DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DdosProtectionPlanInner> beginCreateOrUpdate(
+ String resourceGroupName, String ddosProtectionPlanName, DdosProtectionPlanInner parameters);
+
+ /**
+ * Creates or updates a DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DdosProtectionPlanInner> beginCreateOrUpdate(
+ String resourceGroupName, String ddosProtectionPlanName, DdosProtectionPlanInner parameters, Context context);
+
+ /**
+ * Creates or updates a DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosProtectionPlanInner createOrUpdate(
+ String resourceGroupName, String ddosProtectionPlanName, DdosProtectionPlanInner parameters);
+
+ /**
+ * Creates or updates a DDoS protection plan.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the create or update operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosProtectionPlanInner createOrUpdate(
+ String resourceGroupName, String ddosProtectionPlanName, DdosProtectionPlanInner parameters, Context context);
+
+ /**
+ * Update a DDoS protection plan tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the update DDoS protection plan resource tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DdosProtectionPlanInner updateTags(String resourceGroupName, String ddosProtectionPlanName, TagsObject parameters);
+
+ /**
+ * Update a DDoS protection plan tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param ddosProtectionPlanName The name of the DDoS protection plan.
+ * @param parameters Parameters supplied to the update DDoS protection plan resource tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DDoS protection plan in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String ddosProtectionPlanName, TagsObject parameters, Context context);
+
+ /**
+ * Gets all DDoS protection plans in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all DDoS protection plans in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all DDoS protection plans in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all DDoS protection plans in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets all the DDoS protection plans in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the DDoS protection plans in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all the DDoS protection plans in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the DDoS protection plans in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DefaultSecurityRulesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DefaultSecurityRulesClient.java
new file mode 100644
index 0000000000000..9cbf236516b72
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DefaultSecurityRulesClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.SecurityRuleInner;
+
+/** An instance of this class provides access to all the operations defined in DefaultSecurityRulesClient. */
+public interface DefaultSecurityRulesClient {
+ /**
+ * Gets all default security rules in a network security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkSecurityGroupName The name of the network security group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all default security rules in a network security group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String networkSecurityGroupName);
+
+ /**
+ * Gets all default security rules in a network security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkSecurityGroupName The name of the network security group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all default security rules in a network security group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String networkSecurityGroupName, Context context);
+
+ /**
+ * Get the specified default network security rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkSecurityGroupName The name of the network security group.
+ * @param defaultSecurityRuleName The name of the default security rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified default network security rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityRuleInner get(String resourceGroupName, String networkSecurityGroupName, String defaultSecurityRuleName);
+
+ /**
+ * Get the specified default network security rule.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkSecurityGroupName The name of the network security group.
+ * @param defaultSecurityRuleName The name of the default security rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified default network security rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String networkSecurityGroupName, String defaultSecurityRuleName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DscpConfigurationsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DscpConfigurationsClient.java
new file mode 100644
index 0000000000000..c748ea9ce19a6
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/DscpConfigurationsClient.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.DscpConfigurationInner;
+
+/** An instance of this class provides access to all the operations defined in DscpConfigurationsClient. */
+public interface DscpConfigurationsClient {
+ /**
+ * Creates or updates a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param parameters Parameters supplied to the create or update dscp configuration operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return differentiated Services Code Point configuration for any given network interface.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DscpConfigurationInner> beginCreateOrUpdate(
+ String resourceGroupName, String dscpConfigurationName, DscpConfigurationInner parameters);
+
+ /**
+ * Creates or updates a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param parameters Parameters supplied to the create or update dscp configuration operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return differentiated Services Code Point configuration for any given network interface.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DscpConfigurationInner> beginCreateOrUpdate(
+ String resourceGroupName, String dscpConfigurationName, DscpConfigurationInner parameters, Context context);
+
+ /**
+ * Creates or updates a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param parameters Parameters supplied to the create or update dscp configuration operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return differentiated Services Code Point configuration for any given network interface.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DscpConfigurationInner createOrUpdate(
+ String resourceGroupName, String dscpConfigurationName, DscpConfigurationInner parameters);
+
+ /**
+ * Creates or updates a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param parameters Parameters supplied to the create or update dscp configuration operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return differentiated Services Code Point configuration for any given network interface.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DscpConfigurationInner createOrUpdate(
+ String resourceGroupName, String dscpConfigurationName, DscpConfigurationInner parameters, Context context);
+
+ /**
+ * Deletes a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String dscpConfigurationName);
+
+ /**
+ * Deletes a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String dscpConfigurationName, Context context);
+
+ /**
+ * Deletes a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String dscpConfigurationName);
+
+ /**
+ * Deletes a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String dscpConfigurationName, Context context);
+
+ /**
+ * Gets a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DSCP Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DscpConfigurationInner getByResourceGroup(String resourceGroupName, String dscpConfigurationName);
+
+ /**
+ * Gets a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param dscpConfigurationName The name of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DSCP Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String dscpConfigurationName, Context context);
+
+ /**
+ * Gets a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DSCP Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets a DSCP Configuration.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a DSCP Configuration.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all dscp configurations in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all dscp configurations in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all dscp configurations in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all dscp configurations in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitAuthorizationsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitAuthorizationsClient.java
new file mode 100644
index 0000000000000..826d3f7dc6086
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitAuthorizationsClient.java
@@ -0,0 +1,221 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitAuthorizationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ExpressRouteCircuitAuthorizationsClient.
+ */
+public interface ExpressRouteCircuitAuthorizationsClient {
+ /**
+ * Deletes the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String circuitName, String authorizationName);
+
+ /**
+ * Deletes the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String circuitName, String authorizationName, Context context);
+
+ /**
+ * Deletes the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, String authorizationName);
+
+ /**
+ * Deletes the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, String authorizationName, Context context);
+
+ /**
+ * Gets the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified authorization from the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitAuthorizationInner get(String resourceGroupName, String circuitName, String authorizationName);
+
+ /**
+ * Gets the specified authorization from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified authorization from the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String circuitName, String authorizationName, Context context);
+
+ /**
+ * Creates or updates an authorization in the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param authorizationParameters Parameters supplied to the create or update express route circuit authorization
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return authorization in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitAuthorizationInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String authorizationName,
+ ExpressRouteCircuitAuthorizationInner authorizationParameters);
+
+ /**
+ * Creates or updates an authorization in the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param authorizationParameters Parameters supplied to the create or update express route circuit authorization
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return authorization in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitAuthorizationInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String authorizationName,
+ ExpressRouteCircuitAuthorizationInner authorizationParameters,
+ Context context);
+
+ /**
+ * Creates or updates an authorization in the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param authorizationParameters Parameters supplied to the create or update express route circuit authorization
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return authorization in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitAuthorizationInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String authorizationName,
+ ExpressRouteCircuitAuthorizationInner authorizationParameters);
+
+ /**
+ * Creates or updates an authorization in the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param authorizationName The name of the authorization.
+ * @param authorizationParameters Parameters supplied to the create or update express route circuit authorization
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return authorization in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitAuthorizationInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String authorizationName,
+ ExpressRouteCircuitAuthorizationInner authorizationParameters,
+ Context context);
+
+ /**
+ * Gets all authorizations in an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all authorizations in an express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String circuitName);
+
+ /**
+ * Gets all authorizations in an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all authorizations in an express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String circuitName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitConnectionsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitConnectionsClient.java
new file mode 100644
index 0000000000000..9eda45ab44368
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitConnectionsClient.java
@@ -0,0 +1,236 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitConnectionInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteCircuitConnectionsClient. */
+public interface ExpressRouteCircuitConnectionsClient {
+ /**
+ * Deletes the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String circuitName, String peeringName, String connectionName);
+
+ /**
+ * Deletes the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String circuitName, String peeringName, String connectionName, Context context);
+
+ /**
+ * Deletes the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, String peeringName, String connectionName);
+
+ /**
+ * Deletes the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String circuitName, String peeringName, String connectionName, Context context);
+
+ /**
+ * Gets the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Express Route Circuit Connection from the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitConnectionInner get(
+ String resourceGroupName, String circuitName, String peeringName, String connectionName);
+
+ /**
+ * Gets the specified Express Route Circuit Connection from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Express Route Circuit Connection from the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String circuitName, String peeringName, String connectionName, Context context);
+
+ /**
+ * Creates or updates a Express Route Circuit Connection in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param expressRouteCircuitConnectionParameters Parameters supplied to the create or update express route circuit
+ * connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ String connectionName,
+ ExpressRouteCircuitConnectionInner expressRouteCircuitConnectionParameters);
+
+ /**
+ * Creates or updates a Express Route Circuit Connection in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param expressRouteCircuitConnectionParameters Parameters supplied to the create or update express route circuit
+ * connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ String connectionName,
+ ExpressRouteCircuitConnectionInner expressRouteCircuitConnectionParameters,
+ Context context);
+
+ /**
+ * Creates or updates a Express Route Circuit Connection in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param expressRouteCircuitConnectionParameters Parameters supplied to the create or update express route circuit
+ * connection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ String connectionName,
+ ExpressRouteCircuitConnectionInner expressRouteCircuitConnectionParameters);
+
+ /**
+ * Creates or updates a Express Route Circuit Connection in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param connectionName The name of the express route circuit connection.
+ * @param expressRouteCircuitConnectionParameters Parameters supplied to the create or update express route circuit
+ * connection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return express Route Circuit Connection in an ExpressRouteCircuitPeering resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ String connectionName,
+ ExpressRouteCircuitConnectionInner expressRouteCircuitConnectionParameters,
+ Context context);
+
+ /**
+ * Gets all global reach connections associated with a private peering in an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all global reach connections associated with a private peering in an express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String circuitName, String peeringName);
+
+ /**
+ * Gets all global reach connections associated with a private peering in an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all global reach connections associated with a private peering in an express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String circuitName, String peeringName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitPeeringsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitPeeringsClient.java
new file mode 100644
index 0000000000000..0ba28cb7cdf48
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitPeeringsClient.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitPeeringInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteCircuitPeeringsClient. */
+public interface ExpressRouteCircuitPeeringsClient {
+ /**
+ * Deletes the specified peering from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String circuitName, String peeringName);
+
+ /**
+ * Deletes the specified peering from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String circuitName, String peeringName, Context context);
+
+ /**
+ * Deletes the specified peering from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, String peeringName);
+
+ /**
+ * Deletes the specified peering from the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, String peeringName, Context context);
+
+ /**
+ * Gets the specified peering for the express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified peering for the express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitPeeringInner get(String resourceGroupName, String circuitName, String peeringName);
+
+ /**
+ * Gets the specified peering for the express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified peering for the express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String circuitName, String peeringName, Context context);
+
+ /**
+ * Creates or updates a peering in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update express route circuit peering operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitPeeringInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ ExpressRouteCircuitPeeringInner peeringParameters);
+
+ /**
+ * Creates or updates a peering in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update express route circuit peering operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitPeeringInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ ExpressRouteCircuitPeeringInner peeringParameters,
+ Context context);
+
+ /**
+ * Creates or updates a peering in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update express route circuit peering operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitPeeringInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ ExpressRouteCircuitPeeringInner peeringParameters);
+
+ /**
+ * Creates or updates a peering in the specified express route circuits.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update express route circuit peering operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitPeeringInner createOrUpdate(
+ String resourceGroupName,
+ String circuitName,
+ String peeringName,
+ ExpressRouteCircuitPeeringInner peeringParameters,
+ Context context);
+
+ /**
+ * Gets all peerings in a specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all peerings in a specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String circuitName);
+
+ /**
+ * Gets all peerings in a specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all peerings in a specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String circuitName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitsClient.java
new file mode 100644
index 0000000000000..7cb37ba0c7fd1
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCircuitsClient.java
@@ -0,0 +1,511 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitStatsInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitsArpTableListResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitsRoutesTableListResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitsRoutesTableSummaryListResultInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteCircuitsClient. */
+public interface ExpressRouteCircuitsClient {
+ /**
+ * Deletes the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String circuitName);
+
+ /**
+ * Deletes the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String circuitName, Context context);
+
+ /**
+ * Deletes the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName);
+
+ /**
+ * Deletes the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String circuitName, Context context);
+
+ /**
+ * Gets information about the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of express route circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitInner getByResourceGroup(String resourceGroupName, String circuitName);
+
+ /**
+ * Gets information about the specified express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of express route circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified express route circuit.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String circuitName, Context context);
+
+ /**
+ * Creates or updates an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to the create or update express route circuit operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitInner> beginCreateOrUpdate(
+ String resourceGroupName, String circuitName, ExpressRouteCircuitInner parameters);
+
+ /**
+ * Creates or updates an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to the create or update express route circuit operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitInner> beginCreateOrUpdate(
+ String resourceGroupName, String circuitName, ExpressRouteCircuitInner parameters, Context context);
+
+ /**
+ * Creates or updates an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to the create or update express route circuit operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitInner createOrUpdate(
+ String resourceGroupName, String circuitName, ExpressRouteCircuitInner parameters);
+
+ /**
+ * Creates or updates an express route circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to the create or update express route circuit operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitInner createOrUpdate(
+ String resourceGroupName, String circuitName, ExpressRouteCircuitInner parameters, Context context);
+
+ /**
+ * Updates an express route circuit tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to update express route circuit tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitInner updateTags(String resourceGroupName, String circuitName, TagsObject parameters);
+
+ /**
+ * Updates an express route circuit tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the circuit.
+ * @param parameters Parameters supplied to update express route circuit tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCircuit resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String circuitName, TagsObject parameters, Context context);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitsArpTableListResultInner>
+ beginListArpTable(String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitsArpTableListResultInner>
+ beginListArpTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsArpTableListResultInner listArpTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsArpTableListResultInner listArpTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult, ExpressRouteCircuitsRoutesTableListResultInner>
+ beginListRoutesTable(String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult, ExpressRouteCircuitsRoutesTableListResultInner>
+ beginListRoutesTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableListResultInner listRoutesTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableListResultInner listRoutesTable(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised routes table summary associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table summary associated with the express route circuit in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ExpressRouteCircuitsRoutesTableSummaryListResultInner>
+ beginListRoutesTableSummary(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table summary associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table summary associated with the express route circuit in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ExpressRouteCircuitsRoutesTableSummaryListResultInner>
+ beginListRoutesTableSummary(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised routes table summary associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table summary associated with the express route circuit in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableSummaryListResultInner listRoutesTableSummary(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table summary associated with the express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table summary associated with the express route circuit in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableSummaryListResultInner listRoutesTableSummary(
+ String resourceGroupName, String circuitName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets all the stats from an express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the stats from an express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitStatsInner getStats(String resourceGroupName, String circuitName);
+
+ /**
+ * Gets all the stats from an express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the stats from an express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getStatsWithResponse(
+ String resourceGroupName, String circuitName, Context context);
+
+ /**
+ * Gets all stats from an express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all stats from an express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitStatsInner getPeeringStats(String resourceGroupName, String circuitName, String peeringName);
+
+ /**
+ * Gets all stats from an express route circuit in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param circuitName The name of the express route circuit.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all stats from an express route circuit in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getPeeringStatsWithResponse(
+ String resourceGroupName, String circuitName, String peeringName, Context context);
+
+ /**
+ * Gets all the express route circuits in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the express route circuits in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all the express route circuits in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the express route circuits in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all the express route circuits in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the express route circuits in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the express route circuits in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the express route circuits in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteConnectionsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteConnectionsClient.java
new file mode 100644
index 0000000000000..af145a1a6412f
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteConnectionsClient.java
@@ -0,0 +1,213 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteConnectionInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteConnectionListInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteConnectionsClient. */
+public interface ExpressRouteConnectionsClient {
+ /**
+ * Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param putExpressRouteConnectionParameters Parameters required in an ExpressRouteConnection PUT operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ String connectionName,
+ ExpressRouteConnectionInner putExpressRouteConnectionParameters);
+
+ /**
+ * Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param putExpressRouteConnectionParameters Parameters required in an ExpressRouteConnection PUT operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ String connectionName,
+ ExpressRouteConnectionInner putExpressRouteConnectionParameters,
+ Context context);
+
+ /**
+ * Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param putExpressRouteConnectionParameters Parameters required in an ExpressRouteConnection PUT operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ String connectionName,
+ ExpressRouteConnectionInner putExpressRouteConnectionParameters);
+
+ /**
+ * Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param putExpressRouteConnectionParameters Parameters required in an ExpressRouteConnection PUT operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ String connectionName,
+ ExpressRouteConnectionInner putExpressRouteConnectionParameters,
+ Context context);
+
+ /**
+ * Gets the specified ExpressRouteConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the ExpressRoute connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified ExpressRouteConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteConnectionInner get(String resourceGroupName, String expressRouteGatewayName, String connectionName);
+
+ /**
+ * Gets the specified ExpressRouteConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the ExpressRoute connection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified ExpressRouteConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String expressRouteGatewayName, String connectionName, Context context);
+
+ /**
+ * Deletes a connection to a ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String expressRouteGatewayName, String connectionName);
+
+ /**
+ * Deletes a connection to a ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String expressRouteGatewayName, String connectionName, Context context);
+
+ /**
+ * Deletes a connection to a ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRouteGatewayName, String connectionName);
+
+ /**
+ * Deletes a connection to a ExpressRoute circuit.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param connectionName The name of the connection subresource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRouteGatewayName, String connectionName, Context context);
+
+ /**
+ * Lists ExpressRouteConnections.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection list.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteConnectionListInner list(String resourceGroupName, String expressRouteGatewayName);
+
+ /**
+ * Lists ExpressRouteConnections.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteConnection list.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(
+ String resourceGroupName, String expressRouteGatewayName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionPeeringsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionPeeringsClient.java
new file mode 100644
index 0000000000000..b49e6a98bf983
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionPeeringsClient.java
@@ -0,0 +1,222 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCrossConnectionPeeringInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ExpressRouteCrossConnectionPeeringsClient.
+ */
+public interface ExpressRouteCrossConnectionPeeringsClient {
+ /**
+ * Gets all peerings in a specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all peerings in a specified ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String crossConnectionName);
+
+ /**
+ * Gets all peerings in a specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all peerings in a specified ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String crossConnectionName, Context context);
+
+ /**
+ * Deletes the specified peering from the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String crossConnectionName, String peeringName);
+
+ /**
+ * Deletes the specified peering from the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String crossConnectionName, String peeringName, Context context);
+
+ /**
+ * Deletes the specified peering from the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String crossConnectionName, String peeringName);
+
+ /**
+ * Deletes the specified peering from the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String crossConnectionName, String peeringName, Context context);
+
+ /**
+ * Gets the specified peering for the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified peering for the ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionPeeringInner get(
+ String resourceGroupName, String crossConnectionName, String peeringName);
+
+ /**
+ * Gets the specified peering for the ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified peering for the ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String crossConnectionName, String peeringName, Context context);
+
+ /**
+ * Creates or updates a peering in the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update ExpressRouteCrossConnection peering
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRoute Cross Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCrossConnectionPeeringInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ ExpressRouteCrossConnectionPeeringInner peeringParameters);
+
+ /**
+ * Creates or updates a peering in the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update ExpressRouteCrossConnection peering
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRoute Cross Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCrossConnectionPeeringInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ ExpressRouteCrossConnectionPeeringInner peeringParameters,
+ Context context);
+
+ /**
+ * Creates or updates a peering in the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update ExpressRouteCrossConnection peering
+ * operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRoute Cross Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionPeeringInner createOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ ExpressRouteCrossConnectionPeeringInner peeringParameters);
+
+ /**
+ * Creates or updates a peering in the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param peeringParameters Parameters supplied to the create or update ExpressRouteCrossConnection peering
+ * operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return peering in an ExpressRoute Cross Connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionPeeringInner createOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ ExpressRouteCrossConnectionPeeringInner peeringParameters,
+ Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionsClient.java
new file mode 100644
index 0000000000000..bd1c8f7904440
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteCrossConnectionsClient.java
@@ -0,0 +1,428 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitsArpTableListResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCircuitsRoutesTableListResultInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCrossConnectionInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResultInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteCrossConnectionsClient. */
+public interface ExpressRouteCrossConnectionsClient {
+ /**
+ * Retrieves all the ExpressRouteCrossConnections in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListExpressRouteCrossConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Retrieves all the ExpressRouteCrossConnections in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListExpressRouteCrossConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Retrieves all the ExpressRouteCrossConnections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListExpressRouteCrossConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Retrieves all the ExpressRouteCrossConnections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListExpressRouteCrossConnection API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets details about the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group (peering location of the circuit).
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection (service key of the circuit).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return details about the specified ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionInner getByResourceGroup(String resourceGroupName, String crossConnectionName);
+
+ /**
+ * Gets details about the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group (peering location of the circuit).
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection (service key of the circuit).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return details about the specified ExpressRouteCrossConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String crossConnectionName, Context context);
+
+ /**
+ * Update the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param parameters Parameters supplied to the update express route crossConnection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCrossConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName, String crossConnectionName, ExpressRouteCrossConnectionInner parameters);
+
+ /**
+ * Update the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param parameters Parameters supplied to the update express route crossConnection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCrossConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ ExpressRouteCrossConnectionInner parameters,
+ Context context);
+
+ /**
+ * Update the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param parameters Parameters supplied to the update express route crossConnection operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionInner createOrUpdate(
+ String resourceGroupName, String crossConnectionName, ExpressRouteCrossConnectionInner parameters);
+
+ /**
+ * Update the specified ExpressRouteCrossConnection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param parameters Parameters supplied to the update express route crossConnection operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String crossConnectionName,
+ ExpressRouteCrossConnectionInner parameters,
+ Context context);
+
+ /**
+ * Updates an express route cross connection tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the cross connection.
+ * @param crossConnectionParameters Parameters supplied to update express route cross connection tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionInner updateTags(
+ String resourceGroupName, String crossConnectionName, TagsObject crossConnectionParameters);
+
+ /**
+ * Updates an express route cross connection tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the cross connection.
+ * @param crossConnectionParameters Parameters supplied to update express route cross connection tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteCrossConnection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String crossConnectionName, TagsObject crossConnectionParameters, Context context);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitsArpTableListResultInner>
+ beginListArpTable(String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteCircuitsArpTableListResultInner>
+ beginListArpTable(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ String devicePath,
+ Context context);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsArpTableListResultInner listArpTable(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised ARP table associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised ARP table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsArpTableListResultInner listArpTable(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the route table summary associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the route table summary associated with the express route cross connection in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ExpressRouteCrossConnectionsRoutesTableSummaryListResultInner>
+ beginListRoutesTableSummary(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the route table summary associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the route table summary associated with the express route cross connection in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult,
+ ExpressRouteCrossConnectionsRoutesTableSummaryListResultInner>
+ beginListRoutesTableSummary(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ String devicePath,
+ Context context);
+
+ /**
+ * Gets the route table summary associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the route table summary associated with the express route cross connection in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionsRoutesTableSummaryListResultInner listRoutesTableSummary(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the route table summary associated with the express route cross connection in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the route table summary associated with the express route cross connection in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCrossConnectionsRoutesTableSummaryListResultInner listRoutesTableSummary(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath, Context context);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult, ExpressRouteCircuitsRoutesTableListResultInner>
+ beginListRoutesTable(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller<
+ PollResult, ExpressRouteCircuitsRoutesTableListResultInner>
+ beginListRoutesTable(
+ String resourceGroupName,
+ String crossConnectionName,
+ String peeringName,
+ String devicePath,
+ Context context);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableListResultInner listRoutesTable(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath);
+
+ /**
+ * Gets the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param crossConnectionName The name of the ExpressRouteCrossConnection.
+ * @param peeringName The name of the peering.
+ * @param devicePath The path of the device.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the currently advertised routes table associated with the express route cross connection in a resource
+ * group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteCircuitsRoutesTableListResultInner listRoutesTable(
+ String resourceGroupName, String crossConnectionName, String peeringName, String devicePath, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteGatewaysClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteGatewaysClient.java
new file mode 100644
index 0000000000000..f15cc769b9e6e
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteGatewaysClient.java
@@ -0,0 +1,290 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteGatewayInner;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteGatewayListInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteGatewaysClient. */
+public interface ExpressRouteGatewaysClient {
+ /**
+ * Lists ExpressRoute gateways under a given subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ExpressRoute gateways.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayListInner listBySubscription();
+
+ /**
+ * Lists ExpressRoute gateways under a given subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ExpressRoute gateways.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listBySubscriptionWithResponse(Context context);
+
+ /**
+ * Lists ExpressRoute gateways in a given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ExpressRoute gateways.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayListInner listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists ExpressRoute gateways in a given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of ExpressRoute gateways.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listByResourceGroupWithResponse(String resourceGroupName, Context context);
+
+ /**
+ * Creates or updates a ExpressRoute gateway in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param putExpressRouteGatewayParameters Parameters required in an ExpressRoute gateway PUT operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteGatewayInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ ExpressRouteGatewayInner putExpressRouteGatewayParameters);
+
+ /**
+ * Creates or updates a ExpressRoute gateway in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param putExpressRouteGatewayParameters Parameters required in an ExpressRoute gateway PUT operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteGatewayInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ ExpressRouteGatewayInner putExpressRouteGatewayParameters,
+ Context context);
+
+ /**
+ * Creates or updates a ExpressRoute gateway in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param putExpressRouteGatewayParameters Parameters required in an ExpressRoute gateway PUT operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayInner createOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ ExpressRouteGatewayInner putExpressRouteGatewayParameters);
+
+ /**
+ * Creates or updates a ExpressRoute gateway in a specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param putExpressRouteGatewayParameters Parameters required in an ExpressRoute gateway PUT operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayInner createOrUpdate(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ ExpressRouteGatewayInner putExpressRouteGatewayParameters,
+ Context context);
+
+ /**
+ * Updates express route gateway tags.
+ *
+ * @param resourceGroupName The resource group name of the ExpressRouteGateway.
+ * @param expressRouteGatewayName The name of the gateway.
+ * @param expressRouteGatewayParameters Parameters supplied to update a virtual wan express route gateway tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteGatewayInner> beginUpdateTags(
+ String resourceGroupName, String expressRouteGatewayName, TagsObject expressRouteGatewayParameters);
+
+ /**
+ * Updates express route gateway tags.
+ *
+ * @param resourceGroupName The resource group name of the ExpressRouteGateway.
+ * @param expressRouteGatewayName The name of the gateway.
+ * @param expressRouteGatewayParameters Parameters supplied to update a virtual wan express route gateway tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRouteGatewayInner> beginUpdateTags(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ TagsObject expressRouteGatewayParameters,
+ Context context);
+
+ /**
+ * Updates express route gateway tags.
+ *
+ * @param resourceGroupName The resource group name of the ExpressRouteGateway.
+ * @param expressRouteGatewayName The name of the gateway.
+ * @param expressRouteGatewayParameters Parameters supplied to update a virtual wan express route gateway tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayInner updateTags(
+ String resourceGroupName, String expressRouteGatewayName, TagsObject expressRouteGatewayParameters);
+
+ /**
+ * Updates express route gateway tags.
+ *
+ * @param resourceGroupName The resource group name of the ExpressRouteGateway.
+ * @param expressRouteGatewayName The name of the gateway.
+ * @param expressRouteGatewayParameters Parameters supplied to update a virtual wan express route gateway tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayInner updateTags(
+ String resourceGroupName,
+ String expressRouteGatewayName,
+ TagsObject expressRouteGatewayParameters,
+ Context context);
+
+ /**
+ * Fetches the details of a ExpressRoute gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteGatewayInner getByResourceGroup(String resourceGroupName, String expressRouteGatewayName);
+
+ /**
+ * Fetches the details of a ExpressRoute gateway in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String expressRouteGatewayName, Context context);
+
+ /**
+ * Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be
+ * deleted when there are no connection subresources.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String expressRouteGatewayName);
+
+ /**
+ * Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be
+ * deleted when there are no connection subresources.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String expressRouteGatewayName, Context context);
+
+ /**
+ * Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be
+ * deleted when there are no connection subresources.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRouteGatewayName);
+
+ /**
+ * Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be
+ * deleted when there are no connection subresources.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRouteGatewayName The name of the ExpressRoute gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRouteGatewayName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteLinksClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteLinksClient.java
new file mode 100644
index 0000000000000..85ca854ee5009
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteLinksClient.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteLinkInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteLinksClient. */
+public interface ExpressRouteLinksClient {
+ /**
+ * Retrieves the specified ExpressRouteLink resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param linkName The name of the ExpressRouteLink resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteLink.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRouteLinkInner get(String resourceGroupName, String expressRoutePortName, String linkName);
+
+ /**
+ * Retrieves the specified ExpressRouteLink resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param linkName The name of the ExpressRouteLink resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteLink.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String expressRoutePortName, String linkName, Context context);
+
+ /**
+ * Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteLink List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String expressRoutePortName);
+
+ /**
+ * Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRouteLink List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String expressRoutePortName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsClient.java
new file mode 100644
index 0000000000000..6497dc169cde7
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsClient.java
@@ -0,0 +1,274 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRoutePortInner;
+import com.azure.resourcemanager.network.generated.fluent.models.GenerateExpressRoutePortsLoaResultInner;
+import com.azure.resourcemanager.network.generated.models.GenerateExpressRoutePortsLoaRequest;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ExpressRoutePortsClient. */
+public interface ExpressRoutePortsClient {
+ /**
+ * Deletes the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String expressRoutePortName);
+
+ /**
+ * Deletes the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String expressRoutePortName, Context context);
+
+ /**
+ * Deletes the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRoutePortName);
+
+ /**
+ * Deletes the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String expressRoutePortName, Context context);
+
+ /**
+ * Retrieves the requested ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of ExpressRoutePort.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRoutePortInner getByResourceGroup(String resourceGroupName, String expressRoutePortName);
+
+ /**
+ * Retrieves the requested ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of ExpressRoutePort.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String expressRoutePortName, Context context);
+
+ /**
+ * Creates or updates the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to the create ExpressRoutePort operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRoutePortInner> beginCreateOrUpdate(
+ String resourceGroupName, String expressRoutePortName, ExpressRoutePortInner parameters);
+
+ /**
+ * Creates or updates the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to the create ExpressRoutePort operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExpressRoutePortInner> beginCreateOrUpdate(
+ String resourceGroupName, String expressRoutePortName, ExpressRoutePortInner parameters, Context context);
+
+ /**
+ * Creates or updates the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to the create ExpressRoutePort operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRoutePortInner createOrUpdate(
+ String resourceGroupName, String expressRoutePortName, ExpressRoutePortInner parameters);
+
+ /**
+ * Creates or updates the specified ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to the create ExpressRoutePort operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRoutePortInner createOrUpdate(
+ String resourceGroupName, String expressRoutePortName, ExpressRoutePortInner parameters, Context context);
+
+ /**
+ * Update ExpressRoutePort tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to update ExpressRoutePort resource tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRoutePortInner updateTags(String resourceGroupName, String expressRoutePortName, TagsObject parameters);
+
+ /**
+ * Update ExpressRoutePort tags.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of the ExpressRoutePort resource.
+ * @param parameters Parameters supplied to update ExpressRoutePort resource tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String expressRoutePortName, TagsObject parameters, Context context);
+
+ /**
+ * List all the ExpressRoutePort resources in the specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List all the ExpressRoutePort resources in the specified resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List all the ExpressRoutePort resources in the specified subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List all the ExpressRoutePort resources in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoute Port List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Generate a letter of authorization for the requested ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of ExpressRoutePort.
+ * @param request Request parameters supplied to generate a letter of authorization.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for GenerateExpressRoutePortsLOA API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GenerateExpressRoutePortsLoaResultInner generateLoa(
+ String resourceGroupName, String expressRoutePortName, GenerateExpressRoutePortsLoaRequest request);
+
+ /**
+ * Generate a letter of authorization for the requested ExpressRoutePort resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param expressRoutePortName The name of ExpressRoutePort.
+ * @param request Request parameters supplied to generate a letter of authorization.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for GenerateExpressRoutePortsLOA API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateLoaWithResponse(
+ String resourceGroupName,
+ String expressRoutePortName,
+ GenerateExpressRoutePortsLoaRequest request,
+ Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsLocationsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsLocationsClient.java
new file mode 100644
index 0000000000000..b3eff2c079269
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRoutePortsLocationsClient.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRoutePortsLocationInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRoutePortsLocationsClient. */
+public interface ExpressRoutePortsLocationsClient {
+ /**
+ * Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location.
+ * Available bandwidths can only be obtained when retrieving a specific peering location.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoutePorts Location List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location.
+ * Available bandwidths can only be obtained when retrieving a specific peering location.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoutePorts Location List Result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at
+ * said peering location.
+ *
+ * @param locationName Name of the requested ExpressRoutePort peering location.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoutePorts Peering Location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExpressRoutePortsLocationInner get(String locationName);
+
+ /**
+ * Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at
+ * said peering location.
+ *
+ * @param locationName Name of the requested ExpressRoutePort peering location.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return expressRoutePorts Peering Location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String locationName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteServiceProvidersClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteServiceProvidersClient.java
new file mode 100644
index 0000000000000..5d11a40070010
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ExpressRouteServiceProvidersClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.network.generated.fluent.models.ExpressRouteServiceProviderInner;
+
+/** An instance of this class provides access to all the operations defined in ExpressRouteServiceProvidersClient. */
+public interface ExpressRouteServiceProvidersClient {
+ /**
+ * Gets all the available express route service providers.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the available express route service providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the available express route service providers.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the available express route service providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPoliciesClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPoliciesClient.java
new file mode 100644
index 0000000000000..0b1e4ba42f47a
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPoliciesClient.java
@@ -0,0 +1,208 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.FirewallPolicyInner;
+
+/** An instance of this class provides access to all the operations defined in FirewallPoliciesClient. */
+public interface FirewallPoliciesClient {
+ /**
+ * Deletes the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String firewallPolicyName);
+
+ /**
+ * Deletes the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String firewallPolicyName, Context context);
+
+ /**
+ * Deletes the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String firewallPolicyName);
+
+ /**
+ * Deletes the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String firewallPolicyName, Context context);
+
+ /**
+ * Gets the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Firewall Policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyInner getByResourceGroup(String resourceGroupName, String firewallPolicyName);
+
+ /**
+ * Gets the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param expand Expands referenced resources.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified Firewall Policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String firewallPolicyName, String expand, Context context);
+
+ /**
+ * Creates or updates the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param parameters Parameters supplied to the create or update Firewall Policy operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return firewallPolicy Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FirewallPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName, String firewallPolicyName, FirewallPolicyInner parameters);
+
+ /**
+ * Creates or updates the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param parameters Parameters supplied to the create or update Firewall Policy operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return firewallPolicy Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FirewallPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName, String firewallPolicyName, FirewallPolicyInner parameters, Context context);
+
+ /**
+ * Creates or updates the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param parameters Parameters supplied to the create or update Firewall Policy operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return firewallPolicy Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyInner createOrUpdate(
+ String resourceGroupName, String firewallPolicyName, FirewallPolicyInner parameters);
+
+ /**
+ * Creates or updates the specified Firewall Policy.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param parameters Parameters supplied to the create or update Firewall Policy operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return firewallPolicy Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyInner createOrUpdate(
+ String resourceGroupName, String firewallPolicyName, FirewallPolicyInner parameters, Context context);
+
+ /**
+ * Lists all Firewall Policies in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListFirewallPolicies API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all Firewall Policies in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListFirewallPolicies API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all the Firewall Policies in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Firewall Policies in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the Firewall Policies in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Firewall Policies in a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPolicyRuleCollectionGroupsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPolicyRuleCollectionGroupsClient.java
new file mode 100644
index 0000000000000..45f34138c58a3
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FirewallPolicyRuleCollectionGroupsClient.java
@@ -0,0 +1,218 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.FirewallPolicyRuleCollectionGroupInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in FirewallPolicyRuleCollectionGroupsClient.
+ */
+public interface FirewallPolicyRuleCollectionGroupsClient {
+ /**
+ * Deletes the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName);
+
+ /**
+ * Deletes the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName, Context context);
+
+ /**
+ * Deletes the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName);
+
+ /**
+ * Deletes the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName, Context context);
+
+ /**
+ * Gets the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified FirewallPolicyRuleCollectionGroup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyRuleCollectionGroupInner get(
+ String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName);
+
+ /**
+ * Gets the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified FirewallPolicyRuleCollectionGroup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String firewallPolicyName, String ruleCollectionGroupName, Context context);
+
+ /**
+ * Creates or updates the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param parameters Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return rule Collection Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FirewallPolicyRuleCollectionGroupInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String firewallPolicyName,
+ String ruleCollectionGroupName,
+ FirewallPolicyRuleCollectionGroupInner parameters);
+
+ /**
+ * Creates or updates the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param parameters Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return rule Collection Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FirewallPolicyRuleCollectionGroupInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String firewallPolicyName,
+ String ruleCollectionGroupName,
+ FirewallPolicyRuleCollectionGroupInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param parameters Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return rule Collection Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyRuleCollectionGroupInner createOrUpdate(
+ String resourceGroupName,
+ String firewallPolicyName,
+ String ruleCollectionGroupName,
+ FirewallPolicyRuleCollectionGroupInner parameters);
+
+ /**
+ * Creates or updates the specified FirewallPolicyRuleCollectionGroup.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param ruleCollectionGroupName The name of the FirewallPolicyRuleCollectionGroup.
+ * @param parameters Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return rule Collection Group resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallPolicyRuleCollectionGroupInner createOrUpdate(
+ String resourceGroupName,
+ String firewallPolicyName,
+ String ruleCollectionGroupName,
+ FirewallPolicyRuleCollectionGroupInner parameters,
+ Context context);
+
+ /**
+ * Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListFirewallPolicyRuleCollectionGroups API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String firewallPolicyName);
+
+ /**
+ * Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param firewallPolicyName The name of the Firewall Policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for ListFirewallPolicyRuleCollectionGroups API service call.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String firewallPolicyName, Context context);
+}
diff --git a/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FlowLogsClient.java b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FlowLogsClient.java
new file mode 100644
index 0000000000000..d858d9894d094
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/FlowLogsClient.java
@@ -0,0 +1,244 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.network.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.network.generated.fluent.models.FlowLogInner;
+import com.azure.resourcemanager.network.generated.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in FlowLogsClient. */
+public interface FlowLogsClient {
+ /**
+ * Create or update a flow log for the specified network security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkWatcherName The name of the network watcher.
+ * @param flowLogName The name of the flow log.
+ * @param parameters Parameters that define the create or update flow log resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a flow log resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FlowLogInner> beginCreateOrUpdate(
+ String resourceGroupName, String networkWatcherName, String flowLogName, FlowLogInner parameters);
+
+ /**
+ * Create or update a flow log for the specified network security group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param networkWatcherName The name of the network watcher.
+ * @param flowLogName The name of the flow log.
+ * @param parameters Parameters that define the create or update flow log resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a flow log resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller