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;
+ }
+
+ /**
+ * Gets wrapped service client CdnManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client CdnManagementClient.
+ */
+ 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 000000000000..8e3cb9f39141
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
@@ -0,0 +1,361 @@
+// 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 000000000000..f65226b384c0
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
@@ -0,0 +1,460 @@
+// 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 000000000000..8ae6cab95ad1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java
@@ -0,0 +1,325 @@
+// 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 000000000000..5a687cf28bd1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
@@ -0,0 +1,306 @@
+// 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 000000000000..e0d2ab28b435
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
@@ -0,0 +1,224 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.CheckEndpointNameAvailabilityOutputInner;
+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.CheckEndpointNameAvailabilityInput;
+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 {
+ /**
+ * Check the availability of an afdx endpoint name, and return the globally unique endpoint host name.
+ *
+ * @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 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, String profileName,
+ CheckEndpointNameAvailabilityInput checkEndpointNameAvailabilityInput, Context context);
+
+ /**
+ * Check the availability of an afdx endpoint name, and return the globally unique endpoint host name.
+ *
+ * @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 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, String profileName,
+ CheckEndpointNameAvailabilityInput checkEndpointNameAvailabilityInput);
+
+ /**
+ * 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 000000000000..b00c0097b23c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CdnManagementClient.java
@@ -0,0 +1,202 @@
+// 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 000000000000..aaef40152d6b
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
@@ -0,0 +1,372 @@
+// 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 000000000000..5fd02b1cd68e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.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.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 000000000000..789190752488
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EndpointsClient.java
@@ -0,0 +1,635 @@
+// 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 000000000000..ba6d83dfd835
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java
@@ -0,0 +1,277 @@
+// 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 000000000000..f114dcec83b9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ManagedRuleSetsClient.java
@@ -0,0 +1,40 @@
+// 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 000000000000..d7a8cc46db37
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OperationsClient.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.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 000000000000..7de941a4fa72
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginGroupsClient.java
@@ -0,0 +1,294 @@
+// 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 000000000000..4a648b7468fd
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java
@@ -0,0 +1,284 @@
+// 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 000000000000..03f2e2705d7f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java
@@ -0,0 +1,233 @@
+// 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 000000000000..9bd3239d1ef5
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java
@@ -0,0 +1,578 @@
+// 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 canMigrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CanMigrateResultInner> beginCanMigrate(String resourceGroupName,
+ CanMigrateParameters canMigrateParameters);
+
+ /**
+ * 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 the {@link SyncPoller} for polling of result for canMigrate operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CanMigrateResultInner> beginCanMigrate(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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CanMigrateResultInner canMigrate(String resourceGroupName, CanMigrateParameters canMigrateParameters,
+ 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 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 000000000000..53019358adc8
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java
@@ -0,0 +1,140 @@
+// 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 000000000000..4acd4aaf746f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceUsagesClient.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.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 000000000000..84d7ac5ce4b5
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java
@@ -0,0 +1,320 @@
+// 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 000000000000..17dafc31b627
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
@@ -0,0 +1,215 @@
+// 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 000000000000..db2e0bebd234
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.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.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 000000000000..92579df92011
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
@@ -0,0 +1,212 @@
+// 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 000000000000..0828a3b9eda1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
@@ -0,0 +1,284 @@
+// 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 000000000000..5236ce31b062
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java
@@ -0,0 +1,238 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 000000000000..2003a38bfd19
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java
@@ -0,0 +1,190 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.atError()
+ .log(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 000000000000..39964719aca9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.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.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 000000000000..a7b2b79314cc
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
@@ -0,0 +1,174 @@
+// 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 000000000000..e0d6b69490f2
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java
@@ -0,0 +1,118 @@
+// 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 000000000000..805f55414b0a
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java
@@ -0,0 +1,70 @@
+// 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 000000000000..713abc4ac1c7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
@@ -0,0 +1,202 @@
+// 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 000000000000..f3a4872e7d54
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java
@@ -0,0 +1,103 @@
+// 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 000000000000..ff0f178331e1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.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.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 000000000000..e25ac2beaac9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java
@@ -0,0 +1,343 @@
+// 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 000000000000..488025f20e48
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java
@@ -0,0 +1,156 @@
+// 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 000000000000..798261b6696f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.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.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/CanMigrateProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateProperties.java
new file mode 100644
index 000000000000..b42b76a53c9e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateProperties.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.resourcemanager.cdn.generated.models.CanMigrateDefaultSku;
+import com.azure.resourcemanager.cdn.generated.models.MigrationErrorType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * The CanMigrateProperties model.
+ */
+@Fluent
+public final class CanMigrateProperties {
+ /*
+ * 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 CanMigrateProperties class.
+ */
+ public CanMigrateProperties() {
+ }
+
+ /**
+ * 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 CanMigrateProperties object itself.
+ */
+ public CanMigrateProperties 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/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 000000000000..c89f98ccc2ee
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CanMigrateResultInner.java
@@ -0,0 +1,120 @@
+// 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 {
+ /*
+ * Resource ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * Resource type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * The properties property.
+ */
+ @JsonProperty(value = "properties")
+ private CanMigrateProperties innerProperties;
+
+ /**
+ * Creates an instance of CanMigrateResultInner class.
+ */
+ public CanMigrateResultInner() {
+ }
+
+ /**
+ * Get the id property: Resource ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: The properties property.
+ *
+ * @return the innerProperties value.
+ */
+ private CanMigrateProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the canMigrate property: Flag that says if the profile can be migrated.
+ *
+ * @return the canMigrate value.
+ */
+ public Boolean canMigrate() {
+ return this.innerProperties() == null ? null : this.innerProperties().canMigrate();
+ }
+
+ /**
+ * Get the defaultSku property: Recommended sku for the migration.
+ *
+ * @return the defaultSku value.
+ */
+ public CanMigrateDefaultSku defaultSku() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultSku();
+ }
+
+ /**
+ * Get the errors property: The errors property.
+ *
+ * @return the errors value.
+ */
+ public List errors() {
+ return this.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CanMigrateProperties();
+ }
+ this.innerProperties().withErrors(errors);
+ 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/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 000000000000..bafd44685620
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
@@ -0,0 +1,300 @@
+// 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.atError()
+ .log(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 000000000000..9e6f380fafab
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java
@@ -0,0 +1,232 @@
+// 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 000000000000..6d43bfa57dbb
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckEndpointNameAvailabilityOutputInner.java
@@ -0,0 +1,89 @@
+// 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 000000000000..6140cdeb191e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java
@@ -0,0 +1,73 @@
+// 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 000000000000..10f2f3d0e4ef
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ContinentsResponseInner.java
@@ -0,0 +1,89 @@
+// 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