scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ 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 retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' 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, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' 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) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ 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);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of ApplicationGateways.
+ *
+ * @return Resource collection API of ApplicationGateways.
+ */
+ public ApplicationGateways applicationGateways() {
+ if (this.applicationGateways == null) {
+ this.applicationGateways = new ApplicationGatewaysImpl(clientObject.getApplicationGateways(), this);
+ }
+ return applicationGateways;
+ }
+
+ /**
+ * Gets the resource collection API of ApplicationGatewayPrivateLinkResources.
+ *
+ * @return Resource collection API of ApplicationGatewayPrivateLinkResources.
+ */
+ public ApplicationGatewayPrivateLinkResources applicationGatewayPrivateLinkResources() {
+ if (this.applicationGatewayPrivateLinkResources == null) {
+ this.applicationGatewayPrivateLinkResources =
+ new ApplicationGatewayPrivateLinkResourcesImpl(
+ clientObject.getApplicationGatewayPrivateLinkResources(), this);
+ }
+ return applicationGatewayPrivateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of ApplicationGatewayPrivateEndpointConnections.
+ *
+ * @return Resource collection API of ApplicationGatewayPrivateEndpointConnections.
+ */
+ public ApplicationGatewayPrivateEndpointConnections applicationGatewayPrivateEndpointConnections() {
+ if (this.applicationGatewayPrivateEndpointConnections == null) {
+ this.applicationGatewayPrivateEndpointConnections =
+ new ApplicationGatewayPrivateEndpointConnectionsImpl(
+ clientObject.getApplicationGatewayPrivateEndpointConnections(), this);
+ }
+ return applicationGatewayPrivateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of ApplicationSecurityGroups.
+ *
+ * @return Resource collection API of ApplicationSecurityGroups.
+ */
+ public ApplicationSecurityGroups applicationSecurityGroups() {
+ if (this.applicationSecurityGroups == null) {
+ this.applicationSecurityGroups =
+ new ApplicationSecurityGroupsImpl(clientObject.getApplicationSecurityGroups(), this);
+ }
+ return applicationSecurityGroups;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableDelegations.
+ *
+ * @return Resource collection API of AvailableDelegations.
+ */
+ public AvailableDelegations availableDelegations() {
+ if (this.availableDelegations == null) {
+ this.availableDelegations = new AvailableDelegationsImpl(clientObject.getAvailableDelegations(), this);
+ }
+ return availableDelegations;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableResourceGroupDelegations.
+ *
+ * @return Resource collection API of AvailableResourceGroupDelegations.
+ */
+ public AvailableResourceGroupDelegations availableResourceGroupDelegations() {
+ if (this.availableResourceGroupDelegations == null) {
+ this.availableResourceGroupDelegations =
+ new AvailableResourceGroupDelegationsImpl(clientObject.getAvailableResourceGroupDelegations(), this);
+ }
+ return availableResourceGroupDelegations;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableServiceAliases.
+ *
+ * @return Resource collection API of AvailableServiceAliases.
+ */
+ public AvailableServiceAliases availableServiceAliases() {
+ if (this.availableServiceAliases == null) {
+ this.availableServiceAliases =
+ new AvailableServiceAliasesImpl(clientObject.getAvailableServiceAliases(), this);
+ }
+ return availableServiceAliases;
+ }
+
+ /**
+ * Gets the resource collection API of AzureFirewalls.
+ *
+ * @return Resource collection API of AzureFirewalls.
+ */
+ public AzureFirewalls azureFirewalls() {
+ if (this.azureFirewalls == null) {
+ this.azureFirewalls = new AzureFirewallsImpl(clientObject.getAzureFirewalls(), this);
+ }
+ return azureFirewalls;
+ }
+
+ /**
+ * Gets the resource collection API of AzureFirewallFqdnTags.
+ *
+ * @return Resource collection API of AzureFirewallFqdnTags.
+ */
+ public AzureFirewallFqdnTags azureFirewallFqdnTags() {
+ if (this.azureFirewallFqdnTags == null) {
+ this.azureFirewallFqdnTags = new AzureFirewallFqdnTagsImpl(clientObject.getAzureFirewallFqdnTags(), this);
+ }
+ return azureFirewallFqdnTags;
+ }
+
+ /**
+ * Gets the resource collection API of WebCategories.
+ *
+ * @return Resource collection API of WebCategories.
+ */
+ public WebCategories webCategories() {
+ if (this.webCategories == null) {
+ this.webCategories = new WebCategoriesImpl(clientObject.getWebCategories(), this);
+ }
+ return webCategories;
+ }
+
+ /**
+ * Gets the resource collection API of BastionHosts.
+ *
+ * @return Resource collection API of BastionHosts.
+ */
+ public BastionHosts bastionHosts() {
+ if (this.bastionHosts == null) {
+ this.bastionHosts = new BastionHostsImpl(clientObject.getBastionHosts(), this);
+ }
+ return bastionHosts;
+ }
+
+ /**
+ * Gets the resource collection API of ResourceProviders.
+ *
+ * @return Resource collection API of ResourceProviders.
+ */
+ public ResourceProviders resourceProviders() {
+ if (this.resourceProviders == null) {
+ this.resourceProviders = new ResourceProvidersImpl(clientObject.getResourceProviders(), this);
+ }
+ return resourceProviders;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkInterfaces.
+ *
+ * @return Resource collection API of NetworkInterfaces.
+ */
+ public NetworkInterfaces networkInterfaces() {
+ if (this.networkInterfaces == null) {
+ this.networkInterfaces = new NetworkInterfacesImpl(clientObject.getNetworkInterfaces(), this);
+ }
+ return networkInterfaces;
+ }
+
+ /**
+ * Gets the resource collection API of PublicIpAddresses.
+ *
+ * @return Resource collection API of PublicIpAddresses.
+ */
+ public PublicIpAddresses publicIpAddresses() {
+ if (this.publicIpAddresses == null) {
+ this.publicIpAddresses = new PublicIpAddressesImpl(clientObject.getPublicIpAddresses(), this);
+ }
+ return publicIpAddresses;
+ }
+
+ /**
+ * Gets the resource collection API of CustomIpPrefixes.
+ *
+ * @return Resource collection API of CustomIpPrefixes.
+ */
+ public CustomIpPrefixes customIpPrefixes() {
+ if (this.customIpPrefixes == null) {
+ this.customIpPrefixes = new CustomIpPrefixesImpl(clientObject.getCustomIpPrefixes(), this);
+ }
+ return customIpPrefixes;
+ }
+
+ /**
+ * Gets the resource collection API of DdosCustomPolicies.
+ *
+ * @return Resource collection API of DdosCustomPolicies.
+ */
+ public DdosCustomPolicies ddosCustomPolicies() {
+ if (this.ddosCustomPolicies == null) {
+ this.ddosCustomPolicies = new DdosCustomPoliciesImpl(clientObject.getDdosCustomPolicies(), this);
+ }
+ return ddosCustomPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DdosProtectionPlans.
+ *
+ * @return Resource collection API of DdosProtectionPlans.
+ */
+ public DdosProtectionPlans ddosProtectionPlans() {
+ if (this.ddosProtectionPlans == null) {
+ this.ddosProtectionPlans = new DdosProtectionPlansImpl(clientObject.getDdosProtectionPlans(), this);
+ }
+ return ddosProtectionPlans;
+ }
+
+ /**
+ * Gets the resource collection API of DscpConfigurations.
+ *
+ * @return Resource collection API of DscpConfigurations.
+ */
+ public DscpConfigurations dscpConfigurations() {
+ if (this.dscpConfigurations == null) {
+ this.dscpConfigurations = new DscpConfigurationsImpl(clientObject.getDscpConfigurations(), this);
+ }
+ return dscpConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of AvailableEndpointServices.
+ *
+ * @return Resource collection API of AvailableEndpointServices.
+ */
+ public AvailableEndpointServices availableEndpointServices() {
+ if (this.availableEndpointServices == null) {
+ this.availableEndpointServices =
+ new AvailableEndpointServicesImpl(clientObject.getAvailableEndpointServices(), this);
+ }
+ return availableEndpointServices;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCircuitAuthorizations.
+ *
+ * @return Resource collection API of ExpressRouteCircuitAuthorizations.
+ */
+ public ExpressRouteCircuitAuthorizations expressRouteCircuitAuthorizations() {
+ if (this.expressRouteCircuitAuthorizations == null) {
+ this.expressRouteCircuitAuthorizations =
+ new ExpressRouteCircuitAuthorizationsImpl(clientObject.getExpressRouteCircuitAuthorizations(), this);
+ }
+ return expressRouteCircuitAuthorizations;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCircuitPeerings.
+ *
+ * @return Resource collection API of ExpressRouteCircuitPeerings.
+ */
+ public ExpressRouteCircuitPeerings expressRouteCircuitPeerings() {
+ if (this.expressRouteCircuitPeerings == null) {
+ this.expressRouteCircuitPeerings =
+ new ExpressRouteCircuitPeeringsImpl(clientObject.getExpressRouteCircuitPeerings(), this);
+ }
+ return expressRouteCircuitPeerings;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCircuitConnections.
+ *
+ * @return Resource collection API of ExpressRouteCircuitConnections.
+ */
+ public ExpressRouteCircuitConnections expressRouteCircuitConnections() {
+ if (this.expressRouteCircuitConnections == null) {
+ this.expressRouteCircuitConnections =
+ new ExpressRouteCircuitConnectionsImpl(clientObject.getExpressRouteCircuitConnections(), this);
+ }
+ return expressRouteCircuitConnections;
+ }
+
+ /**
+ * Gets the resource collection API of PeerExpressRouteCircuitConnections.
+ *
+ * @return Resource collection API of PeerExpressRouteCircuitConnections.
+ */
+ public PeerExpressRouteCircuitConnections peerExpressRouteCircuitConnections() {
+ if (this.peerExpressRouteCircuitConnections == null) {
+ this.peerExpressRouteCircuitConnections =
+ new PeerExpressRouteCircuitConnectionsImpl(clientObject.getPeerExpressRouteCircuitConnections(), this);
+ }
+ return peerExpressRouteCircuitConnections;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCircuits.
+ *
+ * @return Resource collection API of ExpressRouteCircuits.
+ */
+ public ExpressRouteCircuits expressRouteCircuits() {
+ if (this.expressRouteCircuits == null) {
+ this.expressRouteCircuits = new ExpressRouteCircuitsImpl(clientObject.getExpressRouteCircuits(), this);
+ }
+ return expressRouteCircuits;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteServiceProviders.
+ *
+ * @return Resource collection API of ExpressRouteServiceProviders.
+ */
+ public ExpressRouteServiceProviders expressRouteServiceProviders() {
+ if (this.expressRouteServiceProviders == null) {
+ this.expressRouteServiceProviders =
+ new ExpressRouteServiceProvidersImpl(clientObject.getExpressRouteServiceProviders(), this);
+ }
+ return expressRouteServiceProviders;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCrossConnections.
+ *
+ * @return Resource collection API of ExpressRouteCrossConnections.
+ */
+ public ExpressRouteCrossConnections expressRouteCrossConnections() {
+ if (this.expressRouteCrossConnections == null) {
+ this.expressRouteCrossConnections =
+ new ExpressRouteCrossConnectionsImpl(clientObject.getExpressRouteCrossConnections(), this);
+ }
+ return expressRouteCrossConnections;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteCrossConnectionPeerings.
+ *
+ * @return Resource collection API of ExpressRouteCrossConnectionPeerings.
+ */
+ public ExpressRouteCrossConnectionPeerings expressRouteCrossConnectionPeerings() {
+ if (this.expressRouteCrossConnectionPeerings == null) {
+ this.expressRouteCrossConnectionPeerings =
+ new ExpressRouteCrossConnectionPeeringsImpl(
+ clientObject.getExpressRouteCrossConnectionPeerings(), this);
+ }
+ return expressRouteCrossConnectionPeerings;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRoutePortsLocations.
+ *
+ * @return Resource collection API of ExpressRoutePortsLocations.
+ */
+ public ExpressRoutePortsLocations expressRoutePortsLocations() {
+ if (this.expressRoutePortsLocations == null) {
+ this.expressRoutePortsLocations =
+ new ExpressRoutePortsLocationsImpl(clientObject.getExpressRoutePortsLocations(), this);
+ }
+ return expressRoutePortsLocations;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRoutePorts.
+ *
+ * @return Resource collection API of ExpressRoutePorts.
+ */
+ public ExpressRoutePorts expressRoutePorts() {
+ if (this.expressRoutePorts == null) {
+ this.expressRoutePorts = new ExpressRoutePortsImpl(clientObject.getExpressRoutePorts(), this);
+ }
+ return expressRoutePorts;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteLinks.
+ *
+ * @return Resource collection API of ExpressRouteLinks.
+ */
+ public ExpressRouteLinks expressRouteLinks() {
+ if (this.expressRouteLinks == null) {
+ this.expressRouteLinks = new ExpressRouteLinksImpl(clientObject.getExpressRouteLinks(), this);
+ }
+ return expressRouteLinks;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRoutePortAuthorizations.
+ *
+ * @return Resource collection API of ExpressRoutePortAuthorizations.
+ */
+ public ExpressRoutePortAuthorizations expressRoutePortAuthorizations() {
+ if (this.expressRoutePortAuthorizations == null) {
+ this.expressRoutePortAuthorizations =
+ new ExpressRoutePortAuthorizationsImpl(clientObject.getExpressRoutePortAuthorizations(), this);
+ }
+ return expressRoutePortAuthorizations;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallPolicies.
+ *
+ * @return Resource collection API of FirewallPolicies.
+ */
+ public FirewallPolicies firewallPolicies() {
+ if (this.firewallPolicies == null) {
+ this.firewallPolicies = new FirewallPoliciesImpl(clientObject.getFirewallPolicies(), this);
+ }
+ return firewallPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallPolicyRuleCollectionGroups.
+ *
+ * @return Resource collection API of FirewallPolicyRuleCollectionGroups.
+ */
+ public FirewallPolicyRuleCollectionGroups firewallPolicyRuleCollectionGroups() {
+ if (this.firewallPolicyRuleCollectionGroups == null) {
+ this.firewallPolicyRuleCollectionGroups =
+ new FirewallPolicyRuleCollectionGroupsImpl(clientObject.getFirewallPolicyRuleCollectionGroups(), this);
+ }
+ return firewallPolicyRuleCollectionGroups;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallPolicyIdpsSignatures.
+ *
+ * @return Resource collection API of FirewallPolicyIdpsSignatures.
+ */
+ public FirewallPolicyIdpsSignatures firewallPolicyIdpsSignatures() {
+ if (this.firewallPolicyIdpsSignatures == null) {
+ this.firewallPolicyIdpsSignatures =
+ new FirewallPolicyIdpsSignaturesImpl(clientObject.getFirewallPolicyIdpsSignatures(), this);
+ }
+ return firewallPolicyIdpsSignatures;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallPolicyIdpsSignaturesOverrides.
+ *
+ * @return Resource collection API of FirewallPolicyIdpsSignaturesOverrides.
+ */
+ public FirewallPolicyIdpsSignaturesOverrides firewallPolicyIdpsSignaturesOverrides() {
+ if (this.firewallPolicyIdpsSignaturesOverrides == null) {
+ this.firewallPolicyIdpsSignaturesOverrides =
+ new FirewallPolicyIdpsSignaturesOverridesImpl(
+ clientObject.getFirewallPolicyIdpsSignaturesOverrides(), this);
+ }
+ return firewallPolicyIdpsSignaturesOverrides;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallPolicyIdpsSignaturesFilterValues.
+ *
+ * @return Resource collection API of FirewallPolicyIdpsSignaturesFilterValues.
+ */
+ public FirewallPolicyIdpsSignaturesFilterValues firewallPolicyIdpsSignaturesFilterValues() {
+ if (this.firewallPolicyIdpsSignaturesFilterValues == null) {
+ this.firewallPolicyIdpsSignaturesFilterValues =
+ new FirewallPolicyIdpsSignaturesFilterValuesImpl(
+ clientObject.getFirewallPolicyIdpsSignaturesFilterValues(), this);
+ }
+ return firewallPolicyIdpsSignaturesFilterValues;
+ }
+
+ /**
+ * Gets the resource collection API of IpAllocations.
+ *
+ * @return Resource collection API of IpAllocations.
+ */
+ public IpAllocations ipAllocations() {
+ if (this.ipAllocations == null) {
+ this.ipAllocations = new IpAllocationsImpl(clientObject.getIpAllocations(), this);
+ }
+ return ipAllocations;
+ }
+
+ /**
+ * Gets the resource collection API of IpGroups.
+ *
+ * @return Resource collection API of IpGroups.
+ */
+ public IpGroups ipGroups() {
+ if (this.ipGroups == null) {
+ this.ipGroups = new IpGroupsImpl(clientObject.getIpGroups(), this);
+ }
+ return ipGroups;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancers.
+ *
+ * @return Resource collection API of LoadBalancers.
+ */
+ public LoadBalancers loadBalancers() {
+ if (this.loadBalancers == null) {
+ this.loadBalancers = new LoadBalancersImpl(clientObject.getLoadBalancers(), this);
+ }
+ return loadBalancers;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerBackendAddressPools.
+ *
+ * @return Resource collection API of LoadBalancerBackendAddressPools.
+ */
+ public LoadBalancerBackendAddressPools loadBalancerBackendAddressPools() {
+ if (this.loadBalancerBackendAddressPools == null) {
+ this.loadBalancerBackendAddressPools =
+ new LoadBalancerBackendAddressPoolsImpl(clientObject.getLoadBalancerBackendAddressPools(), this);
+ }
+ return loadBalancerBackendAddressPools;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerFrontendIpConfigurations.
+ *
+ * @return Resource collection API of LoadBalancerFrontendIpConfigurations.
+ */
+ public LoadBalancerFrontendIpConfigurations loadBalancerFrontendIpConfigurations() {
+ if (this.loadBalancerFrontendIpConfigurations == null) {
+ this.loadBalancerFrontendIpConfigurations =
+ new LoadBalancerFrontendIpConfigurationsImpl(
+ clientObject.getLoadBalancerFrontendIpConfigurations(), this);
+ }
+ return loadBalancerFrontendIpConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of InboundNatRules.
+ *
+ * @return Resource collection API of InboundNatRules.
+ */
+ public InboundNatRules inboundNatRules() {
+ if (this.inboundNatRules == null) {
+ this.inboundNatRules = new InboundNatRulesImpl(clientObject.getInboundNatRules(), this);
+ }
+ return inboundNatRules;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerLoadBalancingRules.
+ *
+ * @return Resource collection API of LoadBalancerLoadBalancingRules.
+ */
+ public LoadBalancerLoadBalancingRules loadBalancerLoadBalancingRules() {
+ if (this.loadBalancerLoadBalancingRules == null) {
+ this.loadBalancerLoadBalancingRules =
+ new LoadBalancerLoadBalancingRulesImpl(clientObject.getLoadBalancerLoadBalancingRules(), this);
+ }
+ return loadBalancerLoadBalancingRules;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerOutboundRules.
+ *
+ * @return Resource collection API of LoadBalancerOutboundRules.
+ */
+ public LoadBalancerOutboundRules loadBalancerOutboundRules() {
+ if (this.loadBalancerOutboundRules == null) {
+ this.loadBalancerOutboundRules =
+ new LoadBalancerOutboundRulesImpl(clientObject.getLoadBalancerOutboundRules(), this);
+ }
+ return loadBalancerOutboundRules;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerNetworkInterfaces.
+ *
+ * @return Resource collection API of LoadBalancerNetworkInterfaces.
+ */
+ public LoadBalancerNetworkInterfaces loadBalancerNetworkInterfaces() {
+ if (this.loadBalancerNetworkInterfaces == null) {
+ this.loadBalancerNetworkInterfaces =
+ new LoadBalancerNetworkInterfacesImpl(clientObject.getLoadBalancerNetworkInterfaces(), this);
+ }
+ return loadBalancerNetworkInterfaces;
+ }
+
+ /**
+ * Gets the resource collection API of LoadBalancerProbes.
+ *
+ * @return Resource collection API of LoadBalancerProbes.
+ */
+ public LoadBalancerProbes loadBalancerProbes() {
+ if (this.loadBalancerProbes == null) {
+ this.loadBalancerProbes = new LoadBalancerProbesImpl(clientObject.getLoadBalancerProbes(), this);
+ }
+ return loadBalancerProbes;
+ }
+
+ /**
+ * Gets the resource collection API of NatGateways.
+ *
+ * @return Resource collection API of NatGateways.
+ */
+ public NatGateways natGateways() {
+ if (this.natGateways == null) {
+ this.natGateways = new NatGatewaysImpl(clientObject.getNatGateways(), this);
+ }
+ return natGateways;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkInterfaceIpConfigurations.
+ *
+ * @return Resource collection API of NetworkInterfaceIpConfigurations.
+ */
+ public NetworkInterfaceIpConfigurations networkInterfaceIpConfigurations() {
+ if (this.networkInterfaceIpConfigurations == null) {
+ this.networkInterfaceIpConfigurations =
+ new NetworkInterfaceIpConfigurationsImpl(clientObject.getNetworkInterfaceIpConfigurations(), this);
+ }
+ return networkInterfaceIpConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkInterfaceLoadBalancers.
+ *
+ * @return Resource collection API of NetworkInterfaceLoadBalancers.
+ */
+ public NetworkInterfaceLoadBalancers networkInterfaceLoadBalancers() {
+ if (this.networkInterfaceLoadBalancers == null) {
+ this.networkInterfaceLoadBalancers =
+ new NetworkInterfaceLoadBalancersImpl(clientObject.getNetworkInterfaceLoadBalancers(), this);
+ }
+ return networkInterfaceLoadBalancers;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkInterfaceTapConfigurations.
+ *
+ * @return Resource collection API of NetworkInterfaceTapConfigurations.
+ */
+ public NetworkInterfaceTapConfigurations networkInterfaceTapConfigurations() {
+ if (this.networkInterfaceTapConfigurations == null) {
+ this.networkInterfaceTapConfigurations =
+ new NetworkInterfaceTapConfigurationsImpl(clientObject.getNetworkInterfaceTapConfigurations(), this);
+ }
+ return networkInterfaceTapConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkProfiles.
+ *
+ * @return Resource collection API of NetworkProfiles.
+ */
+ public NetworkProfiles networkProfiles() {
+ if (this.networkProfiles == null) {
+ this.networkProfiles = new NetworkProfilesImpl(clientObject.getNetworkProfiles(), this);
+ }
+ return networkProfiles;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkSecurityGroups.
+ *
+ * @return Resource collection API of NetworkSecurityGroups.
+ */
+ public NetworkSecurityGroups networkSecurityGroups() {
+ if (this.networkSecurityGroups == null) {
+ this.networkSecurityGroups = new NetworkSecurityGroupsImpl(clientObject.getNetworkSecurityGroups(), this);
+ }
+ return networkSecurityGroups;
+ }
+
+ /**
+ * Gets the resource collection API of SecurityRules.
+ *
+ * @return Resource collection API of SecurityRules.
+ */
+ public SecurityRules securityRules() {
+ if (this.securityRules == null) {
+ this.securityRules = new SecurityRulesImpl(clientObject.getSecurityRules(), this);
+ }
+ return securityRules;
+ }
+
+ /**
+ * Gets the resource collection API of DefaultSecurityRules.
+ *
+ * @return Resource collection API of DefaultSecurityRules.
+ */
+ public DefaultSecurityRules defaultSecurityRules() {
+ if (this.defaultSecurityRules == null) {
+ this.defaultSecurityRules = new DefaultSecurityRulesImpl(clientObject.getDefaultSecurityRules(), this);
+ }
+ return defaultSecurityRules;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkVirtualAppliances.
+ *
+ * @return Resource collection API of NetworkVirtualAppliances.
+ */
+ public NetworkVirtualAppliances networkVirtualAppliances() {
+ if (this.networkVirtualAppliances == null) {
+ this.networkVirtualAppliances =
+ new NetworkVirtualAppliancesImpl(clientObject.getNetworkVirtualAppliances(), this);
+ }
+ return networkVirtualAppliances;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualApplianceSites.
+ *
+ * @return Resource collection API of VirtualApplianceSites.
+ */
+ public VirtualApplianceSites virtualApplianceSites() {
+ if (this.virtualApplianceSites == null) {
+ this.virtualApplianceSites = new VirtualApplianceSitesImpl(clientObject.getVirtualApplianceSites(), this);
+ }
+ return virtualApplianceSites;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualApplianceSkus.
+ *
+ * @return Resource collection API of VirtualApplianceSkus.
+ */
+ public VirtualApplianceSkus virtualApplianceSkus() {
+ if (this.virtualApplianceSkus == null) {
+ this.virtualApplianceSkus = new VirtualApplianceSkusImpl(clientObject.getVirtualApplianceSkus(), this);
+ }
+ return virtualApplianceSkus;
+ }
+
+ /**
+ * Gets the resource collection API of InboundSecurityRuleOperations.
+ *
+ * @return Resource collection API of InboundSecurityRuleOperations.
+ */
+ public InboundSecurityRuleOperations inboundSecurityRuleOperations() {
+ if (this.inboundSecurityRuleOperations == null) {
+ this.inboundSecurityRuleOperations =
+ new InboundSecurityRuleOperationsImpl(clientObject.getInboundSecurityRuleOperations(), this);
+ }
+ return inboundSecurityRuleOperations;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkWatchers.
+ *
+ * @return Resource collection API of NetworkWatchers.
+ */
+ public NetworkWatchers networkWatchers() {
+ if (this.networkWatchers == null) {
+ this.networkWatchers = new NetworkWatchersImpl(clientObject.getNetworkWatchers(), this);
+ }
+ return networkWatchers;
+ }
+
+ /**
+ * Gets the resource collection API of PacketCaptures.
+ *
+ * @return Resource collection API of PacketCaptures.
+ */
+ public PacketCaptures packetCaptures() {
+ if (this.packetCaptures == null) {
+ this.packetCaptures = new PacketCapturesImpl(clientObject.getPacketCaptures(), this);
+ }
+ return packetCaptures;
+ }
+
+ /**
+ * Gets the resource collection API of ConnectionMonitors.
+ *
+ * @return Resource collection API of ConnectionMonitors.
+ */
+ public ConnectionMonitors connectionMonitors() {
+ if (this.connectionMonitors == null) {
+ this.connectionMonitors = new ConnectionMonitorsImpl(clientObject.getConnectionMonitors(), this);
+ }
+ return connectionMonitors;
+ }
+
+ /**
+ * Gets the resource collection API of FlowLogs.
+ *
+ * @return Resource collection API of FlowLogs.
+ */
+ public FlowLogs flowLogs() {
+ if (this.flowLogs == null) {
+ this.flowLogs = new FlowLogsImpl(clientObject.getFlowLogs(), this);
+ }
+ return flowLogs;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpoints.
+ *
+ * @return Resource collection API of PrivateEndpoints.
+ */
+ public PrivateEndpoints privateEndpoints() {
+ if (this.privateEndpoints == null) {
+ this.privateEndpoints = new PrivateEndpointsImpl(clientObject.getPrivateEndpoints(), this);
+ }
+ return privateEndpoints;
+ }
+
+ /**
+ * Gets the resource collection API of AvailablePrivateEndpointTypes.
+ *
+ * @return Resource collection API of AvailablePrivateEndpointTypes.
+ */
+ public AvailablePrivateEndpointTypes availablePrivateEndpointTypes() {
+ if (this.availablePrivateEndpointTypes == null) {
+ this.availablePrivateEndpointTypes =
+ new AvailablePrivateEndpointTypesImpl(clientObject.getAvailablePrivateEndpointTypes(), this);
+ }
+ return availablePrivateEndpointTypes;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateDnsZoneGroups.
+ *
+ * @return Resource collection API of PrivateDnsZoneGroups.
+ */
+ public PrivateDnsZoneGroups privateDnsZoneGroups() {
+ if (this.privateDnsZoneGroups == null) {
+ this.privateDnsZoneGroups = new PrivateDnsZoneGroupsImpl(clientObject.getPrivateDnsZoneGroups(), this);
+ }
+ return privateDnsZoneGroups;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkServices.
+ *
+ * @return Resource collection API of PrivateLinkServices.
+ */
+ public PrivateLinkServices privateLinkServices() {
+ if (this.privateLinkServices == null) {
+ this.privateLinkServices = new PrivateLinkServicesImpl(clientObject.getPrivateLinkServices(), this);
+ }
+ return privateLinkServices;
+ }
+
+ /**
+ * Gets the resource collection API of PublicIpPrefixes.
+ *
+ * @return Resource collection API of PublicIpPrefixes.
+ */
+ public PublicIpPrefixes publicIpPrefixes() {
+ if (this.publicIpPrefixes == null) {
+ this.publicIpPrefixes = new PublicIpPrefixesImpl(clientObject.getPublicIpPrefixes(), this);
+ }
+ return publicIpPrefixes;
+ }
+
+ /**
+ * Gets the resource collection API of RouteFilters.
+ *
+ * @return Resource collection API of RouteFilters.
+ */
+ public RouteFilters routeFilters() {
+ if (this.routeFilters == null) {
+ this.routeFilters = new RouteFiltersImpl(clientObject.getRouteFilters(), this);
+ }
+ return routeFilters;
+ }
+
+ /**
+ * Gets the resource collection API of RouteFilterRules.
+ *
+ * @return Resource collection API of RouteFilterRules.
+ */
+ public RouteFilterRules routeFilterRules() {
+ if (this.routeFilterRules == null) {
+ this.routeFilterRules = new RouteFilterRulesImpl(clientObject.getRouteFilterRules(), this);
+ }
+ return routeFilterRules;
+ }
+
+ /**
+ * Gets the resource collection API of RouteTables.
+ *
+ * @return Resource collection API of RouteTables.
+ */
+ public RouteTables routeTables() {
+ if (this.routeTables == null) {
+ this.routeTables = new RouteTablesImpl(clientObject.getRouteTables(), this);
+ }
+ return routeTables;
+ }
+
+ /**
+ * Gets the resource collection API of Routes.
+ *
+ * @return Resource collection API of Routes.
+ */
+ public Routes routes() {
+ if (this.routes == null) {
+ this.routes = new RoutesImpl(clientObject.getRoutes(), this);
+ }
+ return routes;
+ }
+
+ /**
+ * Gets the resource collection API of SecurityPartnerProviders.
+ *
+ * @return Resource collection API of SecurityPartnerProviders.
+ */
+ public SecurityPartnerProviders securityPartnerProviders() {
+ if (this.securityPartnerProviders == null) {
+ this.securityPartnerProviders =
+ new SecurityPartnerProvidersImpl(clientObject.getSecurityPartnerProviders(), this);
+ }
+ return securityPartnerProviders;
+ }
+
+ /**
+ * Gets the resource collection API of BgpServiceCommunities.
+ *
+ * @return Resource collection API of BgpServiceCommunities.
+ */
+ public BgpServiceCommunities bgpServiceCommunities() {
+ if (this.bgpServiceCommunities == null) {
+ this.bgpServiceCommunities = new BgpServiceCommunitiesImpl(clientObject.getBgpServiceCommunities(), this);
+ }
+ return bgpServiceCommunities;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceEndpointPolicies.
+ *
+ * @return Resource collection API of ServiceEndpointPolicies.
+ */
+ public ServiceEndpointPolicies serviceEndpointPolicies() {
+ if (this.serviceEndpointPolicies == null) {
+ this.serviceEndpointPolicies =
+ new ServiceEndpointPoliciesImpl(clientObject.getServiceEndpointPolicies(), this);
+ }
+ return serviceEndpointPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceEndpointPolicyDefinitions.
+ *
+ * @return Resource collection API of ServiceEndpointPolicyDefinitions.
+ */
+ public ServiceEndpointPolicyDefinitions serviceEndpointPolicyDefinitions() {
+ if (this.serviceEndpointPolicyDefinitions == null) {
+ this.serviceEndpointPolicyDefinitions =
+ new ServiceEndpointPolicyDefinitionsImpl(clientObject.getServiceEndpointPolicyDefinitions(), this);
+ }
+ return serviceEndpointPolicyDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceTags.
+ *
+ * @return Resource collection API of ServiceTags.
+ */
+ public ServiceTags serviceTags() {
+ if (this.serviceTags == null) {
+ this.serviceTags = new ServiceTagsImpl(clientObject.getServiceTags(), this);
+ }
+ return serviceTags;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceTagInformations.
+ *
+ * @return Resource collection API of ServiceTagInformations.
+ */
+ public ServiceTagInformations serviceTagInformations() {
+ if (this.serviceTagInformations == null) {
+ this.serviceTagInformations =
+ new ServiceTagInformationsImpl(clientObject.getServiceTagInformations(), this);
+ }
+ return serviceTagInformations;
+ }
+
+ /**
+ * Gets the resource collection API of Usages.
+ *
+ * @return Resource collection API of Usages.
+ */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworks.
+ *
+ * @return Resource collection API of VirtualNetworks.
+ */
+ public VirtualNetworks virtualNetworks() {
+ if (this.virtualNetworks == null) {
+ this.virtualNetworks = new VirtualNetworksImpl(clientObject.getVirtualNetworks(), this);
+ }
+ return virtualNetworks;
+ }
+
+ /**
+ * Gets the resource collection API of Subnets.
+ *
+ * @return Resource collection API of Subnets.
+ */
+ public Subnets subnets() {
+ if (this.subnets == null) {
+ this.subnets = new SubnetsImpl(clientObject.getSubnets(), this);
+ }
+ return subnets;
+ }
+
+ /**
+ * Gets the resource collection API of ResourceNavigationLinks.
+ *
+ * @return Resource collection API of ResourceNavigationLinks.
+ */
+ public ResourceNavigationLinks resourceNavigationLinks() {
+ if (this.resourceNavigationLinks == null) {
+ this.resourceNavigationLinks =
+ new ResourceNavigationLinksImpl(clientObject.getResourceNavigationLinks(), this);
+ }
+ return resourceNavigationLinks;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceAssociationLinks.
+ *
+ * @return Resource collection API of ServiceAssociationLinks.
+ */
+ public ServiceAssociationLinks serviceAssociationLinks() {
+ if (this.serviceAssociationLinks == null) {
+ this.serviceAssociationLinks =
+ new ServiceAssociationLinksImpl(clientObject.getServiceAssociationLinks(), this);
+ }
+ return serviceAssociationLinks;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkPeerings.
+ *
+ * @return Resource collection API of VirtualNetworkPeerings.
+ */
+ public VirtualNetworkPeerings virtualNetworkPeerings() {
+ if (this.virtualNetworkPeerings == null) {
+ this.virtualNetworkPeerings =
+ new VirtualNetworkPeeringsImpl(clientObject.getVirtualNetworkPeerings(), this);
+ }
+ return virtualNetworkPeerings;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkGateways.
+ *
+ * @return Resource collection API of VirtualNetworkGateways.
+ */
+ public VirtualNetworkGateways virtualNetworkGateways() {
+ if (this.virtualNetworkGateways == null) {
+ this.virtualNetworkGateways =
+ new VirtualNetworkGatewaysImpl(clientObject.getVirtualNetworkGateways(), this);
+ }
+ return virtualNetworkGateways;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkGatewayConnections.
+ *
+ * @return Resource collection API of VirtualNetworkGatewayConnections.
+ */
+ public VirtualNetworkGatewayConnections virtualNetworkGatewayConnections() {
+ if (this.virtualNetworkGatewayConnections == null) {
+ this.virtualNetworkGatewayConnections =
+ new VirtualNetworkGatewayConnectionsImpl(clientObject.getVirtualNetworkGatewayConnections(), this);
+ }
+ return virtualNetworkGatewayConnections;
+ }
+
+ /**
+ * Gets the resource collection API of LocalNetworkGateways.
+ *
+ * @return Resource collection API of LocalNetworkGateways.
+ */
+ public LocalNetworkGateways localNetworkGateways() {
+ if (this.localNetworkGateways == null) {
+ this.localNetworkGateways = new LocalNetworkGatewaysImpl(clientObject.getLocalNetworkGateways(), this);
+ }
+ return localNetworkGateways;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkGatewayNatRules.
+ *
+ * @return Resource collection API of VirtualNetworkGatewayNatRules.
+ */
+ public VirtualNetworkGatewayNatRules virtualNetworkGatewayNatRules() {
+ if (this.virtualNetworkGatewayNatRules == null) {
+ this.virtualNetworkGatewayNatRules =
+ new VirtualNetworkGatewayNatRulesImpl(clientObject.getVirtualNetworkGatewayNatRules(), this);
+ }
+ return virtualNetworkGatewayNatRules;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkTaps.
+ *
+ * @return Resource collection API of VirtualNetworkTaps.
+ */
+ public VirtualNetworkTaps virtualNetworkTaps() {
+ if (this.virtualNetworkTaps == null) {
+ this.virtualNetworkTaps = new VirtualNetworkTapsImpl(clientObject.getVirtualNetworkTaps(), this);
+ }
+ return virtualNetworkTaps;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualRouters.
+ *
+ * @return Resource collection API of VirtualRouters.
+ */
+ public VirtualRouters virtualRouters() {
+ if (this.virtualRouters == null) {
+ this.virtualRouters = new VirtualRoutersImpl(clientObject.getVirtualRouters(), this);
+ }
+ return virtualRouters;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualRouterPeerings.
+ *
+ * @return Resource collection API of VirtualRouterPeerings.
+ */
+ public VirtualRouterPeerings virtualRouterPeerings() {
+ if (this.virtualRouterPeerings == null) {
+ this.virtualRouterPeerings = new VirtualRouterPeeringsImpl(clientObject.getVirtualRouterPeerings(), this);
+ }
+ return virtualRouterPeerings;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualWans.
+ *
+ * @return Resource collection API of VirtualWans.
+ */
+ public VirtualWans virtualWans() {
+ if (this.virtualWans == null) {
+ this.virtualWans = new VirtualWansImpl(clientObject.getVirtualWans(), this);
+ }
+ return virtualWans;
+ }
+
+ /**
+ * Gets the resource collection API of VpnSites.
+ *
+ * @return Resource collection API of VpnSites.
+ */
+ public VpnSites vpnSites() {
+ if (this.vpnSites == null) {
+ this.vpnSites = new VpnSitesImpl(clientObject.getVpnSites(), this);
+ }
+ return vpnSites;
+ }
+
+ /**
+ * Gets the resource collection API of VpnSiteLinks.
+ *
+ * @return Resource collection API of VpnSiteLinks.
+ */
+ public VpnSiteLinks vpnSiteLinks() {
+ if (this.vpnSiteLinks == null) {
+ this.vpnSiteLinks = new VpnSiteLinksImpl(clientObject.getVpnSiteLinks(), this);
+ }
+ return vpnSiteLinks;
+ }
+
+ /**
+ * Gets the resource collection API of VpnSitesConfigurations.
+ *
+ * @return Resource collection API of VpnSitesConfigurations.
+ */
+ public VpnSitesConfigurations vpnSitesConfigurations() {
+ if (this.vpnSitesConfigurations == null) {
+ this.vpnSitesConfigurations =
+ new VpnSitesConfigurationsImpl(clientObject.getVpnSitesConfigurations(), this);
+ }
+ return vpnSitesConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of VpnServerConfigurations.
+ *
+ * @return Resource collection API of VpnServerConfigurations.
+ */
+ public VpnServerConfigurations vpnServerConfigurations() {
+ if (this.vpnServerConfigurations == null) {
+ this.vpnServerConfigurations =
+ new VpnServerConfigurationsImpl(clientObject.getVpnServerConfigurations(), this);
+ }
+ return vpnServerConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of ConfigurationPolicyGroups.
+ *
+ * @return Resource collection API of ConfigurationPolicyGroups.
+ */
+ public ConfigurationPolicyGroups configurationPolicyGroups() {
+ if (this.configurationPolicyGroups == null) {
+ this.configurationPolicyGroups =
+ new ConfigurationPolicyGroupsImpl(clientObject.getConfigurationPolicyGroups(), this);
+ }
+ return configurationPolicyGroups;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualHubs.
+ *
+ * @return Resource collection API of VirtualHubs.
+ */
+ public VirtualHubs virtualHubs() {
+ if (this.virtualHubs == null) {
+ this.virtualHubs = new VirtualHubsImpl(clientObject.getVirtualHubs(), this);
+ }
+ return virtualHubs;
+ }
+
+ /**
+ * Gets the resource collection API of HubVirtualNetworkConnections.
+ *
+ * @return Resource collection API of HubVirtualNetworkConnections.
+ */
+ public HubVirtualNetworkConnections hubVirtualNetworkConnections() {
+ if (this.hubVirtualNetworkConnections == null) {
+ this.hubVirtualNetworkConnections =
+ new HubVirtualNetworkConnectionsImpl(clientObject.getHubVirtualNetworkConnections(), this);
+ }
+ return hubVirtualNetworkConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VpnGateways.
+ *
+ * @return Resource collection API of VpnGateways.
+ */
+ public VpnGateways vpnGateways() {
+ if (this.vpnGateways == null) {
+ this.vpnGateways = new VpnGatewaysImpl(clientObject.getVpnGateways(), this);
+ }
+ return vpnGateways;
+ }
+
+ /**
+ * Gets the resource collection API of VpnLinkConnections.
+ *
+ * @return Resource collection API of VpnLinkConnections.
+ */
+ public VpnLinkConnections vpnLinkConnections() {
+ if (this.vpnLinkConnections == null) {
+ this.vpnLinkConnections = new VpnLinkConnectionsImpl(clientObject.getVpnLinkConnections(), this);
+ }
+ return vpnLinkConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VpnConnections.
+ *
+ * @return Resource collection API of VpnConnections.
+ */
+ public VpnConnections vpnConnections() {
+ if (this.vpnConnections == null) {
+ this.vpnConnections = new VpnConnectionsImpl(clientObject.getVpnConnections(), this);
+ }
+ return vpnConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VpnSiteLinkConnections.
+ *
+ * @return Resource collection API of VpnSiteLinkConnections.
+ */
+ public VpnSiteLinkConnections vpnSiteLinkConnections() {
+ if (this.vpnSiteLinkConnections == null) {
+ this.vpnSiteLinkConnections =
+ new VpnSiteLinkConnectionsImpl(clientObject.getVpnSiteLinkConnections(), this);
+ }
+ return vpnSiteLinkConnections;
+ }
+
+ /**
+ * Gets the resource collection API of NatRules.
+ *
+ * @return Resource collection API of NatRules.
+ */
+ public NatRules natRules() {
+ if (this.natRules == null) {
+ this.natRules = new NatRulesImpl(clientObject.getNatRules(), this);
+ }
+ return natRules;
+ }
+
+ /**
+ * Gets the resource collection API of P2SVpnGateways.
+ *
+ * @return Resource collection API of P2SVpnGateways.
+ */
+ public P2SVpnGateways p2SVpnGateways() {
+ if (this.p2SVpnGateways == null) {
+ this.p2SVpnGateways = new P2SVpnGatewaysImpl(clientObject.getP2SVpnGateways(), this);
+ }
+ return p2SVpnGateways;
+ }
+
+ /**
+ * Gets the resource collection API of VpnServerConfigurationsAssociatedWithVirtualWans.
+ *
+ * @return Resource collection API of VpnServerConfigurationsAssociatedWithVirtualWans.
+ */
+ public VpnServerConfigurationsAssociatedWithVirtualWans vpnServerConfigurationsAssociatedWithVirtualWans() {
+ if (this.vpnServerConfigurationsAssociatedWithVirtualWans == null) {
+ this.vpnServerConfigurationsAssociatedWithVirtualWans =
+ new VpnServerConfigurationsAssociatedWithVirtualWansImpl(
+ clientObject.getVpnServerConfigurationsAssociatedWithVirtualWans(), this);
+ }
+ return vpnServerConfigurationsAssociatedWithVirtualWans;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualHubRouteTableV2S.
+ *
+ * @return Resource collection API of VirtualHubRouteTableV2S.
+ */
+ public VirtualHubRouteTableV2S virtualHubRouteTableV2S() {
+ if (this.virtualHubRouteTableV2S == null) {
+ this.virtualHubRouteTableV2S =
+ new VirtualHubRouteTableV2SImpl(clientObject.getVirtualHubRouteTableV2S(), this);
+ }
+ return virtualHubRouteTableV2S;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteGateways.
+ *
+ * @return Resource collection API of ExpressRouteGateways.
+ */
+ public ExpressRouteGateways expressRouteGateways() {
+ if (this.expressRouteGateways == null) {
+ this.expressRouteGateways = new ExpressRouteGatewaysImpl(clientObject.getExpressRouteGateways(), this);
+ }
+ return expressRouteGateways;
+ }
+
+ /**
+ * Gets the resource collection API of ExpressRouteConnections.
+ *
+ * @return Resource collection API of ExpressRouteConnections.
+ */
+ public ExpressRouteConnections expressRouteConnections() {
+ if (this.expressRouteConnections == null) {
+ this.expressRouteConnections =
+ new ExpressRouteConnectionsImpl(clientObject.getExpressRouteConnections(), this);
+ }
+ return expressRouteConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualHubBgpConnections.
+ *
+ * @return Resource collection API of VirtualHubBgpConnections.
+ */
+ public VirtualHubBgpConnections virtualHubBgpConnections() {
+ if (this.virtualHubBgpConnections == null) {
+ this.virtualHubBgpConnections =
+ new VirtualHubBgpConnectionsImpl(clientObject.getVirtualHubBgpConnections(), this);
+ }
+ return virtualHubBgpConnections;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualHubIpConfigurations.
+ *
+ * @return Resource collection API of VirtualHubIpConfigurations.
+ */
+ public VirtualHubIpConfigurations virtualHubIpConfigurations() {
+ if (this.virtualHubIpConfigurations == null) {
+ this.virtualHubIpConfigurations =
+ new VirtualHubIpConfigurationsImpl(clientObject.getVirtualHubIpConfigurations(), this);
+ }
+ return virtualHubIpConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of HubRouteTables.
+ *
+ * @return Resource collection API of HubRouteTables.
+ */
+ public HubRouteTables hubRouteTables() {
+ if (this.hubRouteTables == null) {
+ this.hubRouteTables = new HubRouteTablesImpl(clientObject.getHubRouteTables(), this);
+ }
+ return hubRouteTables;
+ }
+
+ /**
+ * Gets the resource collection API of RoutingIntents.
+ *
+ * @return Resource collection API of RoutingIntents.
+ */
+ public RoutingIntents routingIntents() {
+ if (this.routingIntents == null) {
+ this.routingIntents = new RoutingIntentsImpl(clientObject.getRoutingIntents(), this);
+ }
+ return routingIntents;
+ }
+
+ /**
+ * Gets the resource collection API of WebApplicationFirewallPolicies.
+ *
+ * @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..f318572ce3f90
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateEndpointConnectionsClient.java
@@ -0,0 +1,226 @@
+// 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of private Endpoint connection on an application gateway.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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..31f249c89f5c2
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewayPrivateLinkResourcesClient.java
@@ -0,0 +1,48 @@
+// 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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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..247ce697598f1
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/ApplicationGatewaysClient.java
@@ -0,0 +1,701 @@
+// 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of application gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the backend health of the specified application gateway in a
+ * resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the backend health of the specified application gateway in a
+ * resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the backend health for given combination of backend pool and http
+ * setting of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the backend health for given combination of backend pool and http
+ * setting of the specified application gateway in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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..33bab2f7b730c
--- /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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an application security group in a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..8acb755128eaa
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableDelegationsClient.java
@@ -0,0 +1,41 @@
+// 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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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..4ec1759a59e09
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableEndpointServicesClient.java
@@ -0,0 +1,41 @@
+// 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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..018eef577ebb5
--- /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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..1c40fd31ad1a2
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableResourceGroupDelegationsClient.java
@@ -0,0 +1,45 @@
+// 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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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..ae2b9bb62dc5c
--- /dev/null
+++ b/sdk/network/azure-resourcemanager-network-generated/src/main/java/com/azure/resourcemanager/network/generated/fluent/AvailableServiceAliasesClient.java
@@ -0,0 +1,71 @@
+// 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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..f147838633f67
--- /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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..9d320bedb5bf1
--- /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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response