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 Cdn service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Cdn service API instance.
+ */
+ public CdnManager 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.cdn.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 CdnManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * 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 AfdProfiles.
+ *
+ * @return Resource collection API of AfdProfiles.
+ */
+ public AfdProfiles afdProfiles() {
+ if (this.afdProfiles == null) {
+ this.afdProfiles = new AfdProfilesImpl(clientObject.getAfdProfiles(), this);
+ }
+ return afdProfiles;
+ }
+
+ /**
+ * Gets the resource collection API of AfdCustomDomains. It manages AfdDomain.
+ *
+ * @return Resource collection API of AfdCustomDomains.
+ */
+ public AfdCustomDomains afdCustomDomains() {
+ if (this.afdCustomDomains == null) {
+ this.afdCustomDomains = new AfdCustomDomainsImpl(clientObject.getAfdCustomDomains(), this);
+ }
+ return afdCustomDomains;
+ }
+
+ /**
+ * Gets the resource collection API of AfdEndpoints. It manages AfdEndpoint.
+ *
+ * @return Resource collection API of AfdEndpoints.
+ */
+ public AfdEndpoints afdEndpoints() {
+ if (this.afdEndpoints == null) {
+ this.afdEndpoints = new AfdEndpointsImpl(clientObject.getAfdEndpoints(), this);
+ }
+ return afdEndpoints;
+ }
+
+ /**
+ * Gets the resource collection API of AfdOriginGroups. It manages AfdOriginGroup.
+ *
+ * @return Resource collection API of AfdOriginGroups.
+ */
+ public AfdOriginGroups afdOriginGroups() {
+ if (this.afdOriginGroups == null) {
+ this.afdOriginGroups = new AfdOriginGroupsImpl(clientObject.getAfdOriginGroups(), this);
+ }
+ return afdOriginGroups;
+ }
+
+ /**
+ * Gets the resource collection API of AfdOrigins. It manages AfdOrigin.
+ *
+ * @return Resource collection API of AfdOrigins.
+ */
+ public AfdOrigins afdOrigins() {
+ if (this.afdOrigins == null) {
+ this.afdOrigins = new AfdOriginsImpl(clientObject.getAfdOrigins(), this);
+ }
+ return afdOrigins;
+ }
+
+ /**
+ * Gets the resource collection API of Routes. It manages Route.
+ *
+ * @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 RuleSets.
+ *
+ * @return Resource collection API of RuleSets.
+ */
+ public RuleSets ruleSets() {
+ if (this.ruleSets == null) {
+ this.ruleSets = new RuleSetsImpl(clientObject.getRuleSets(), this);
+ }
+ return ruleSets;
+ }
+
+ /**
+ * Gets the resource collection API of Rules. It manages Rule.
+ *
+ * @return Resource collection API of Rules.
+ */
+ public Rules rules() {
+ if (this.rules == null) {
+ this.rules = new RulesImpl(clientObject.getRules(), this);
+ }
+ return rules;
+ }
+
+ /**
+ * Gets the resource collection API of SecurityPolicies. It manages SecurityPolicy.
+ *
+ * @return Resource collection API of SecurityPolicies.
+ */
+ public SecurityPolicies securityPolicies() {
+ if (this.securityPolicies == null) {
+ this.securityPolicies = new SecurityPoliciesImpl(clientObject.getSecurityPolicies(), this);
+ }
+ return securityPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of Secrets. It manages Secret.
+ *
+ * @return Resource collection API of Secrets.
+ */
+ public Secrets secrets() {
+ if (this.secrets == null) {
+ this.secrets = new SecretsImpl(clientObject.getSecrets(), this);
+ }
+ return secrets;
+ }
+
+ /**
+ * Gets the resource collection API of LogAnalytics.
+ *
+ * @return Resource collection API of LogAnalytics.
+ */
+ public LogAnalytics logAnalytics() {
+ if (this.logAnalytics == null) {
+ this.logAnalytics = new LogAnalyticsImpl(clientObject.getLogAnalytics(), this);
+ }
+ return logAnalytics;
+ }
+
+ /**
+ * Gets the resource collection API of Profiles. It manages Profile.
+ *
+ * @return Resource collection API of Profiles.
+ */
+ public Profiles profiles() {
+ if (this.profiles == null) {
+ this.profiles = new ProfilesImpl(clientObject.getProfiles(), this);
+ }
+ return profiles;
+ }
+
+ /**
+ * Gets the resource collection API of Endpoints. It manages Endpoint.
+ *
+ * @return Resource collection API of Endpoints.
+ */
+ public Endpoints endpoints() {
+ if (this.endpoints == null) {
+ this.endpoints = new EndpointsImpl(clientObject.getEndpoints(), this);
+ }
+ return endpoints;
+ }
+
+ /**
+ * Gets the resource collection API of Origins. It manages Origin.
+ *
+ * @return Resource collection API of Origins.
+ */
+ public Origins origins() {
+ if (this.origins == null) {
+ this.origins = new OriginsImpl(clientObject.getOrigins(), this);
+ }
+ return origins;
+ }
+
+ /**
+ * Gets the resource collection API of OriginGroups. It manages OriginGroup.
+ *
+ * @return Resource collection API of OriginGroups.
+ */
+ public OriginGroups originGroups() {
+ if (this.originGroups == null) {
+ this.originGroups = new OriginGroupsImpl(clientObject.getOriginGroups(), this);
+ }
+ return originGroups;
+ }
+
+ /**
+ * Gets the resource collection API of CustomDomains. It manages CustomDomain.
+ *
+ * @return Resource collection API of CustomDomains.
+ */
+ public CustomDomains customDomains() {
+ if (this.customDomains == null) {
+ this.customDomains = new CustomDomainsImpl(clientObject.getCustomDomains(), this);
+ }
+ return customDomains;
+ }
+
+ /**
+ * Gets the resource collection API of ResourceUsages.
+ *
+ * @return Resource collection API of ResourceUsages.
+ */
+ public ResourceUsages resourceUsages() {
+ if (this.resourceUsages == null) {
+ this.resourceUsages = new ResourceUsagesImpl(clientObject.getResourceUsages(), this);
+ }
+ return resourceUsages;
+ }
+
+ /**
+ * 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 EdgeNodes.
+ *
+ * @return Resource collection API of EdgeNodes.
+ */
+ public EdgeNodes edgeNodes() {
+ if (this.edgeNodes == null) {
+ this.edgeNodes = new EdgeNodesImpl(clientObject.getEdgeNodes(), this);
+ }
+ return edgeNodes;
+ }
+
+ /**
+ * Gets the resource collection API of Policies. It manages CdnWebApplicationFirewallPolicy.
+ *
+ * @return Resource collection API of Policies.
+ */
+ public Policies policies() {
+ if (this.policies == null) {
+ this.policies = new PoliciesImpl(clientObject.getPolicies(), this);
+ }
+ return policies;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedRuleSets.
+ *
+ * @return Resource collection API of ManagedRuleSets.
+ */
+ public ManagedRuleSets managedRuleSets() {
+ if (this.managedRuleSets == null) {
+ this.managedRuleSets = new ManagedRuleSetsImpl(clientObject.getManagedRuleSets(), this);
+ }
+ return managedRuleSets;
+ }
+
+ /**
+ * @return Wrapped service client CdnManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public CdnManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
new file mode 100644
index 0000000000000..3ed0e6316da12
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
@@ -0,0 +1,381 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.AfdDomainInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdCustomDomainsClient. */
+public interface AfdCustomDomainsClient {
+ /**
+ * Lists existing AzureFrontDoor domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list domains as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list domains as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @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 existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String customDomainName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner get(String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginCreate(
+ String resourceGroupName, String profileName, String customDomainName, AfdDomainInner customDomain);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainInner customDomain,
+ Context context);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner create(
+ String resourceGroupName, String profileName, String customDomainName, AfdDomainInner customDomain);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainInner customDomain,
+ Context context);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner update(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner update(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String customDomainName);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @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 profileName, String customDomainName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String customDomainName);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @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 profileName, String customDomainName, Context context);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginRefreshValidationToken(
+ String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @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> beginRefreshValidationToken(
+ String resourceGroupName, String profileName, String customDomainName, Context context);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 refreshValidationToken(String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @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 refreshValidationToken(String resourceGroupName, String profileName, String customDomainName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
new file mode 100644
index 0000000000000..fd7f5901b81a9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
@@ -0,0 +1,495 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.AfdEndpointInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateCustomDomainOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpointUpdateParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdPurgeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** An instance of this class provides access to all the operations defined in AfdEndpointsClient. */
+public interface AfdEndpointsClient {
+ /**
+ * Lists existing AzureFrontDoor endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list endpoints as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list endpoints as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdEndpointInner get(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 azure Front Door endpoint is the entity within a Azure Front Door
+ * profile containing configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, AfdEndpointInner endpointParam);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @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 azure Front Door endpoint is the entity within a Azure Front Door
+ * profile containing configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration
+ * information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdEndpointInner create(
+ String resourceGroupName, String profileName, String endpointName, AfdEndpointInner endpointParam);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration
+ * information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdEndpointInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 azure Front Door endpoint is the entity within a Azure Front Door
+ * profile containing configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @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 azure Front Door endpoint is the entity within a Azure Front Door
+ * profile containing configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration
+ * information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdEndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration
+ * information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdEndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String endpointName);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 profileName, String endpointName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String endpointName);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 profileName, String endpointName, Context context);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginPurgeContent(
+ String resourceGroupName, String profileName, String endpointName, AfdPurgeParameters contents);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @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> beginPurgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdPurgeParameters contents,
+ Context context);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 purgeContent(String resourceGroupName, String profileName, String endpointName, AfdPurgeParameters contents);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @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 purgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdPurgeParameters contents,
+ Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @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 output of custom domain validation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateCustomDomainWithResponse(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties,
+ Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of custom domain validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateCustomDomainOutputInner validateCustomDomain(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java
new file mode 100644
index 0000000000000..2a2fd01e2c51a
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java
@@ -0,0 +1,344 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.AfdOriginGroupInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginGroupUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdOriginGroupsClient. */
+public interface AfdOriginGroupsClient {
+ /**
+ * Lists all of the existing origin groups within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list origin groups as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists all of the existing origin groups within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list origin groups as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @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 existing origin group within a profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+
+ /**
+ * Gets an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing origin group within a profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginGroupInner get(String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 aFDOrigin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginCreate(
+ String resourceGroupName, String profileName, String originGroupName, AfdOriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @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 aFDOrigin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginGroupInner create(
+ String resourceGroupName, String profileName, String originGroupName, AfdOriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @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 aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginGroupInner create(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 aFDOrigin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @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 aFDOrigin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @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 aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @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 profileName, String originGroupName, Context context);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @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 profileName, String originGroupName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile..
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile..
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
new file mode 100644
index 0000000000000..c4b29f5ed850d
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
@@ -0,0 +1,332 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.AfdOriginInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdOriginsClient. */
+public interface AfdOriginsClient {
+ /**
+ * Lists all of the existing origins within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origins as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByOriginGroup(
+ String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Lists all of the existing origins within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @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 result of the request to list origins as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByOriginGroup(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+
+ /**
+ * Gets an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @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 existing origin within an origin group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String originGroupName, String originName, Context context);
+
+ /**
+ * Gets an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing origin within an origin group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginInner get(String resourceGroupName, String profileName, String originGroupName, String originName);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 azure Front Door origin is the source of the content being
+ * delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginCreate(
+ String resourceGroupName, String profileName, String originGroupName, String originName, AfdOriginInner origin);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @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 azure Front Door origin is the source of the content being
+ * delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginInner origin,
+ Context context);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door origin is the source of the content being delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginInner create(
+ String resourceGroupName, String profileName, String originGroupName, String originName, AfdOriginInner origin);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door origin is the source of the content being delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginInner create(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginInner origin,
+ Context context);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 azure Front Door origin is the source of the content being
+ * delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @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 azure Front Door origin is the source of the content being
+ * delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door origin is the source of the content being delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return azure Front Door origin is the source of the content being delivered via Azure Front Door.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdOriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String originGroupName, String originName);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @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 profileName, String originGroupName, String originName, Context context);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String originGroupName, String originName);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @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 profileName, String originGroupName, String originName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
new file mode 100644
index 0000000000000..e7ff569e7af3d
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
@@ -0,0 +1,195 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.CheckNameAvailabilityOutputInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ProfileInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateSecretOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.CheckHostnameAvailabilityInput;
+import com.azure.resourcemanager.cdn.generated.models.ProfileUpgradeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ValidateSecretInput;
+
+/** An instance of this class provides access to all the operations defined in AfdProfilesClient. */
+public interface AfdProfilesClient {
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 the list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 the list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param checkHostnameAvailabilityInput Custom domain to be validated.
+ * @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 output of check name availability API along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkHostnameAvailabilityWithResponse(
+ String resourceGroupName,
+ String profileName,
+ CheckHostnameAvailabilityInput checkHostnameAvailabilityInput,
+ Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param checkHostnameAvailabilityInput Custom domain to be validated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityOutputInner checkHostnameAvailability(
+ String resourceGroupName, String profileName, CheckHostnameAvailabilityInput checkHostnameAvailabilityInput);
+
+ /**
+ * Validate a Secret in the profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param validateSecretInput The Secret source.
+ * @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 output of the validated secret along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateSecretWithResponse(
+ String resourceGroupName, String profileName, ValidateSecretInput validateSecretInput, Context context);
+
+ /**
+ * Validate a Secret in the profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param validateSecretInput The Secret source.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of the validated secret.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateSecretOutputInner validateSecret(
+ String resourceGroupName, String profileName, ValidateSecretInput validateSecretInput);
+
+ /**
+ * Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param profileUpgradeParameters Profile upgrade input parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpgrade(
+ String resourceGroupName, String profileName, ProfileUpgradeParameters profileUpgradeParameters);
+
+ /**
+ * Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param profileUpgradeParameters Profile upgrade input parameter.
+ * @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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpgrade(
+ String resourceGroupName,
+ String profileName,
+ ProfileUpgradeParameters profileUpgradeParameters,
+ Context context);
+
+ /**
+ * Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param profileUpgradeParameters Profile upgrade input parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner upgrade(
+ String resourceGroupName, String profileName, ProfileUpgradeParameters profileUpgradeParameters);
+
+ /**
+ * Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the
+ * resource group.
+ * @param profileUpgradeParameters Profile upgrade input parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner upgrade(
+ String resourceGroupName,
+ String profileName,
+ ProfileUpgradeParameters profileUpgradeParameters,
+ Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CdnManagementClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CdnManagementClient.java
new file mode 100644
index 0000000000000..b99d27a91b19d
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CdnManagementClient.java
@@ -0,0 +1,200 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for CdnManagementClient class. */
+public interface CdnManagementClient {
+ /**
+ * Gets Azure Subscription ID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ ResourceProvidersClient getResourceProviders();
+
+ /**
+ * Gets the AfdProfilesClient object to access its operations.
+ *
+ * @return the AfdProfilesClient object.
+ */
+ AfdProfilesClient getAfdProfiles();
+
+ /**
+ * Gets the AfdCustomDomainsClient object to access its operations.
+ *
+ * @return the AfdCustomDomainsClient object.
+ */
+ AfdCustomDomainsClient getAfdCustomDomains();
+
+ /**
+ * Gets the AfdEndpointsClient object to access its operations.
+ *
+ * @return the AfdEndpointsClient object.
+ */
+ AfdEndpointsClient getAfdEndpoints();
+
+ /**
+ * Gets the AfdOriginGroupsClient object to access its operations.
+ *
+ * @return the AfdOriginGroupsClient object.
+ */
+ AfdOriginGroupsClient getAfdOriginGroups();
+
+ /**
+ * Gets the AfdOriginsClient object to access its operations.
+ *
+ * @return the AfdOriginsClient object.
+ */
+ AfdOriginsClient getAfdOrigins();
+
+ /**
+ * Gets the RoutesClient object to access its operations.
+ *
+ * @return the RoutesClient object.
+ */
+ RoutesClient getRoutes();
+
+ /**
+ * Gets the RuleSetsClient object to access its operations.
+ *
+ * @return the RuleSetsClient object.
+ */
+ RuleSetsClient getRuleSets();
+
+ /**
+ * Gets the RulesClient object to access its operations.
+ *
+ * @return the RulesClient object.
+ */
+ RulesClient getRules();
+
+ /**
+ * Gets the SecurityPoliciesClient object to access its operations.
+ *
+ * @return the SecurityPoliciesClient object.
+ */
+ SecurityPoliciesClient getSecurityPolicies();
+
+ /**
+ * Gets the SecretsClient object to access its operations.
+ *
+ * @return the SecretsClient object.
+ */
+ SecretsClient getSecrets();
+
+ /**
+ * Gets the LogAnalyticsClient object to access its operations.
+ *
+ * @return the LogAnalyticsClient object.
+ */
+ LogAnalyticsClient getLogAnalytics();
+
+ /**
+ * Gets the ProfilesClient object to access its operations.
+ *
+ * @return the ProfilesClient object.
+ */
+ ProfilesClient getProfiles();
+
+ /**
+ * Gets the EndpointsClient object to access its operations.
+ *
+ * @return the EndpointsClient object.
+ */
+ EndpointsClient getEndpoints();
+
+ /**
+ * Gets the OriginsClient object to access its operations.
+ *
+ * @return the OriginsClient object.
+ */
+ OriginsClient getOrigins();
+
+ /**
+ * Gets the OriginGroupsClient object to access its operations.
+ *
+ * @return the OriginGroupsClient object.
+ */
+ OriginGroupsClient getOriginGroups();
+
+ /**
+ * Gets the CustomDomainsClient object to access its operations.
+ *
+ * @return the CustomDomainsClient object.
+ */
+ CustomDomainsClient getCustomDomains();
+
+ /**
+ * Gets the ResourceUsagesClient object to access its operations.
+ *
+ * @return the ResourceUsagesClient object.
+ */
+ ResourceUsagesClient getResourceUsages();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the EdgeNodesClient object to access its operations.
+ *
+ * @return the EdgeNodesClient object.
+ */
+ EdgeNodesClient getEdgeNodes();
+
+ /**
+ * Gets the PoliciesClient object to access its operations.
+ *
+ * @return the PoliciesClient object.
+ */
+ PoliciesClient getPolicies();
+
+ /**
+ * Gets the ManagedRuleSetsClient object to access its operations.
+ *
+ * @return the ManagedRuleSetsClient object.
+ */
+ ManagedRuleSetsClient getManagedRuleSets();
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
new file mode 100644
index 0000000000000..a1dcb798a32c1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
@@ -0,0 +1,395 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.CustomDomainInner;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainParameters;
+
+/** An instance of this class provides access to all the operations defined in CustomDomainsClient. */
+public interface CustomDomainsClient {
+ /**
+ * Lists all of the existing custom domains within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list custom domains as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Lists all of the existing custom domains within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 result of the request to list custom domains as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @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 existing custom domain within an endpoint along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Gets an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing custom domain within an endpoint.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner get(String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties,
+ Context context);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties,
+ Context context);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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, CustomDomainInner> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @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, CustomDomainInner> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner delete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner delete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Disable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginDisableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Disable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginDisableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Disable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner disableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Disable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner disableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Enable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginEnableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Enable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainHttpsParameters The configuration specifying how to enable HTTPS for the custom domain - using
+ * CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed
+ * certificate by default.
+ * @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 friendly domain name mapping to the endpoint hostname that the
+ * customer provides for branding purposes, e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginEnableCustomHttps(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainHttpsParameters customDomainHttpsParameters,
+ Context context);
+
+ /**
+ * Enable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner enableCustomHttps(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Enable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainHttpsParameters The configuration specifying how to enable HTTPS for the custom domain - using
+ * CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed
+ * certificate by default.
+ * @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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner enableCustomHttps(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainHttpsParameters customDomainHttpsParameters,
+ Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.java
new file mode 100644
index 0000000000000..69063e63c5f5e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.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.cdn.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.cdn.generated.fluent.models.EdgeNodeInner;
+
+/** An instance of this class provides access to all the operations defined in EdgeNodesClient. */
+public interface EdgeNodesClient {
+ /**
+ * Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list CDN edgenodes as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.
+ *
+ * @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 result of the request to list CDN edgenodes as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EndpointsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EndpointsClient.java
new file mode 100644
index 0000000000000..1915d69894e15
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EndpointsClient.java
@@ -0,0 +1,678 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.EndpointInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourceUsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateCustomDomainOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.EndpointUpdateParameters;
+import com.azure.resourcemanager.cdn.generated.models.LoadParameters;
+import com.azure.resourcemanager.cdn.generated.models.PurgeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** An instance of this class provides access to all the operations defined in EndpointsClient. */
+public interface EndpointsClient {
+ /**
+ * Lists existing CDN endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 result of the request to list endpoints as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing CDN endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 result of the request to list endpoints as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group
+ * and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group
+ * and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner get(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, EndpointInner endpointParam);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner create(
+ String resourceGroupName, String profileName, String endpointName, EndpointInner endpointParam);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @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 cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @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 cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String endpointName);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 profileName, String endpointName, Context context);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String endpointName);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 profileName, String endpointName, Context context);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStart(
+ String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStart(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner start(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner start(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStop(
+ String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 cDN endpoint is the entity within a CDN profile containing
+ * configuration information such as origin, protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStop(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner stop(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner stop(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginPurgeContent(
+ String resourceGroupName, String profileName, String endpointName, PurgeParameters contentFilePaths);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @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> beginPurgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ PurgeParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 purgeContent(
+ String resourceGroupName, String profileName, String endpointName, PurgeParameters contentFilePaths);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @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 purgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ PurgeParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginLoadContent(
+ String resourceGroupName, String profileName, String endpointName, LoadParameters contentFilePaths);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @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> beginLoadContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ LoadParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 loadContent(
+ String resourceGroupName, String profileName, String endpointName, LoadParameters contentFilePaths);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @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 loadContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ LoadParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @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 output of custom domain validation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateCustomDomainWithResponse(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties,
+ Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of custom domain validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateCustomDomainOutputInner validateCustomDomain(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties);
+
+ /**
+ * Checks the quota and usage of geo filters and custom domains under the given endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Checks the quota and usage of geo filters and custom domains under the given endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java
new file mode 100644
index 0000000000000..ba3166e982eff
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java
@@ -0,0 +1,326 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ContinentsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.MetricsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.RankingsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourcesResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.WafMetricsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.WafRankingsResponseInner;
+import com.azure.resourcemanager.cdn.generated.models.LogMetric;
+import com.azure.resourcemanager.cdn.generated.models.LogMetricsGranularity;
+import com.azure.resourcemanager.cdn.generated.models.LogMetricsGroupBy;
+import com.azure.resourcemanager.cdn.generated.models.LogRanking;
+import com.azure.resourcemanager.cdn.generated.models.LogRankingMetric;
+import com.azure.resourcemanager.cdn.generated.models.WafAction;
+import com.azure.resourcemanager.cdn.generated.models.WafGranularity;
+import com.azure.resourcemanager.cdn.generated.models.WafMetric;
+import com.azure.resourcemanager.cdn.generated.models.WafRankingGroupBy;
+import com.azure.resourcemanager.cdn.generated.models.WafRankingType;
+import com.azure.resourcemanager.cdn.generated.models.WafRuleType;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in LogAnalyticsClient. */
+public interface LogAnalyticsClient {
+ /**
+ * Get log report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of LogMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param customDomains Array of Get11ItemsItem.
+ * @param protocols Array of Get12ItemsItem.
+ * @param groupBy Array of LogMetricsGroupBy.
+ * @param continents Array of Get9ItemsItem.
+ * @param countryOrRegions Array of Get10ItemsItem.
+ * @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 log report for AFD profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsMetricsWithResponse(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ LogMetricsGranularity granularity,
+ List customDomains,
+ List protocols,
+ List groupBy,
+ List continents,
+ List countryOrRegions,
+ Context context);
+
+ /**
+ * Get log report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of LogMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param customDomains Array of Get11ItemsItem.
+ * @param protocols Array of Get12ItemsItem.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return log report for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MetricsResponseInner getLogAnalyticsMetrics(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ LogMetricsGranularity granularity,
+ List customDomains,
+ List protocols);
+
+ /**
+ * Get log analytics ranking report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param rankings Array of LogRanking.
+ * @param metrics Array of LogRankingMetric.
+ * @param maxRanking The maxRanking parameter.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param customDomains Array of String.
+ * @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 log analytics ranking report for AFD profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsRankingsWithResponse(
+ String resourceGroupName,
+ String profileName,
+ List rankings,
+ List metrics,
+ int maxRanking,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ List customDomains,
+ Context context);
+
+ /**
+ * Get log analytics ranking report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param rankings Array of LogRanking.
+ * @param metrics Array of LogRankingMetric.
+ * @param maxRanking The maxRanking parameter.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return log analytics ranking report for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RankingsResponseInner getLogAnalyticsRankings(
+ String resourceGroupName,
+ String profileName,
+ List rankings,
+ List metrics,
+ int maxRanking,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd);
+
+ /**
+ * Get all available location names for AFD log analytics report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within 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 available location names for AFD log analytics report along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsLocationsWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Get all available location names for AFD log analytics report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within 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 available location names for AFD log analytics report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContinentsResponseInner getLogAnalyticsLocations(String resourceGroupName, String profileName);
+
+ /**
+ * Get all endpoints and custom domains available for AFD log report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within 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 endpoints and custom domains available for AFD log report along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsResourcesWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Get all endpoints and custom domains available for AFD log report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within 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 endpoints and custom domains available for AFD log report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcesResponseInner getLogAnalyticsResources(String resourceGroupName, String profileName);
+
+ /**
+ * Get Waf related log analytics report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param actions Array of WafAction.
+ * @param groupBy Array of WafRankingGroupBy.
+ * @param ruleTypes Array of WafRuleType.
+ * @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 waf related log analytics report for AFD profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWafLogAnalyticsMetricsWithResponse(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ WafGranularity granularity,
+ List actions,
+ List groupBy,
+ List ruleTypes,
+ Context context);
+
+ /**
+ * Get Waf related log analytics report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return waf related log analytics report for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WafMetricsResponseInner getWafLogAnalyticsMetrics(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ WafGranularity granularity);
+
+ /**
+ * Get WAF log analytics charts for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param maxRanking The maxRanking parameter.
+ * @param rankings Array of WafRankingType.
+ * @param actions Array of WafAction.
+ * @param ruleTypes Array of WafRuleType.
+ * @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 wAF log analytics charts for AFD profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWafLogAnalyticsRankingsWithResponse(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ int maxRanking,
+ List rankings,
+ List actions,
+ List ruleTypes,
+ Context context);
+
+ /**
+ * Get WAF log analytics charts for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param maxRanking The maxRanking parameter.
+ * @param rankings Array of WafRankingType.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return wAF log analytics charts for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WafRankingsResponseInner getWafLogAnalyticsRankings(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ int maxRanking,
+ List rankings);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ManagedRuleSetsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ManagedRuleSetsClient.java
new file mode 100644
index 0000000000000..3e8f9d3e3584c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ManagedRuleSetsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.ManagedRuleSetDefinitionInner;
+
+/** An instance of this class provides access to all the operations defined in ManagedRuleSetsClient. */
+public interface ManagedRuleSetsClient {
+ /**
+ * Lists all available managed 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 list of managed rule set definitions available for use in a policy as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all available managed 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 list of managed rule set definitions available for use in a policy as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OperationsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..bf09ac95cefa2
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OperationsClient.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.cdn.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.cdn.generated.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all of the available CDN REST API operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list CDN operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the available CDN REST API operations.
+ *
+ * @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 result of the request to list CDN operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginGroupsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginGroupsClient.java
new file mode 100644
index 0000000000000..cfd3845f77760
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginGroupsClient.java
@@ -0,0 +1,327 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.OriginGroupInner;
+import com.azure.resourcemanager.cdn.generated.models.OriginGroupUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in OriginGroupsClient. */
+public interface OriginGroupsClient {
+ /**
+ * Lists all of the existing origin groups within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origin groups as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Lists all of the existing origin groups within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 result of the request to list origin groups as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @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 existing origin group within an endpoint along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String originGroupName, Context context);
+
+ /**
+ * Gets an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing origin group within an endpoint.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner get(String resourceGroupName, String profileName, String endpointName, String originGroupName);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 origin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @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 origin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @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 origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 origin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @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 origin group comprising of origins is used for load balancing to
+ * origins when the content cannot be served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @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 origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String endpointName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @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 profileName, String endpointName, String originGroupName, Context context);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String endpointName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @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 profileName, String endpointName, String originGroupName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java
new file mode 100644
index 0000000000000..98279f23d2f2b
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java
@@ -0,0 +1,310 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.OriginInner;
+import com.azure.resourcemanager.cdn.generated.models.OriginUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in OriginsClient. */
+public interface OriginsClient {
+ /**
+ * Lists all of the existing origins within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origins as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Lists all of the existing origins within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 result of the request to list origins as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @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 existing origin within an endpoint along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String originName, Context context);
+
+ /**
+ * Gets an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing origin within an endpoint.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner get(String resourceGroupName, String profileName, String endpointName, String originName);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, String originName, OriginInner origin);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginInner origin,
+ Context context);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner create(
+ String resourceGroupName, String profileName, String endpointName, String originName, OriginInner origin);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginInner origin,
+ Context context);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String endpointName, String originName);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @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 profileName, String endpointName, String originName, Context context);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String endpointName, String originName);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @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 profileName, String endpointName, String originName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java
new file mode 100644
index 0000000000000..a791b6eabff78
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java
@@ -0,0 +1,249 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.CdnWebApplicationFirewallPolicyInner;
+import com.azure.resourcemanager.cdn.generated.models.CdnWebApplicationFirewallPolicyPatchParameters;
+
+/** An instance of this class provides access to all the operations defined in PoliciesClient. */
+public interface PoliciesClient {
+ /**
+ * Lists all of the protection policies within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines a list of WebApplicationFirewallPolicies for Azure CDN as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the protection policies within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure 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 defines a list of WebApplicationFirewallPolicies for Azure CDN as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Retrieve protection policy with specified name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @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 defines web application firewall policy for Azure CDN along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String policyName, Context context);
+
+ /**
+ * Retrieve protection policy with specified name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner getByResourceGroup(String resourceGroupName, String policyName);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy,
+ Context context);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy,
+ Context context);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters,
+ Context context);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner update(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner update(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters,
+ Context context);
+
+ /**
+ * Deletes Policy.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String policyName, Context context);
+
+ /**
+ * Deletes Policy.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 policyName);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java
new file mode 100644
index 0000000000000..507a7cbbdcc14
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java
@@ -0,0 +1,547 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.CanMigrateResultInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.MigrateResultInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ProfileInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourceUsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.SsoUriInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.SupportedOptimizationTypesListResultInner;
+import com.azure.resourcemanager.cdn.generated.models.CanMigrateParameters;
+import com.azure.resourcemanager.cdn.generated.models.MigrationParameters;
+import com.azure.resourcemanager.cdn.generated.models.ProfileUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in ProfilesClient. */
+public interface ProfilesClient {
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure
+ * 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 result of the request to list profiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure
+ * 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 result of the request to list profiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list profiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure 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 result of the request to list profiles as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner getByResourceGroup(String resourceGroupName, String profileName);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @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 a profile is a logical grouping of endpoints that share the same
+ * settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param canMigrateParameters Properties needed to check if cdn profile or classic frontdoor can be migrated.
+ * @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 result for canMigrate operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response canMigrateWithResponse(
+ String resourceGroupName, CanMigrateParameters canMigrateParameters, Context context);
+
+ /**
+ * Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param canMigrateParameters Properties needed to check if cdn profile or classic frontdoor can be migrated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result for canMigrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CanMigrateResultInner canMigrate(String resourceGroupName, CanMigrateParameters canMigrateParameters);
+
+ /**
+ * Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param migrationParameters Properties needed to migrate the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 result for migrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MigrateResultInner> beginMigrate(
+ String resourceGroupName, MigrationParameters migrationParameters);
+
+ /**
+ * Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param migrationParameters Properties needed to migrate the profile.
+ * @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 result for migrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MigrateResultInner> beginMigrate(
+ String resourceGroupName, MigrationParameters migrationParameters, Context context);
+
+ /**
+ * Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param migrationParameters Properties needed to migrate the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result for migrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrateResultInner migrate(String resourceGroupName, MigrationParameters migrationParameters);
+
+ /**
+ * Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param migrationParameters Properties needed to migrate the profile.
+ * @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 result for migrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MigrateResultInner migrate(String resourceGroupName, MigrationParameters migrationParameters, Context context);
+
+ /**
+ * Commit the migrated Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginMigrationCommit(String resourceGroupName, String profileName);
+
+ /**
+ * Commit the migrated Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginMigrationCommit(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Commit the migrated Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void migrationCommit(String resourceGroupName, String profileName);
+
+ /**
+ * Commit the migrated Azure Frontdoor(Standard/Premium) profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void migrationCommit(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to
+ * configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a
+ * standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The
+ * SSO URI changes approximately every 10 minutes.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 the URI required to login to the supplemental portal from the Azure portal along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateSsoUriWithResponse(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to
+ * configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a
+ * standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The
+ * SSO URI changes approximately every 10 minutes.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within 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 the URI required to login to the supplemental portal from the Azure portal.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SsoUriInner generateSsoUri(String resourceGroupName, String profileName);
+
+ /**
+ * Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization
+ * type from the listed values.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 the supported optimization types for the current profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listSupportedOptimizationTypesWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization
+ * type from the listed values.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 the supported optimization types for the current profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupportedOptimizationTypesListResultInner listSupportedOptimizationTypes(
+ String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door
+ * Premium or CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door
+ * Premium or CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within 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 output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java
new file mode 100644
index 0000000000000..090793f2b8452
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.CheckEndpointNameAvailabilityOutputInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.CheckNameAvailabilityOutputInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateProbeOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.CheckEndpointNameAvailabilityInput;
+import com.azure.resourcemanager.cdn.generated.models.CheckNameAvailabilityInput;
+import com.azure.resourcemanager.cdn.generated.models.ValidateProbeInput;
+
+/** An instance of this class provides access to all the operations defined in ResourceProvidersClient. */
+public interface ResourceProvidersClient {
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * afdx endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param checkEndpointNameAvailabilityInput Input to check.
+ * @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 output of check name availability API along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkEndpointNameAvailabilityWithResponse(
+ String resourceGroupName,
+ CheckEndpointNameAvailabilityInput checkEndpointNameAvailabilityInput,
+ Context context);
+
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * afdx endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param checkEndpointNameAvailabilityInput Input to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckEndpointNameAvailabilityOutputInner checkEndpointNameAvailability(
+ String resourceGroupName, CheckEndpointNameAvailabilityInput checkEndpointNameAvailabilityInput);
+
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * CDN endpoint.
+ *
+ * @param checkNameAvailabilityInput Input to check.
+ * @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 output of check name availability API along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ CheckNameAvailabilityInput checkNameAvailabilityInput, Context context);
+
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * CDN endpoint.
+ *
+ * @param checkNameAvailabilityInput Input to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityOutputInner checkNameAvailability(CheckNameAvailabilityInput checkNameAvailabilityInput);
+
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * CDN endpoint.
+ *
+ * @param checkNameAvailabilityInput Input to check.
+ * @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 output of check name availability API along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithSubscriptionWithResponse(
+ CheckNameAvailabilityInput checkNameAvailabilityInput, Context context);
+
+ /**
+ * Check the availability of a resource name. This is needed for resources where name is globally unique, such as a
+ * CDN endpoint.
+ *
+ * @param checkNameAvailabilityInput Input to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityOutputInner checkNameAvailabilityWithSubscription(
+ CheckNameAvailabilityInput checkNameAvailabilityInput);
+
+ /**
+ * Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on
+ * the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative
+ * to the origin path specified in the endpoint configuration.
+ *
+ * @param validateProbeInput Input to check.
+ * @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 output of the validate probe API along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateProbeWithResponse(
+ ValidateProbeInput validateProbeInput, Context context);
+
+ /**
+ * Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on
+ * the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative
+ * to the origin path specified in the endpoint configuration.
+ *
+ * @param validateProbeInput Input to check.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of the validate probe API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateProbeOutputInner validateProbe(ValidateProbeInput validateProbeInput);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceUsagesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceUsagesClient.java
new file mode 100644
index 0000000000000..b49bee9a6099e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceUsagesClient.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.cdn.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.cdn.generated.fluent.models.ResourceUsageInner;
+
+/** An instance of this class provides access to all the operations defined in ResourceUsagesClient. */
+public interface ResourceUsagesClient {
+ /**
+ * Check the quota and actual usage of the CDN profiles under the given subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Check the quota and actual usage of the CDN profiles under the given subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java
new file mode 100644
index 0000000000000..e6da29fa8bdb0
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java
@@ -0,0 +1,346 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.RouteInner;
+import com.azure.resourcemanager.cdn.generated.models.RouteUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in RoutesClient. */
+public interface RoutesClient {
+ /**
+ * Lists all of the existing origins within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list routes as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Lists all of the existing origins within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @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 result of the request to list routes as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing route with the specified route name under the specified subscription, resource group, profile,
+ * and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String routeName, Context context);
+
+ /**
+ * Gets an existing route with the specified route name under the specified subscription, resource group, profile,
+ * and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner get(String resourceGroupName, String profileName, String endpointName, String routeName);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly Routes name mapping to the any Routes or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, String routeName, RouteInner route);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @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 friendly Routes name mapping to the any Routes or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteInner route,
+ Context context);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner create(
+ String resourceGroupName, String profileName, String endpointName, String routeName, RouteInner route);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @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 friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteInner route,
+ Context context);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly Routes name mapping to the any Routes or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @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 friendly Routes name mapping to the any Routes or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @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 friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String routeName);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String routeName, Context context);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String routeName);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String routeName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
new file mode 100644
index 0000000000000..035342bc88a66
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
@@ -0,0 +1,213 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.RuleSetInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+
+/** An instance of this class provides access to all the operations defined in RuleSetsClient. */
+public interface RuleSetsClient {
+ /**
+ * Lists existing AzureFrontDoor rule sets within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list rule sets as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor rule sets within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list rule sets as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @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 existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleSetInner get(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Creates a new rule set within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @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 friendly RuleSet name mapping to the any RuleSet or secret related information along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Creates a new rule set within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly RuleSet name mapping to the any RuleSet or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleSetInner create(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String ruleSetName);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @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 profileName, String ruleSetName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String ruleSetName);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @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 profileName, String ruleSetName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile..
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door profile..
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @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 list usages operation response as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java
new file mode 100644
index 0000000000000..11318582fa16f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java
@@ -0,0 +1,329 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.RuleInner;
+import com.azure.resourcemanager.cdn.generated.models.RuleUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in RulesClient. */
+public interface RulesClient {
+ /**
+ * Lists all of the existing delivery rules within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRuleSet(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Lists all of the existing delivery rules within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @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 result of the request to list rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRuleSet(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Gets an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @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 existing delivery rule within a rule set along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName, Context context);
+
+ /**
+ * Gets an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing delivery rule within a rule set.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner get(String resourceGroupName, String profileName, String ruleSetName, String ruleName);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly Rules name mapping to the any Rules or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginCreate(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName, RuleInner rule);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @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 friendly Rules name mapping to the any Rules or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleInner rule,
+ Context context);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner create(String resourceGroupName, String profileName, String ruleSetName, String ruleName, RuleInner rule);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @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 friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner create(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleInner rule,
+ Context context);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly Rules name mapping to the any Rules or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @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 friendly Rules name mapping to the any Rules or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner update(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @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 friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner update(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String ruleSetName, String ruleName);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @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 profileName, String ruleSetName, String ruleName, Context context);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String ruleSetName, String ruleName);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @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 profileName, String ruleSetName, String ruleName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
new file mode 100644
index 0000000000000..a030f0bed6206
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.SecretInner;
+
+/** An instance of this class provides access to all the operations defined in SecretsClient. */
+public interface SecretsClient {
+ /**
+ * Lists existing AzureFrontDoor secrets.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list secrets as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor secrets.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list secrets as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing Secret within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @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 existing Secret within a profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String secretName, Context context);
+
+ /**
+ * Gets an existing Secret within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing Secret within a profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretInner get(String resourceGroupName, String profileName, String secretName);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 friendly Secret name mapping to the any Secret or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecretInner> beginCreate(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @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 friendly Secret name mapping to the any Secret or secret related
+ * information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecretInner> beginCreate(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret, Context context);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretInner create(String resourceGroupName, String profileName, String secretName, SecretInner secret);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @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 friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretInner create(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret, Context context);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String secretName);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @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 profileName, String secretName, Context context);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String secretName);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @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 profileName, String secretName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
new file mode 100644
index 0000000000000..838edd9147fa5
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
@@ -0,0 +1,303 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.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.cdn.generated.fluent.models.SecurityPolicyInner;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicyUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in SecurityPoliciesClient. */
+public interface SecurityPoliciesClient {
+ /**
+ * Lists security policies associated with the profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list security policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists security policies associated with the profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within 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 result of the request to list security policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @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 existing security policy within a profile along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String securityPolicyName, Context context);
+
+ /**
+ * Gets an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 existing security policy within a profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner get(String resourceGroupName, String profileName, String securityPolicyName);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginCreate(
+ String resourceGroupName, String profileName, String securityPolicyName, SecurityPolicyInner securityPolicy);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyInner securityPolicy,
+ Context context);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner create(
+ String resourceGroupName, String profileName, String securityPolicyName, SecurityPolicyInner securityPolicy);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner create(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyInner securityPolicy,
+ Context context);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyUpdateProperties Security policy update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyUpdateParameters securityPolicyUpdateProperties);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyUpdateProperties Security policy update properties.
+ * @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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyUpdateParameters securityPolicyUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyUpdateProperties Security policy update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner patch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyUpdateParameters securityPolicyUpdateProperties);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyUpdateProperties Security policy update properties.
+ * @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 securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner patch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyUpdateParameters securityPolicyUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 profileName, String securityPolicyName);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @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 profileName, String securityPolicyName, Context context);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 profileName, String securityPolicyName);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @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 profileName, String securityPolicyName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java
new file mode 100644
index 0000000000000..835bc873dce37
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java
@@ -0,0 +1,236 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationProperties;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g.
+ * www.contoso.com.
+ */
+@Fluent
+public final class AfdDomainInner extends ProxyResource {
+ /*
+ * The JSON object that contains the properties of the domain to create.
+ */
+ @JsonProperty(value = "properties")
+ private AfdDomainProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of AfdDomainInner class. */
+ public AfdDomainInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the domain to create.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdDomainProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the domainValidationState property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for DomainControlValidation.
+ *
+ * @return the domainValidationState value.
+ */
+ public DomainValidationState domainValidationState() {
+ return this.innerProperties() == null ? null : this.innerProperties().domainValidationState();
+ }
+
+ /**
+ * Get the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the extendedProperties property: Key-Value pair representing migration properties for domains.
+ *
+ * @return the extendedProperties value.
+ */
+ public Map extendedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().extendedProperties();
+ }
+
+ /**
+ * Set the extendedProperties property: Key-Value pair representing migration properties for domains.
+ *
+ * @param extendedProperties the extendedProperties value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withExtendedProperties(Map extendedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withExtendedProperties(extendedProperties);
+ return this;
+ }
+
+ /**
+ * Get the validationProperties property: Values the customer needs to validate domain ownership.
+ *
+ * @return the validationProperties value.
+ */
+ public DomainValidationProperties validationProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().validationProperties();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the domain.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @return the tlsSettings value.
+ */
+ public AfdDomainHttpsParameters tlsSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().tlsSettings();
+ }
+
+ /**
+ * Set the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @param tlsSettings the tlsSettings value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withTlsSettings(tlsSettings);
+ return this;
+ }
+
+ /**
+ * Get the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @return the azureDnsZone value.
+ */
+ public ResourceReference azureDnsZone() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureDnsZone();
+ }
+
+ /**
+ * Set the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @param azureDnsZone the azureDnsZone value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withAzureDnsZone(ResourceReference azureDnsZone) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withAzureDnsZone(azureDnsZone);
+ return this;
+ }
+
+ /**
+ * Get the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @return the preValidatedCustomDomainResourceId value.
+ */
+ public ResourceReference preValidatedCustomDomainResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().preValidatedCustomDomainResourceId();
+ }
+
+ /**
+ * Set the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @param preValidatedCustomDomainResourceId the preValidatedCustomDomainResourceId value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withPreValidatedCustomDomainResourceId(ResourceReference preValidatedCustomDomainResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withPreValidatedCustomDomainResourceId(preValidatedCustomDomainResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java
new file mode 100644
index 0000000000000..49b4e26f0273c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java
@@ -0,0 +1,182 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationProperties;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The JSON object that contains the properties of the domain to create. */
+@Fluent
+public final class AfdDomainProperties extends AfdDomainUpdatePropertiesParameters {
+ /*
+ * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. DCV stands for
+ * DomainControlValidation.
+ */
+ @JsonProperty(value = "domainValidationState", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationState domainValidationState;
+
+ /*
+ * The host name of the domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * Key-Value pair representing migration properties for domains.
+ */
+ @JsonProperty(value = "extendedProperties")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map extendedProperties;
+
+ /*
+ * Values the customer needs to validate domain ownership
+ */
+ @JsonProperty(value = "validationProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationProperties validationProperties;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /** Creates an instance of AfdDomainProperties class. */
+ public AfdDomainProperties() {
+ }
+
+ /**
+ * Get the domainValidationState property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for DomainControlValidation.
+ *
+ * @return the domainValidationState value.
+ */
+ public DomainValidationState domainValidationState() {
+ return this.domainValidationState;
+ }
+
+ /**
+ * Get the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdDomainProperties object itself.
+ */
+ public AfdDomainProperties withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the extendedProperties property: Key-Value pair representing migration properties for domains.
+ *
+ * @return the extendedProperties value.
+ */
+ public Map extendedProperties() {
+ return this.extendedProperties;
+ }
+
+ /**
+ * Set the extendedProperties property: Key-Value pair representing migration properties for domains.
+ *
+ * @param extendedProperties the extendedProperties value to set.
+ * @return the AfdDomainProperties object itself.
+ */
+ public AfdDomainProperties withExtendedProperties(Map extendedProperties) {
+ this.extendedProperties = extendedProperties;
+ return this;
+ }
+
+ /**
+ * Get the validationProperties property: Values the customer needs to validate domain ownership.
+ *
+ * @return the validationProperties value.
+ */
+ public DomainValidationProperties validationProperties() {
+ return this.validationProperties;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ super.withTlsSettings(tlsSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withAzureDnsZone(ResourceReference azureDnsZone) {
+ super.withAzureDnsZone(azureDnsZone);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withPreValidatedCustomDomainResourceId(
+ ResourceReference preValidatedCustomDomainResourceId) {
+ super.withPreValidatedCustomDomainResourceId(preValidatedCustomDomainResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (hostname() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property hostname in model AfdDomainProperties"));
+ }
+ if (validationProperties() != null) {
+ validationProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AfdDomainProperties.class);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..90d15ebc84abd
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java
@@ -0,0 +1,136 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the domain to create. */
+@Fluent
+public class AfdDomainUpdatePropertiesParameters {
+ /*
+ * The name of the profile which holds the domain.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or
+ * user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default.
+ */
+ @JsonProperty(value = "tlsSettings")
+ private AfdDomainHttpsParameters tlsSettings;
+
+ /*
+ * Resource reference to the Azure DNS zone
+ */
+ @JsonProperty(value = "azureDnsZone")
+ private ResourceReference azureDnsZone;
+
+ /*
+ * Resource reference to the Azure resource where custom domain ownership was prevalidated
+ */
+ @JsonProperty(value = "preValidatedCustomDomainResourceId")
+ private ResourceReference preValidatedCustomDomainResourceId;
+
+ /** Creates an instance of AfdDomainUpdatePropertiesParameters class. */
+ public AfdDomainUpdatePropertiesParameters() {
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the domain.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @return the tlsSettings value.
+ */
+ public AfdDomainHttpsParameters tlsSettings() {
+ return this.tlsSettings;
+ }
+
+ /**
+ * Set the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @param tlsSettings the tlsSettings value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ this.tlsSettings = tlsSettings;
+ return this;
+ }
+
+ /**
+ * Get the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @return the azureDnsZone value.
+ */
+ public ResourceReference azureDnsZone() {
+ return this.azureDnsZone;
+ }
+
+ /**
+ * Set the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @param azureDnsZone the azureDnsZone value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withAzureDnsZone(ResourceReference azureDnsZone) {
+ this.azureDnsZone = azureDnsZone;
+ return this;
+ }
+
+ /**
+ * Get the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @return the preValidatedCustomDomainResourceId value.
+ */
+ public ResourceReference preValidatedCustomDomainResourceId() {
+ return this.preValidatedCustomDomainResourceId;
+ }
+
+ /**
+ * Set the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @param preValidatedCustomDomainResourceId the preValidatedCustomDomainResourceId value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withPreValidatedCustomDomainResourceId(
+ ResourceReference preValidatedCustomDomainResourceId) {
+ this.preValidatedCustomDomainResourceId = preValidatedCustomDomainResourceId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (tlsSettings() != null) {
+ tlsSettings().validate();
+ }
+ if (azureDnsZone() != null) {
+ azureDnsZone().validate();
+ }
+ if (preValidatedCustomDomainResourceId() != null) {
+ preValidatedCustomDomainResourceId().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
new file mode 100644
index 0000000000000..5a8acf2ccacb4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.AutoGeneratedDomainNameLabelScope;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * Azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration information such
+ * as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format
+ * <endpointname>.azureedge.net.
+ */
+@Fluent
+public final class AfdEndpointInner extends Resource {
+ /*
+ * The JSON object that contains the properties required to create an endpoint.
+ */
+ @JsonProperty(value = "properties")
+ private AfdEndpointProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of AfdEndpointInner class. */
+ public AfdEndpointInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties required to create an endpoint.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdEndpointProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g.
+ * contoso.azureedge.net.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Get the autoGeneratedDomainNameLabelScope property: Indicates the endpoint name reuse scope. The default value is
+ * TenantReuse.
+ *
+ * @return the autoGeneratedDomainNameLabelScope value.
+ */
+ public AutoGeneratedDomainNameLabelScope autoGeneratedDomainNameLabelScope() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoGeneratedDomainNameLabelScope();
+ }
+
+ /**
+ * Set the autoGeneratedDomainNameLabelScope property: Indicates the endpoint name reuse scope. The default value is
+ * TenantReuse.
+ *
+ * @param autoGeneratedDomainNameLabelScope the autoGeneratedDomainNameLabelScope value to set.
+ * @return the AfdEndpointInner object itself.
+ */
+ public AfdEndpointInner withAutoGeneratedDomainNameLabelScope(
+ AutoGeneratedDomainNameLabelScope autoGeneratedDomainNameLabelScope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdEndpointProperties();
+ }
+ this.innerProperties().withAutoGeneratedDomainNameLabelScope(autoGeneratedDomainNameLabelScope);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the endpoint.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.innerProperties() == null ? null : this.innerProperties().enabledState();
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdEndpointInner object itself.
+ */
+ public AfdEndpointInner withEnabledState(EnabledState enabledState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdEndpointProperties();
+ }
+ this.innerProperties().withEnabledState(enabledState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java
new file mode 100644
index 0000000000000..3e66f7416b9c0
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java
@@ -0,0 +1,112 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.AutoGeneratedDomainNameLabelScope;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties required to create an endpoint. */
+@Fluent
+public final class AfdEndpointProperties extends AfdEndpointPropertiesUpdateParameters {
+ /*
+ * The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net
+ */
+ @JsonProperty(value = "hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * Indicates the endpoint name reuse scope. The default value is TenantReuse.
+ */
+ @JsonProperty(value = "autoGeneratedDomainNameLabelScope")
+ private AutoGeneratedDomainNameLabelScope autoGeneratedDomainNameLabelScope;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /** Creates an instance of AfdEndpointProperties class. */
+ public AfdEndpointProperties() {
+ }
+
+ /**
+ * Get the hostname property: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g.
+ * contoso.azureedge.net.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Get the autoGeneratedDomainNameLabelScope property: Indicates the endpoint name reuse scope. The default value is
+ * TenantReuse.
+ *
+ * @return the autoGeneratedDomainNameLabelScope value.
+ */
+ public AutoGeneratedDomainNameLabelScope autoGeneratedDomainNameLabelScope() {
+ return this.autoGeneratedDomainNameLabelScope;
+ }
+
+ /**
+ * Set the autoGeneratedDomainNameLabelScope property: Indicates the endpoint name reuse scope. The default value is
+ * TenantReuse.
+ *
+ * @param autoGeneratedDomainNameLabelScope the autoGeneratedDomainNameLabelScope value to set.
+ * @return the AfdEndpointProperties object itself.
+ */
+ public AfdEndpointProperties withAutoGeneratedDomainNameLabelScope(
+ AutoGeneratedDomainNameLabelScope autoGeneratedDomainNameLabelScope) {
+ this.autoGeneratedDomainNameLabelScope = autoGeneratedDomainNameLabelScope;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointProperties withEnabledState(EnabledState enabledState) {
+ super.withEnabledState(enabledState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java
new file mode 100644
index 0000000000000..21e3ad6d1a503
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object containing endpoint update parameters. */
+@Fluent
+public class AfdEndpointPropertiesUpdateParameters {
+ /*
+ * The name of the profile which holds the endpoint.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'
+ */
+ @JsonProperty(value = "enabledState")
+ private EnabledState enabledState;
+
+ /** Creates an instance of AfdEndpointPropertiesUpdateParameters class. */
+ public AfdEndpointPropertiesUpdateParameters() {
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the endpoint.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.enabledState;
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdEndpointPropertiesUpdateParameters object itself.
+ */
+ public AfdEndpointPropertiesUpdateParameters withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
new file mode 100644
index 0000000000000..44e575bf8ae2b
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
@@ -0,0 +1,201 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.LoadBalancingSettingsParameters;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be served from
+ * Azure Front Door.
+ */
+@Fluent
+public final class AfdOriginGroupInner extends ProxyResource {
+ /*
+ * The JSON object that contains the properties of the origin group.
+ */
+ @JsonProperty(value = "properties")
+ private AfdOriginGroupProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of AfdOriginGroupInner class. */
+ public AfdOriginGroupInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the origin group.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdOriginGroupProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the origin group.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @return the loadBalancingSettings value.
+ */
+ public LoadBalancingSettingsParameters loadBalancingSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().loadBalancingSettings();
+ }
+
+ /**
+ * Set the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @param loadBalancingSettings the loadBalancingSettings value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withLoadBalancingSettings(LoadBalancingSettingsParameters loadBalancingSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withLoadBalancingSettings(loadBalancingSettings);
+ return this;
+ }
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().healthProbeSettings();
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withHealthProbeSettings(healthProbeSettings);
+ return this;
+ }
+
+ /**
+ * Get the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @return the trafficRestorationTimeToHealedOrNewEndpointsInMinutes value.
+ */
+ public Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes() {
+ return this.innerProperties() == null
+ ? null
+ : this.innerProperties().trafficRestorationTimeToHealedOrNewEndpointsInMinutes();
+ }
+
+ /**
+ * Set the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @param trafficRestorationTimeToHealedOrNewEndpointsInMinutes the
+ * trafficRestorationTimeToHealedOrNewEndpointsInMinutes value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this
+ .innerProperties()
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes);
+ return this;
+ }
+
+ /**
+ * Get the sessionAffinityState property: Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'.
+ *
+ * @return the sessionAffinityState value.
+ */
+ public EnabledState sessionAffinityState() {
+ return this.innerProperties() == null ? null : this.innerProperties().sessionAffinityState();
+ }
+
+ /**
+ * Set the sessionAffinityState property: Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'.
+ *
+ * @param sessionAffinityState the sessionAffinityState value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withSessionAffinityState(EnabledState sessionAffinityState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withSessionAffinityState(sessionAffinityState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java
new file mode 100644
index 0000000000000..cf15d1c95ecfd
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.LoadBalancingSettingsParameters;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the origin group. */
+@Fluent
+public final class AfdOriginGroupProperties extends AfdOriginGroupUpdatePropertiesParameters {
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /** Creates an instance of AfdOriginGroupProperties class. */
+ public AfdOriginGroupProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withLoadBalancingSettings(LoadBalancingSettingsParameters loadBalancingSettings) {
+ super.withLoadBalancingSettings(loadBalancingSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ super.withHealthProbeSettings(healthProbeSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ super
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withSessionAffinityState(EnabledState sessionAffinityState) {
+ super.withSessionAffinityState(sessionAffinityState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..e22894660b8ff
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java
@@ -0,0 +1,165 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.LoadBalancingSettingsParameters;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the origin group. */
+@Fluent
+public class AfdOriginGroupUpdatePropertiesParameters {
+ /*
+ * The name of the profile which holds the origin group.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * Load balancing settings for a backend pool
+ */
+ @JsonProperty(value = "loadBalancingSettings")
+ private LoadBalancingSettingsParameters loadBalancingSettings;
+
+ /*
+ * Health probe settings to the origin that is used to determine the health of the origin.
+ */
+ @JsonProperty(value = "healthProbeSettings")
+ private HealthProbeParameters healthProbeSettings;
+
+ /*
+ * Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new
+ * endpoint is added. Default is 10 mins. This property is currently not supported.
+ */
+ @JsonProperty(value = "trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'
+ */
+ @JsonProperty(value = "sessionAffinityState")
+ private EnabledState sessionAffinityState;
+
+ /** Creates an instance of AfdOriginGroupUpdatePropertiesParameters class. */
+ public AfdOriginGroupUpdatePropertiesParameters() {
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the origin group.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @return the loadBalancingSettings value.
+ */
+ public LoadBalancingSettingsParameters loadBalancingSettings() {
+ return this.loadBalancingSettings;
+ }
+
+ /**
+ * Set the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @param loadBalancingSettings the loadBalancingSettings value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withLoadBalancingSettings(
+ LoadBalancingSettingsParameters loadBalancingSettings) {
+ this.loadBalancingSettings = loadBalancingSettings;
+ return this;
+ }
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.healthProbeSettings;
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ this.healthProbeSettings = healthProbeSettings;
+ return this;
+ }
+
+ /**
+ * Get the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @return the trafficRestorationTimeToHealedOrNewEndpointsInMinutes value.
+ */
+ public Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes() {
+ return this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ }
+
+ /**
+ * Set the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @param trafficRestorationTimeToHealedOrNewEndpointsInMinutes the
+ * trafficRestorationTimeToHealedOrNewEndpointsInMinutes value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes =
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ return this;
+ }
+
+ /**
+ * Get the sessionAffinityState property: Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'.
+ *
+ * @return the sessionAffinityState value.
+ */
+ public EnabledState sessionAffinityState() {
+ return this.sessionAffinityState;
+ }
+
+ /**
+ * Set the sessionAffinityState property: Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'.
+ *
+ * @param sessionAffinityState the sessionAffinityState value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withSessionAffinityState(EnabledState sessionAffinityState) {
+ this.sessionAffinityState = sessionAffinityState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (loadBalancingSettings() != null) {
+ loadBalancingSettings().validate();
+ }
+ if (healthProbeSettings() != null) {
+ healthProbeSettings().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java
new file mode 100644
index 0000000000000..522fb90890fae
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java
@@ -0,0 +1,341 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SharedPrivateLinkResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Azure Front Door origin is the source of the content being delivered via Azure Front Door. When the edge nodes
+ * represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the
+ * configured origins.
+ */
+@Fluent
+public final class AfdOriginInner extends ProxyResource {
+ /*
+ * The JSON object that contains the properties of the origin.
+ */
+ @JsonProperty(value = "properties")
+ private AfdOriginProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of AfdOriginInner class. */
+ public AfdOriginInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the origin.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdOriginProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the originGroupName property: The name of the origin group which contains this origin.
+ *
+ * @return the originGroupName value.
+ */
+ public String originGroupName() {
+ return this.innerProperties() == null ? null : this.innerProperties().originGroupName();
+ }
+
+ /**
+ * Get the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @return the azureOrigin value.
+ */
+ public ResourceReference azureOrigin() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureOrigin();
+ }
+
+ /**
+ * Set the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @param azureOrigin the azureOrigin value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withAzureOrigin(ResourceReference azureOrigin) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withAzureOrigin(azureOrigin);
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @return the httpPort value.
+ */
+ public Integer httpPort() {
+ return this.innerProperties() == null ? null : this.innerProperties().httpPort();
+ }
+
+ /**
+ * Set the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @param httpPort the httpPort value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHttpPort(Integer httpPort) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHttpPort(httpPort);
+ return this;
+ }
+
+ /**
+ * Get the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @return the httpsPort value.
+ */
+ public Integer httpsPort() {
+ return this.innerProperties() == null ? null : this.innerProperties().httpsPort();
+ }
+
+ /**
+ * Set the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @param httpsPort the httpsPort value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHttpsPort(Integer httpsPort) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHttpsPort(httpsPort);
+ return this;
+ }
+
+ /**
+ * Get the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and
+ * Cloud Services require this host header value to match the origin hostname by default. This overrides the host
+ * header defined at Endpoint.
+ *
+ * @return the originHostHeader value.
+ */
+ public String originHostHeader() {
+ return this.innerProperties() == null ? null : this.innerProperties().originHostHeader();
+ }
+
+ /**
+ * Set the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and
+ * Cloud Services require this host header value to match the origin hostname by default. This overrides the host
+ * header defined at Endpoint.
+ *
+ * @param originHostHeader the originHostHeader value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withOriginHostHeader(String originHostHeader) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withOriginHostHeader(originHostHeader);
+ return this;
+ }
+
+ /**
+ * Get the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @return the priority value.
+ */
+ public Integer priority() {
+ return this.innerProperties() == null ? null : this.innerProperties().priority();
+ }
+
+ /**
+ * Set the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @param priority the priority value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withPriority(Integer priority) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withPriority(priority);
+ return this;
+ }
+
+ /**
+ * Get the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @return the weight value.
+ */
+ public Integer weight() {
+ return this.innerProperties() == null ? null : this.innerProperties().weight();
+ }
+
+ /**
+ * Set the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @param weight the weight value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withWeight(Integer weight) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withWeight(weight);
+ return this;
+ }
+
+ /**
+ * Get the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @return the sharedPrivateLinkResource value.
+ */
+ public SharedPrivateLinkResourceProperties sharedPrivateLinkResource() {
+ return this.innerProperties() == null ? null : this.innerProperties().sharedPrivateLinkResource();
+ }
+
+ /**
+ * Set the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @param sharedPrivateLinkResource the sharedPrivateLinkResource value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withSharedPrivateLinkResource(SharedPrivateLinkResourceProperties sharedPrivateLinkResource) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withSharedPrivateLinkResource(sharedPrivateLinkResource);
+ return this;
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.innerProperties() == null ? null : this.innerProperties().enabledState();
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withEnabledState(EnabledState enabledState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withEnabledState(enabledState);
+ return this;
+ }
+
+ /**
+ * Get the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @return the enforceCertificateNameCheck value.
+ */
+ public Boolean enforceCertificateNameCheck() {
+ return this.innerProperties() == null ? null : this.innerProperties().enforceCertificateNameCheck();
+ }
+
+ /**
+ * Set the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @param enforceCertificateNameCheck the enforceCertificateNameCheck value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withEnforceCertificateNameCheck(enforceCertificateNameCheck);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java
new file mode 100644
index 0000000000000..cda05d0d5f2e5
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SharedPrivateLinkResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the origin. */
+@Fluent
+public final class AfdOriginProperties extends AfdOriginUpdatePropertiesParameters {
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /** Creates an instance of AfdOriginProperties class. */
+ public AfdOriginProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withAzureOrigin(ResourceReference azureOrigin) {
+ super.withAzureOrigin(azureOrigin);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHostname(String hostname) {
+ super.withHostname(hostname);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHttpPort(Integer httpPort) {
+ super.withHttpPort(httpPort);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHttpsPort(Integer httpsPort) {
+ super.withHttpsPort(httpsPort);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withOriginHostHeader(String originHostHeader) {
+ super.withOriginHostHeader(originHostHeader);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withPriority(Integer priority) {
+ super.withPriority(priority);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withWeight(Integer weight) {
+ super.withWeight(weight);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withSharedPrivateLinkResource(
+ SharedPrivateLinkResourceProperties sharedPrivateLinkResource) {
+ super.withSharedPrivateLinkResource(sharedPrivateLinkResource);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withEnabledState(EnabledState enabledState) {
+ super.withEnabledState(enabledState);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ super.withEnforceCertificateNameCheck(enforceCertificateNameCheck);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..3d66e037975ff
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java
@@ -0,0 +1,330 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SharedPrivateLinkResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the origin. */
+@Fluent
+public class AfdOriginUpdatePropertiesParameters {
+ /*
+ * The name of the origin group which contains this origin.
+ */
+ @JsonProperty(value = "originGroupName", access = JsonProperty.Access.WRITE_ONLY)
+ private String originGroupName;
+
+ /*
+ * Resource reference to the Azure origin resource.
+ */
+ @JsonProperty(value = "azureOrigin")
+ private ResourceReference azureOrigin;
+
+ /*
+ * The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique
+ * across all origins in an endpoint.
+ */
+ @JsonProperty(value = "hostName")
+ private String hostname;
+
+ /*
+ * The value of the HTTP port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpPort")
+ private Integer httpPort;
+
+ /*
+ * The value of the HTTPS port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpsPort")
+ private Integer httpsPort;
+
+ /*
+ * The host header value sent to the origin with each request. If you leave this blank, the request hostname
+ * determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this
+ * host header value to match the origin hostname by default. This overrides the host header defined at Endpoint
+ */
+ @JsonProperty(value = "originHostHeader")
+ private String originHostHeader;
+
+ /*
+ * Priority of origin in given origin group for load balancing. Higher priorities will not be used for load
+ * balancing if any lower priority origin is healthy.Must be between 1 and 5
+ */
+ @JsonProperty(value = "priority")
+ private Integer priority;
+
+ /*
+ * Weight of the origin in given origin group for load balancing. Must be between 1 and 1000
+ */
+ @JsonProperty(value = "weight")
+ private Integer weight;
+
+ /*
+ * The properties of the private link resource for private origin.
+ */
+ @JsonProperty(value = "sharedPrivateLinkResource")
+ private SharedPrivateLinkResourceProperties sharedPrivateLinkResource;
+
+ /*
+ * Whether to enable health probes to be made against backends defined under backendPools. Health probes can only
+ * be disabled if there is a single enabled backend in single enabled backend pool.
+ */
+ @JsonProperty(value = "enabledState")
+ private EnabledState enabledState;
+
+ /*
+ * Whether to enable certificate name check at origin level
+ */
+ @JsonProperty(value = "enforceCertificateNameCheck")
+ private Boolean enforceCertificateNameCheck;
+
+ /** Creates an instance of AfdOriginUpdatePropertiesParameters class. */
+ public AfdOriginUpdatePropertiesParameters() {
+ }
+
+ /**
+ * Get the originGroupName property: The name of the origin group which contains this origin.
+ *
+ * @return the originGroupName value.
+ */
+ public String originGroupName() {
+ return this.originGroupName;
+ }
+
+ /**
+ * Get the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @return the azureOrigin value.
+ */
+ public ResourceReference azureOrigin() {
+ return this.azureOrigin;
+ }
+
+ /**
+ * Set the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @param azureOrigin the azureOrigin value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withAzureOrigin(ResourceReference azureOrigin) {
+ this.azureOrigin = azureOrigin;
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @return the httpPort value.
+ */
+ public Integer httpPort() {
+ return this.httpPort;
+ }
+
+ /**
+ * Set the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @param httpPort the httpPort value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHttpPort(Integer httpPort) {
+ this.httpPort = httpPort;
+ return this;
+ }
+
+ /**
+ * Get the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @return the httpsPort value.
+ */
+ public Integer httpsPort() {
+ return this.httpsPort;
+ }
+
+ /**
+ * Set the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @param httpsPort the httpsPort value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHttpsPort(Integer httpsPort) {
+ this.httpsPort = httpsPort;
+ return this;
+ }
+
+ /**
+ * Get the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and
+ * Cloud Services require this host header value to match the origin hostname by default. This overrides the host
+ * header defined at Endpoint.
+ *
+ * @return the originHostHeader value.
+ */
+ public String originHostHeader() {
+ return this.originHostHeader;
+ }
+
+ /**
+ * Set the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and
+ * Cloud Services require this host header value to match the origin hostname by default. This overrides the host
+ * header defined at Endpoint.
+ *
+ * @param originHostHeader the originHostHeader value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withOriginHostHeader(String originHostHeader) {
+ this.originHostHeader = originHostHeader;
+ return this;
+ }
+
+ /**
+ * Get the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @return the priority value.
+ */
+ public Integer priority() {
+ return this.priority;
+ }
+
+ /**
+ * Set the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @param priority the priority value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withPriority(Integer priority) {
+ this.priority = priority;
+ return this;
+ }
+
+ /**
+ * Get the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @return the weight value.
+ */
+ public Integer weight() {
+ return this.weight;
+ }
+
+ /**
+ * Set the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @param weight the weight value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withWeight(Integer weight) {
+ this.weight = weight;
+ return this;
+ }
+
+ /**
+ * Get the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @return the sharedPrivateLinkResource value.
+ */
+ public SharedPrivateLinkResourceProperties sharedPrivateLinkResource() {
+ return this.sharedPrivateLinkResource;
+ }
+
+ /**
+ * Set the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @param sharedPrivateLinkResource the sharedPrivateLinkResource value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withSharedPrivateLinkResource(
+ SharedPrivateLinkResourceProperties sharedPrivateLinkResource) {
+ this.sharedPrivateLinkResource = sharedPrivateLinkResource;
+ return this;
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.enabledState;
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ return this;
+ }
+
+ /**
+ * Get the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @return the enforceCertificateNameCheck value.
+ */
+ public Boolean enforceCertificateNameCheck() {
+ return this.enforceCertificateNameCheck;
+ }
+
+ /**
+ * Set the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @param enforceCertificateNameCheck the enforceCertificateNameCheck value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ this.enforceCertificateNameCheck = enforceCertificateNameCheck;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (azureOrigin() != null) {
+ azureOrigin().validate();
+ }
+ if (sharedPrivateLinkResource() != null) {
+ sharedPrivateLinkResource().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateResultInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateResultInner.java
new file mode 100644
index 0000000000000..2c277ee34981c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateResultInner.java
@@ -0,0 +1,86 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.CanMigrateDefaultSku;
+import com.azure.resourcemanager.cdn.generated.models.MigrationErrorType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Result for canMigrate operation. */
+@Fluent
+public final class CanMigrateResultInner {
+ /*
+ * Flag that says if the profile can be migrated
+ */
+ @JsonProperty(value = "canMigrate", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean canMigrate;
+
+ /*
+ * Recommended sku for the migration
+ */
+ @JsonProperty(value = "defaultSku", access = JsonProperty.Access.WRITE_ONLY)
+ private CanMigrateDefaultSku defaultSku;
+
+ /*
+ * The errors property.
+ */
+ @JsonProperty(value = "errors")
+ private List errors;
+
+ /** Creates an instance of CanMigrateResultInner class. */
+ public CanMigrateResultInner() {
+ }
+
+ /**
+ * Get the canMigrate property: Flag that says if the profile can be migrated.
+ *
+ * @return the canMigrate value.
+ */
+ public Boolean canMigrate() {
+ return this.canMigrate;
+ }
+
+ /**
+ * Get the defaultSku property: Recommended sku for the migration.
+ *
+ * @return the defaultSku value.
+ */
+ public CanMigrateDefaultSku defaultSku() {
+ return this.defaultSku;
+ }
+
+ /**
+ * Get the errors property: The errors property.
+ *
+ * @return the errors value.
+ */
+ public List errors() {
+ return this.errors;
+ }
+
+ /**
+ * Set the errors property: The errors property.
+ *
+ * @param errors the errors value to set.
+ * @return the CanMigrateResultInner object itself.
+ */
+ public CanMigrateResultInner withErrors(List errors) {
+ this.errors = errors;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (errors() != null) {
+ errors().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
new file mode 100644
index 0000000000000..5bf686b583f34
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
@@ -0,0 +1,293 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CdnEndpoint;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleList;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSetList;
+import com.azure.resourcemanager.cdn.generated.models.PolicyResourceState;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettings;
+import com.azure.resourcemanager.cdn.generated.models.ProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRuleList;
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Defines web application firewall policy for Azure CDN. */
+@Fluent
+public final class CdnWebApplicationFirewallPolicyInner extends Resource {
+ /*
+ * Properties of the web application firewall policy.
+ */
+ @JsonProperty(value = "properties")
+ private CdnWebApplicationFirewallPolicyProperties innerProperties;
+
+ /*
+ * Gets a unique read-only string that changes whenever the resource is updated.
+ */
+ @JsonProperty(value = "etag")
+ private String etag;
+
+ /*
+ * The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "sku", required = true)
+ private Sku sku;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of CdnWebApplicationFirewallPolicyInner class. */
+ public CdnWebApplicationFirewallPolicyInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties of the web application firewall policy.
+ *
+ * @return the innerProperties value.
+ */
+ private CdnWebApplicationFirewallPolicyProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the etag property: Gets a unique read-only string that changes whenever the resource is updated.
+ *
+ * @return the etag value.
+ */
+ public String etag() {
+ return this.etag;
+ }
+
+ /**
+ * Set the etag property: Gets a unique read-only string that changes whenever the resource is updated.
+ *
+ * @param etag the etag value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withEtag(String etag) {
+ this.etag = etag;
+ return this;
+ }
+
+ /**
+ * Get the sku property: The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ *
+ * @return the sku value.
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ *
+ * @param sku the sku value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public CdnWebApplicationFirewallPolicyInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public CdnWebApplicationFirewallPolicyInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the policySettings property: Describes policySettings for policy.
+ *
+ * @return the policySettings value.
+ */
+ public PolicySettings policySettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().policySettings();
+ }
+
+ /**
+ * Set the policySettings property: Describes policySettings for policy.
+ *
+ * @param policySettings the policySettings value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withPolicySettings(PolicySettings policySettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withPolicySettings(policySettings);
+ return this;
+ }
+
+ /**
+ * Get the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @return the rateLimitRules value.
+ */
+ public RateLimitRuleList rateLimitRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().rateLimitRules();
+ }
+
+ /**
+ * Set the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @param rateLimitRules the rateLimitRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withRateLimitRules(RateLimitRuleList rateLimitRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withRateLimitRules(rateLimitRules);
+ return this;
+ }
+
+ /**
+ * Get the customRules property: Describes custom rules inside the policy.
+ *
+ * @return the customRules value.
+ */
+ public CustomRuleList customRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().customRules();
+ }
+
+ /**
+ * Set the customRules property: Describes custom rules inside the policy.
+ *
+ * @param customRules the customRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withCustomRules(CustomRuleList customRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withCustomRules(customRules);
+ return this;
+ }
+
+ /**
+ * Get the managedRules property: Describes managed rules inside the policy.
+ *
+ * @return the managedRules value.
+ */
+ public ManagedRuleSetList managedRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedRules();
+ }
+
+ /**
+ * Set the managedRules property: Describes managed rules inside the policy.
+ *
+ * @param managedRules the managedRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withManagedRules(ManagedRuleSetList managedRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withManagedRules(managedRules);
+ return this;
+ }
+
+ /**
+ * Get the endpointLinks property: Describes Azure CDN endpoints associated with this Web Application Firewall
+ * policy.
+ *
+ * @return the endpointLinks value.
+ */
+ public List endpointLinks() {
+ return this.innerProperties() == null ? null : this.innerProperties().endpointLinks();
+ }
+
+ /**
+ * Get the extendedProperties property: Key-Value pair representing additional properties for Web Application
+ * Firewall policy.
+ *
+ * @return the extendedProperties value.
+ */
+ public Map extendedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().extendedProperties();
+ }
+
+ /**
+ * Set the extendedProperties property: Key-Value pair representing additional properties for Web Application
+ * Firewall policy.
+ *
+ * @param extendedProperties the extendedProperties value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withExtendedProperties(Map extendedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withExtendedProperties(extendedProperties);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the WebApplicationFirewallPolicy.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the policy.
+ *
+ * @return the resourceState value.
+ */
+ public PolicyResourceState resourceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ if (sku() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sku in model CdnWebApplicationFirewallPolicyInner"));
+ } else {
+ sku().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CdnWebApplicationFirewallPolicyInner.class);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java
new file mode 100644
index 0000000000000..e67de7d7d44bf
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java
@@ -0,0 +1,228 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.CdnEndpoint;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleList;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSetList;
+import com.azure.resourcemanager.cdn.generated.models.PolicyResourceState;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettings;
+import com.azure.resourcemanager.cdn.generated.models.ProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRuleList;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Defines CDN web application firewall policy properties. */
+@Fluent
+public final class CdnWebApplicationFirewallPolicyProperties {
+ /*
+ * Describes policySettings for policy
+ */
+ @JsonProperty(value = "policySettings")
+ private PolicySettings policySettings;
+
+ /*
+ * Describes rate limit rules inside the policy.
+ */
+ @JsonProperty(value = "rateLimitRules")
+ private RateLimitRuleList rateLimitRules;
+
+ /*
+ * Describes custom rules inside the policy.
+ */
+ @JsonProperty(value = "customRules")
+ private CustomRuleList customRules;
+
+ /*
+ * Describes managed rules inside the policy.
+ */
+ @JsonProperty(value = "managedRules")
+ private ManagedRuleSetList managedRules;
+
+ /*
+ * Describes Azure CDN endpoints associated with this Web Application Firewall policy.
+ */
+ @JsonProperty(value = "endpointLinks", access = JsonProperty.Access.WRITE_ONLY)
+ private List endpointLinks;
+
+ /*
+ * Key-Value pair representing additional properties for Web Application Firewall policy.
+ */
+ @JsonProperty(value = "extendedProperties")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map extendedProperties;
+
+ /*
+ * Provisioning state of the WebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Resource status of the policy.
+ */
+ @JsonProperty(value = "resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private PolicyResourceState resourceState;
+
+ /** Creates an instance of CdnWebApplicationFirewallPolicyProperties class. */
+ public CdnWebApplicationFirewallPolicyProperties() {
+ }
+
+ /**
+ * Get the policySettings property: Describes policySettings for policy.
+ *
+ * @return the policySettings value.
+ */
+ public PolicySettings policySettings() {
+ return this.policySettings;
+ }
+
+ /**
+ * Set the policySettings property: Describes policySettings for policy.
+ *
+ * @param policySettings the policySettings value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withPolicySettings(PolicySettings policySettings) {
+ this.policySettings = policySettings;
+ return this;
+ }
+
+ /**
+ * Get the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @return the rateLimitRules value.
+ */
+ public RateLimitRuleList rateLimitRules() {
+ return this.rateLimitRules;
+ }
+
+ /**
+ * Set the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @param rateLimitRules the rateLimitRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withRateLimitRules(RateLimitRuleList rateLimitRules) {
+ this.rateLimitRules = rateLimitRules;
+ return this;
+ }
+
+ /**
+ * Get the customRules property: Describes custom rules inside the policy.
+ *
+ * @return the customRules value.
+ */
+ public CustomRuleList customRules() {
+ return this.customRules;
+ }
+
+ /**
+ * Set the customRules property: Describes custom rules inside the policy.
+ *
+ * @param customRules the customRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withCustomRules(CustomRuleList customRules) {
+ this.customRules = customRules;
+ return this;
+ }
+
+ /**
+ * Get the managedRules property: Describes managed rules inside the policy.
+ *
+ * @return the managedRules value.
+ */
+ public ManagedRuleSetList managedRules() {
+ return this.managedRules;
+ }
+
+ /**
+ * Set the managedRules property: Describes managed rules inside the policy.
+ *
+ * @param managedRules the managedRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withManagedRules(ManagedRuleSetList managedRules) {
+ this.managedRules = managedRules;
+ return this;
+ }
+
+ /**
+ * Get the endpointLinks property: Describes Azure CDN endpoints associated with this Web Application Firewall
+ * policy.
+ *
+ * @return the endpointLinks value.
+ */
+ public List endpointLinks() {
+ return this.endpointLinks;
+ }
+
+ /**
+ * Get the extendedProperties property: Key-Value pair representing additional properties for Web Application
+ * Firewall policy.
+ *
+ * @return the extendedProperties value.
+ */
+ public Map extendedProperties() {
+ return this.extendedProperties;
+ }
+
+ /**
+ * Set the extendedProperties property: Key-Value pair representing additional properties for Web Application
+ * Firewall policy.
+ *
+ * @param extendedProperties the extendedProperties value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withExtendedProperties(Map extendedProperties) {
+ this.extendedProperties = extendedProperties;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the WebApplicationFirewallPolicy.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the policy.
+ *
+ * @return the resourceState value.
+ */
+ public PolicyResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (policySettings() != null) {
+ policySettings().validate();
+ }
+ if (rateLimitRules() != null) {
+ rateLimitRules().validate();
+ }
+ if (customRules() != null) {
+ customRules().validate();
+ }
+ if (managedRules() != null) {
+ managedRules().validate();
+ }
+ if (endpointLinks() != null) {
+ endpointLinks().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckEndpointNameAvailabilityOutputInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckEndpointNameAvailabilityOutputInner.java
new file mode 100644
index 0000000000000..c4c264b7914d8
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckEndpointNameAvailabilityOutputInner.java
@@ -0,0 +1,86 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Output of check name availability API. */
+@Immutable
+public final class CheckEndpointNameAvailabilityOutputInner {
+ /*
+ * Indicates whether the name is available.
+ */
+ @JsonProperty(value = "nameAvailable", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean nameAvailable;
+
+ /*
+ * Returns the available hostname generated based on the AutoGeneratedDomainNameLabelScope when the name is
+ * available, otherwise it returns empty string
+ */
+ @JsonProperty(value = "availableHostname", access = JsonProperty.Access.WRITE_ONLY)
+ private String availableHostname;
+
+ /*
+ * The reason why the name is not available.
+ */
+ @JsonProperty(value = "reason", access = JsonProperty.Access.WRITE_ONLY)
+ private String reason;
+
+ /*
+ * The detailed error message describing why the name is not available.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /** Creates an instance of CheckEndpointNameAvailabilityOutputInner class. */
+ public CheckEndpointNameAvailabilityOutputInner() {
+ }
+
+ /**
+ * Get the nameAvailable property: Indicates whether the name is available.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Get the availableHostname property: Returns the available hostname generated based on the
+ * AutoGeneratedDomainNameLabelScope when the name is available, otherwise it returns empty string.
+ *
+ * @return the availableHostname value.
+ */
+ public String availableHostname() {
+ return this.availableHostname;
+ }
+
+ /**
+ * Get the reason property: The reason why the name is not available.
+ *
+ * @return the reason value.
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Get the message property: The detailed error message describing why the name is not available.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java
new file mode 100644
index 0000000000000..bda26e96b22c9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Output of check name availability API. */
+@Immutable
+public final class CheckNameAvailabilityOutputInner {
+ /*
+ * Indicates whether the name is available.
+ */
+ @JsonProperty(value = "nameAvailable", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean nameAvailable;
+
+ /*
+ * The reason why the name is not available.
+ */
+ @JsonProperty(value = "reason", access = JsonProperty.Access.WRITE_ONLY)
+ private String reason;
+
+ /*
+ * The detailed error message describing why the name is not available.
+ */
+ @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY)
+ private String message;
+
+ /** Creates an instance of CheckNameAvailabilityOutputInner class. */
+ public CheckNameAvailabilityOutputInner() {
+ }
+
+ /**
+ * Get the nameAvailable property: Indicates whether the name is available.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Get the reason property: The reason why the name is not available.
+ *
+ * @return the reason value.
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Get the message property: The detailed error message describing why the name is not available.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ContinentsResponseInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ContinentsResponseInner.java
new file mode 100644
index 0000000000000..be6a06a47727f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ContinentsResponseInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.cdn.generated.models.ContinentsResponseContinentsItem;
+import com.azure.resourcemanager.cdn.generated.models.ContinentsResponseCountryOrRegionsItem;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Continents Response. */
+@Fluent
+public final class ContinentsResponseInner {
+ /*
+ * The continents property.
+ */
+ @JsonProperty(value = "continents")
+ private List continents;
+
+ /*
+ * The countryOrRegions property.
+ */
+ @JsonProperty(value = "countryOrRegions")
+ private List countryOrRegions;
+
+ /** Creates an instance of ContinentsResponseInner class. */
+ public ContinentsResponseInner() {
+ }
+
+ /**
+ * Get the continents property: The continents property.
+ *
+ * @return the continents value.
+ */
+ public List continents() {
+ return this.continents;
+ }
+
+ /**
+ * Set the continents property: The continents property.
+ *
+ * @param continents the continents value to set.
+ * @return the ContinentsResponseInner object itself.
+ */
+ public ContinentsResponseInner withContinents(List continents) {
+ this.continents = continents;
+ return this;
+ }
+
+ /**
+ * Get the countryOrRegions property: The countryOrRegions property.
+ *
+ * @return the countryOrRegions value.
+ */
+ public List countryOrRegions() {
+ return this.countryOrRegions;
+ }
+
+ /**
+ * Set the countryOrRegions property: The countryOrRegions property.
+ *
+ * @param countryOrRegions the countryOrRegions value to set.
+ * @return the ContinentsResponseInner object itself.
+ */
+ public ContinentsResponseInner withCountryOrRegions(List countryOrRegions) {
+ this.countryOrRegions = countryOrRegions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (continents() != null) {
+ continents().forEach(e -> e.validate());
+ }
+ if (countryOrRegions() != null) {
+ countryOrRegions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java
new file mode 100644
index 0000000000000..d260ed67c8fdf
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java
@@ -0,0 +1,176 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainResourceState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningSubstate;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g.
+ * www.contoso.com.
+ */
+@Fluent
+public final class CustomDomainInner extends ProxyResource {
+ /*
+ * The JSON object that contains the properties of the custom domain to create.
+ */
+ @JsonProperty(value = "properties")
+ private CustomDomainProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /** Creates an instance of CustomDomainInner class. */
+ public CustomDomainInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the custom domain to create.
+ *
+ * @return the innerProperties value.
+ */
+ private CustomDomainProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the custom domain.
+ *
+ * @return the resourceState value.
+ */
+ public CustomDomainResourceState resourceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceState();
+ }
+
+ /**
+ * Get the customHttpsProvisioningState property: Provisioning status of the custom domain.
+ *
+ * @return the customHttpsProvisioningState value.
+ */
+ public CustomHttpsProvisioningState customHttpsProvisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsProvisioningState();
+ }
+
+ /**
+ * Get the customHttpsProvisioningSubstate property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ *
+ * @return the customHttpsProvisioningSubstate value.
+ */
+ public CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsProvisioningSubstate();
+ }
+
+ /**
+ * Get the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @return the customHttpsParameters value.
+ */
+ public CustomDomainHttpsParameters customHttpsParameters() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsParameters();
+ }
+
+ /**
+ * Set the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @param customHttpsParameters the customHttpsParameters value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withCustomHttpsParameters(CustomDomainHttpsParameters customHttpsParameters) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withCustomHttpsParameters(customHttpsParameters);
+ return this;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.innerProperties() == null ? null : this.innerProperties().validationData();
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withValidationData(String validationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withValidationData(validationData);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of Custom Https of the custom domain.
+ *
+ * @return the provisioningState value.
+ */
+ public CustomHttpsProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java
new file mode 100644
index 0000000000000..414999f29c511
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java
@@ -0,0 +1,183 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainResourceState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningSubstate;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the custom domain to create. */
+@Fluent
+public final class CustomDomainProperties {
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * Resource status of the custom domain.
+ */
+ @JsonProperty(value = "resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomDomainResourceState resourceState;
+
+ /*
+ * Provisioning status of the custom domain.
+ */
+ @JsonProperty(value = "customHttpsProvisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningState customHttpsProvisioningState;
+
+ /*
+ * Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.
+ */
+ @JsonProperty(value = "customHttpsProvisioningSubstate", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate;
+
+ /*
+ * Certificate parameters for securing custom HTTPS
+ */
+ @JsonProperty(value = "customHttpsParameters")
+ private CustomDomainHttpsParameters customHttpsParameters;
+
+ /*
+ * Special validation or data may be required when delivering CDN to some regions due to local compliance reasons.
+ * E.g. ICP license number of a custom domain is required to deliver content in China.
+ */
+ @JsonProperty(value = "validationData")
+ private String validationData;
+
+ /*
+ * Provisioning status of Custom Https of the custom domain.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningState provisioningState;
+
+ /** Creates an instance of CustomDomainProperties class. */
+ public CustomDomainProperties() {
+ }
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the custom domain.
+ *
+ * @return the resourceState value.
+ */
+ public CustomDomainResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the customHttpsProvisioningState property: Provisioning status of the custom domain.
+ *
+ * @return the customHttpsProvisioningState value.
+ */
+ public CustomHttpsProvisioningState customHttpsProvisioningState() {
+ return this.customHttpsProvisioningState;
+ }
+
+ /**
+ * Get the customHttpsProvisioningSubstate property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ *
+ * @return the customHttpsProvisioningSubstate value.
+ */
+ public CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate() {
+ return this.customHttpsProvisioningSubstate;
+ }
+
+ /**
+ * Get the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @return the customHttpsParameters value.
+ */
+ public CustomDomainHttpsParameters customHttpsParameters() {
+ return this.customHttpsParameters;
+ }
+
+ /**
+ * Set the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @param customHttpsParameters the customHttpsParameters value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withCustomHttpsParameters(CustomDomainHttpsParameters customHttpsParameters) {
+ this.customHttpsParameters = customHttpsParameters;
+ return this;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.validationData;
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withValidationData(String validationData) {
+ this.validationData = validationData;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of Custom Https of the custom domain.
+ *
+ * @return the provisioningState value.
+ */
+ public CustomHttpsProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (hostname() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property hostname in model CustomDomainProperties"));
+ }
+ if (customHttpsParameters() != null) {
+ customHttpsParameters().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CustomDomainProperties.class);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java
new file mode 100644
index 0000000000000..15a961b7a4b37
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the custom domain to create. */
+@Fluent
+public final class CustomDomainPropertiesParameters {
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /** Creates an instance of CustomDomainPropertiesParameters class. */
+ public CustomDomainPropertiesParameters() {
+ }
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainPropertiesParameters object itself.
+ */
+ public CustomDomainPropertiesParameters withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (hostname() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property hostname in model CustomDomainPropertiesParameters"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CustomDomainPropertiesParameters.class);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedCustomDomainProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedCustomDomainProperties.java
new file mode 100644
index 0000000000000..b16f47f6fd008
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedCustomDomainProperties.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties of the custom domain created on the CDN endpoint. */
+@Fluent
+public final class DeepCreatedCustomDomainProperties {
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * Special validation or data may be required when delivering CDN to some regions due to local compliance reasons.
+ * E.g. ICP license number of a custom domain is required to deliver content in China.
+ */
+ @JsonProperty(value = "validationData")
+ private String validationData;
+
+ /** Creates an instance of DeepCreatedCustomDomainProperties class. */
+ public DeepCreatedCustomDomainProperties() {
+ }
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the DeepCreatedCustomDomainProperties object itself.
+ */
+ public DeepCreatedCustomDomainProperties withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.validationData;
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the DeepCreatedCustomDomainProperties object itself.
+ */
+ public DeepCreatedCustomDomainProperties withValidationData(String validationData) {
+ this.validationData = validationData;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (hostname() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property hostname in model DeepCreatedCustomDomainProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(DeepCreatedCustomDomainProperties.class);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java
new file mode 100644
index 0000000000000..fa71cca3ca9a9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java
@@ -0,0 +1,163 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResponseBasedOriginErrorDetectionParameters;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of the origin group created on the CDN endpoint. */
+@Fluent
+public final class DeepCreatedOriginGroupProperties {
+ /*
+ * Health probe settings to the origin that is used to determine the health of the origin.
+ */
+ @JsonProperty(value = "healthProbeSettings")
+ private HealthProbeParameters healthProbeSettings;
+
+ /*
+ * The source of the content being delivered via CDN within given origin group.
+ */
+ @JsonProperty(value = "origins", required = true)
+ private List origins;
+
+ /*
+ * Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new
+ * endpoint is added. Default is 10 mins. This property is currently not supported.
+ */
+ @JsonProperty(value = "trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * The JSON object that contains the properties to determine origin health using real requests/responses.This
+ * property is currently not supported.
+ */
+ @JsonProperty(value = "responseBasedOriginErrorDetectionSettings")
+ private ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings;
+
+ /** Creates an instance of DeepCreatedOriginGroupProperties class. */
+ public DeepCreatedOriginGroupProperties() {
+ }
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.healthProbeSettings;
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the DeepCreatedOriginGroupProperties object itself.
+ */
+ public DeepCreatedOriginGroupProperties withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ this.healthProbeSettings = healthProbeSettings;
+ return this;
+ }
+
+ /**
+ * Get the origins property: The source of the content being delivered via CDN within given origin group.
+ *
+ * @return the origins value.
+ */
+ public List