diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index a0bbce6fff54..6bfc15eb4f78 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -312,6 +312,7 @@ com.azure.resourcemanager:azure-resourcemanager-webpubsub;1.0.0-beta.1;1.0.0-bet
com.azure.resourcemanager:azure-resourcemanager-security;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-azurearcdata;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-hybridnetwork;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-cdn-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index efe3902c0dbe..db43158a4f04 100644
--- a/pom.xml
+++ b/pom.xml
@@ -724,6 +724,7 @@
sdk/billing
sdk/boms
sdk/botservice
+ sdk/cdn
sdk/changeanalysis
sdk/cognitiveservices
sdk/commerce
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/CHANGELOG.md b/sdk/cdn/azure-resourcemanager-cdn-generated/CHANGELOG.md
new file mode 100644
index 000000000000..c5ab7d79d3dc
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-08-20)
+
+- Azure Resource Manager Cdn client library for Java. This package contains Microsoft Azure SDK for Cdn Management SDK. Cdn Management Client. Package tag package-2020-09. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/README.md b/sdk/cdn/azure-resourcemanager-cdn-generated/README.md
new file mode 100644
index 000000000000..3a0b96cd4ea4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/README.md
@@ -0,0 +1,101 @@
+# Azure Resource Manager Cdn client library for Java
+
+Azure Resource Manager Cdn client library for Java.
+
+This package contains Microsoft Azure SDK for Cdn Management SDK. Cdn Management Client. Package tag package-2020-09. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-cdn-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-cdn-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+CdnManager manager = CdnManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/pom.xml b/sdk/cdn/azure-resourcemanager-cdn-generated/pom.xml
new file mode 100644
index 000000000000..27cbd6ee694c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/pom.xml
@@ -0,0 +1,86 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-cdn-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Cdn Management
+ This package contains Microsoft Azure SDK for Cdn Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Cdn Management Client. Package tag package-2020-09.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.19.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.0
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/CdnManager.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/CdnManager.java
new file mode 100644
index 000000000000..1afa0394389e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/CdnManager.java
@@ -0,0 +1,491 @@
+// 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;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.fluent.CdnManagementClient;
+import com.azure.resourcemanager.cdn.generated.implementation.AfdCustomDomainsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.AfdEndpointsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.AfdOriginGroupsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.AfdOriginsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.AfdProfilesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.CdnManagementClientBuilder;
+import com.azure.resourcemanager.cdn.generated.implementation.CustomDomainsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.EdgeNodesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.EndpointsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.LogAnalyticsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.ManagedRuleSetsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.OriginGroupsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.OriginsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.PoliciesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.ProfilesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.ResourceProvidersImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.ResourceUsagesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.RoutesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.RuleSetsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.RulesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.SecretsImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.SecurityPoliciesImpl;
+import com.azure.resourcemanager.cdn.generated.implementation.ValidatesImpl;
+import com.azure.resourcemanager.cdn.generated.models.AfdCustomDomains;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpoints;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginGroups;
+import com.azure.resourcemanager.cdn.generated.models.AfdOrigins;
+import com.azure.resourcemanager.cdn.generated.models.AfdProfiles;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomains;
+import com.azure.resourcemanager.cdn.generated.models.EdgeNodes;
+import com.azure.resourcemanager.cdn.generated.models.Endpoints;
+import com.azure.resourcemanager.cdn.generated.models.LogAnalytics;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSets;
+import com.azure.resourcemanager.cdn.generated.models.Operations;
+import com.azure.resourcemanager.cdn.generated.models.OriginGroups;
+import com.azure.resourcemanager.cdn.generated.models.Origins;
+import com.azure.resourcemanager.cdn.generated.models.Policies;
+import com.azure.resourcemanager.cdn.generated.models.Profiles;
+import com.azure.resourcemanager.cdn.generated.models.ResourceProviders;
+import com.azure.resourcemanager.cdn.generated.models.ResourceUsages;
+import com.azure.resourcemanager.cdn.generated.models.Routes;
+import com.azure.resourcemanager.cdn.generated.models.RuleSets;
+import com.azure.resourcemanager.cdn.generated.models.Rules;
+import com.azure.resourcemanager.cdn.generated.models.Secrets;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicies;
+import com.azure.resourcemanager.cdn.generated.models.Validates;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/** Entry point to CdnManager. Cdn Management Client. */
+public final class CdnManager {
+ private Profiles profiles;
+
+ private Endpoints endpoints;
+
+ private Origins origins;
+
+ private OriginGroups originGroups;
+
+ private CustomDomains customDomains;
+
+ private ResourceProviders resourceProviders;
+
+ private ResourceUsages resourceUsages;
+
+ private Operations operations;
+
+ private EdgeNodes edgeNodes;
+
+ private AfdProfiles afdProfiles;
+
+ private AfdCustomDomains afdCustomDomains;
+
+ private AfdEndpoints afdEndpoints;
+
+ private AfdOriginGroups afdOriginGroups;
+
+ private AfdOrigins afdOrigins;
+
+ private Routes routes;
+
+ private RuleSets ruleSets;
+
+ private Rules rules;
+
+ private SecurityPolicies securityPolicies;
+
+ private Secrets secrets;
+
+ private Validates validates;
+
+ private LogAnalytics logAnalytics;
+
+ private Policies policies;
+
+ private ManagedRuleSets managedRuleSets;
+
+ private final CdnManagementClient clientObject;
+
+ private CdnManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new CdnManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * 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 static CdnManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create CdnManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new CdnManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new CdnManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of Profiles. */
+ public Profiles profiles() {
+ if (this.profiles == null) {
+ this.profiles = new ProfilesImpl(clientObject.getProfiles(), this);
+ }
+ return profiles;
+ }
+
+ /** @return Resource collection API of Endpoints. */
+ public Endpoints endpoints() {
+ if (this.endpoints == null) {
+ this.endpoints = new EndpointsImpl(clientObject.getEndpoints(), this);
+ }
+ return endpoints;
+ }
+
+ /** @return Resource collection API of Origins. */
+ public Origins origins() {
+ if (this.origins == null) {
+ this.origins = new OriginsImpl(clientObject.getOrigins(), this);
+ }
+ return origins;
+ }
+
+ /** @return Resource collection API of OriginGroups. */
+ public OriginGroups originGroups() {
+ if (this.originGroups == null) {
+ this.originGroups = new OriginGroupsImpl(clientObject.getOriginGroups(), this);
+ }
+ return originGroups;
+ }
+
+ /** @return Resource collection API of CustomDomains. */
+ public CustomDomains customDomains() {
+ if (this.customDomains == null) {
+ this.customDomains = new CustomDomainsImpl(clientObject.getCustomDomains(), this);
+ }
+ return customDomains;
+ }
+
+ /** @return Resource collection API of ResourceProviders. */
+ public ResourceProviders resourceProviders() {
+ if (this.resourceProviders == null) {
+ this.resourceProviders = new ResourceProvidersImpl(clientObject.getResourceProviders(), this);
+ }
+ return resourceProviders;
+ }
+
+ /** @return Resource collection API of ResourceUsages. */
+ public ResourceUsages resourceUsages() {
+ if (this.resourceUsages == null) {
+ this.resourceUsages = new ResourceUsagesImpl(clientObject.getResourceUsages(), this);
+ }
+ return resourceUsages;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of EdgeNodes. */
+ public EdgeNodes edgeNodes() {
+ if (this.edgeNodes == null) {
+ this.edgeNodes = new EdgeNodesImpl(clientObject.getEdgeNodes(), this);
+ }
+ return edgeNodes;
+ }
+
+ /** @return Resource collection API of AfdProfiles. */
+ public AfdProfiles afdProfiles() {
+ if (this.afdProfiles == null) {
+ this.afdProfiles = new AfdProfilesImpl(clientObject.getAfdProfiles(), this);
+ }
+ return afdProfiles;
+ }
+
+ /** @return Resource collection API of AfdCustomDomains. */
+ public AfdCustomDomains afdCustomDomains() {
+ if (this.afdCustomDomains == null) {
+ this.afdCustomDomains = new AfdCustomDomainsImpl(clientObject.getAfdCustomDomains(), this);
+ }
+ return afdCustomDomains;
+ }
+
+ /** @return Resource collection API of AfdEndpoints. */
+ public AfdEndpoints afdEndpoints() {
+ if (this.afdEndpoints == null) {
+ this.afdEndpoints = new AfdEndpointsImpl(clientObject.getAfdEndpoints(), this);
+ }
+ return afdEndpoints;
+ }
+
+ /** @return Resource collection API of AfdOriginGroups. */
+ public AfdOriginGroups afdOriginGroups() {
+ if (this.afdOriginGroups == null) {
+ this.afdOriginGroups = new AfdOriginGroupsImpl(clientObject.getAfdOriginGroups(), this);
+ }
+ return afdOriginGroups;
+ }
+
+ /** @return Resource collection API of AfdOrigins. */
+ public AfdOrigins afdOrigins() {
+ if (this.afdOrigins == null) {
+ this.afdOrigins = new AfdOriginsImpl(clientObject.getAfdOrigins(), this);
+ }
+ return afdOrigins;
+ }
+
+ /** @return Resource collection API of Routes. */
+ public Routes routes() {
+ if (this.routes == null) {
+ this.routes = new RoutesImpl(clientObject.getRoutes(), this);
+ }
+ return routes;
+ }
+
+ /** @return Resource collection API of RuleSets. */
+ public RuleSets ruleSets() {
+ if (this.ruleSets == null) {
+ this.ruleSets = new RuleSetsImpl(clientObject.getRuleSets(), this);
+ }
+ return ruleSets;
+ }
+
+ /** @return Resource collection API of Rules. */
+ public Rules rules() {
+ if (this.rules == null) {
+ this.rules = new RulesImpl(clientObject.getRules(), this);
+ }
+ return rules;
+ }
+
+ /** @return Resource collection API of SecurityPolicies. */
+ public SecurityPolicies securityPolicies() {
+ if (this.securityPolicies == null) {
+ this.securityPolicies = new SecurityPoliciesImpl(clientObject.getSecurityPolicies(), this);
+ }
+ return securityPolicies;
+ }
+
+ /** @return Resource collection API of Secrets. */
+ public Secrets secrets() {
+ if (this.secrets == null) {
+ this.secrets = new SecretsImpl(clientObject.getSecrets(), this);
+ }
+ return secrets;
+ }
+
+ /** @return Resource collection API of Validates. */
+ public Validates validates() {
+ if (this.validates == null) {
+ this.validates = new ValidatesImpl(clientObject.getValidates(), this);
+ }
+ return validates;
+ }
+
+ /** @return Resource collection API of LogAnalytics. */
+ public LogAnalytics logAnalytics() {
+ if (this.logAnalytics == null) {
+ this.logAnalytics = new LogAnalyticsImpl(clientObject.getLogAnalytics(), this);
+ }
+ return logAnalytics;
+ }
+
+ /** @return Resource collection API of Policies. */
+ public Policies policies() {
+ if (this.policies == null) {
+ this.policies = new PoliciesImpl(clientObject.getPolicies(), this);
+ }
+ return policies;
+ }
+
+ /** @return Resource collection API of ManagedRuleSets. */
+ public ManagedRuleSets managedRuleSets() {
+ if (this.managedRuleSets == null) {
+ this.managedRuleSets = new ManagedRuleSetsImpl(clientObject.getManagedRuleSets(), this);
+ }
+ return managedRuleSets;
+ }
+
+ /**
+ * @return Wrapped service client CdnManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public CdnManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
new file mode 100644
index 000000000000..eb4f4fa56a22
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
@@ -0,0 +1,365 @@
+// 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.fluent.models.ValidationTokenInner;
+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 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 domains.
+ */
+ @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 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 domains.
+ */
+ @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 CDN 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);
+
+ /**
+ * 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String customDomainName, 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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 CDN 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 validation token.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ValidationTokenInner> 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 CDN 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 validation token.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ValidationTokenInner> 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 CDN 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 validation token.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidationTokenInner 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 CDN 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 validation token.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidationTokenInner 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..4ef44c5e23da
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
@@ -0,0 +1,471 @@
+// 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 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.
+ */
+ @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 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.
+ */
+ @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 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 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);
+
+ /**
+ * 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 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 AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 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 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 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);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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 CDN 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 list usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 list usages operation response.
+ */
+ @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 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateCustomDomainWithResponse(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties,
+ Context context);
+}
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..6c06aa9432d0
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java
@@ -0,0 +1,326 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.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 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 origin groups.
+ */
+ @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 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 origin groups.
+ */
+ @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 CDN 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);
+
+ /**
+ * Gets an existing origin group within a 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String originGroupName, 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 CDN 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 CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN.
+ */
+ @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 CDN 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 CDN.
+ */
+ @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 CDN 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 CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN.
+ */
+ @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 CDN 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 CDN.
+ */
+ @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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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 CDN 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 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.
+ */
+ @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..c3b793935bd6
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
@@ -0,0 +1,312 @@
+// 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 CDN 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.
+ */
+ @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 CDN 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.
+ */
+ @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 CDN 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);
+
+ /**
+ * Gets an existing origin within an origin group.
+ *
+ * @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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String originGroupName, String originName, 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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @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 CDN 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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..fd7b5100458c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
@@ -0,0 +1,78 @@
+// 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.util.Context;
+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.ValidateCustomDomainInput;
+
+/** An instance of this class provides access to all the operations defined in AfdProfilesClient. */
+public interface AfdProfilesClient {
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 list usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 list usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, 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 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 custom domain validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateCustomDomainOutputInner checkHostnameAvailability(
+ String resourceGroupName, String profileName, ValidateCustomDomainInput checkHostnameAvailabilityInput);
+
+ /**
+ * 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 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 custom domain validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkHostnameAvailabilityWithResponse(
+ String resourceGroupName,
+ String profileName,
+ ValidateCustomDomainInput checkHostnameAvailabilityInput,
+ 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..ebe8697a8645
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CdnManagementClient.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 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 ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ ResourceProvidersClient getResourceProviders();
+
+ /**
+ * 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 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 ValidatesClient object to access its operations.
+ *
+ * @return the ValidatesClient object.
+ */
+ ValidatesClient getValidates();
+
+ /**
+ * Gets the LogAnalyticsClient object to access its operations.
+ *
+ * @return the LogAnalyticsClient object.
+ */
+ LogAnalyticsClient getLogAnalytics();
+
+ /**
+ * 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..c42c45b368a9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
@@ -0,0 +1,417 @@
+// 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.
+ */
+ @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.
+ */
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, 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)
+ 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 friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 the response.
+ */
+ @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 the response.
+ */
+ @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.
+ * @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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)
+ SyncPoller, CustomDomainInner> beginEnableCustomHttps(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainHttpsParameters customDomainHttpsParameters);
+
+ /**
+ * 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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.
+ * @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 enableCustomHttps(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainHttpsParameters customDomainHttpsParameters);
+
+ /**
+ * 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 response.
+ */
+ @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 the response.
+ */
+ @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..ecd9c1a30e71
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.EdgeNodeInner;
+
+/** An instance of this class provides access to all the operations defined in EdgeNodesClient. */
+public interface EdgeNodesClient {
+ /**
+ * Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list CDN edgenodes.
+ */
+ @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.
+ */
+ @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..05793d251224
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EndpointsClient.java
@@ -0,0 +1,678 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.EndpointInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourceUsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateCustomDomainOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.EndpointUpdateParameters;
+import com.azure.resourcemanager.cdn.generated.models.LoadParameters;
+import com.azure.resourcemanager.cdn.generated.models.PurgeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** An instance of this class provides access to all the operations defined in EndpointsClient. */
+public interface EndpointsClient {
+ /**
+ * Lists existing CDN endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list endpoints.
+ */
+ @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.
+ */
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 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)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateCustomDomainWithResponse(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties,
+ Context context);
+
+ /**
+ * 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.
+ */
+ @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.
+ */
+ @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..35fae0e3ff66
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java
@@ -0,0 +1,314 @@
+// 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 CDN profile 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 report for AFD 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 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.
+ */
+ @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 analytics ranking report for AFD 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 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 log analytics ranking report for AFD 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 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.
+ */
+ @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 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 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 all available location names for AFD log analytics report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContinentsResponseInner getLogAnalyticsLocations(String resourceGroupName, String profileName);
+
+ /**
+ * 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 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 all available location names for AFD log analytics report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsLocationsWithResponse(
+ 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 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 all endpoints and custom domains available for AFD log report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcesResponseInner getLogAnalyticsResources(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 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 all endpoints and custom domains available for AFD log report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getLogAnalyticsResourcesWithResponse(
+ String resourceGroupName, String profileName, 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 CDN profile 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 related log analytics report for AFD 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 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.
+ */
+ @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 log analytics charts for AFD 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 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);
+
+ /**
+ * Get WAF log analytics charts for AFD 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 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.
+ */
+ @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);
+}
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..dee42452d813
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ManagedRuleSetsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.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.
+ */
+ @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.
+ */
+ @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..2bcfa2a622e5
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all of the available CDN REST API operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list CDN operations.
+ */
+ @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.
+ */
+ @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..25fc6b9c43e8
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginGroupsClient.java
@@ -0,0 +1,327 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.OriginGroupInner;
+import com.azure.resourcemanager.cdn.generated.models.OriginGroupUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in OriginGroupsClient. */
+public interface OriginGroupsClient {
+ /**
+ * Lists all of the existing origin groups within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origin groups.
+ */
+ @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.
+ */
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String originGroupName, 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)
+ 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 origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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..ec5a4c7a0d25
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java
@@ -0,0 +1,310 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.OriginInner;
+import com.azure.resourcemanager.cdn.generated.models.OriginUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in OriginsClient. */
+public interface OriginsClient {
+ /**
+ * Lists all of the existing origins within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origins.
+ */
+ @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.
+ */
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String originName, 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)
+ 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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..df1e3f41069f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java
@@ -0,0 +1,247 @@
+// 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.
+ */
+ @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.
+ */
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String policyName, 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)
+ 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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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);
+
+ /**
+ * 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String policyName, Context context);
+}
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..e980d96f06e7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java
@@ -0,0 +1,376 @@
+// 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.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.ProfileUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in ProfilesClient. */
+public interface ProfilesClient {
+ /**
+ * Lists all of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a 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 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 a CDN profile with the specified profile name under the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner getByResourceGroup(String resourceGroupName, String profileName);
+
+ /**
+ * Gets a 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 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 a CDN profile with the specified profile name under the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Creates a new 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Creates a new 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Updates an existing 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Updates an existing 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing 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 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 cDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and
+ * pricing tier.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Deletes an existing 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName);
+
+ /**
+ * Deletes an existing 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Deletes an existing 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 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 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 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateSsoUriWithResponse(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 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);
+
+ /**
+ * 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listSupportedOptimizationTypesWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 output of check resource usage API.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 output of check resource usage API.
+ */
+ @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..1eb9e08c5f2e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java
@@ -0,0 +1,104 @@
+// 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.CheckNameAvailabilityOutputInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateProbeOutputInner;
+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
+ * 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.
+ */
+ @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 checkNameAvailabilityWithSubscription(
+ 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithSubscriptionWithResponse(
+ CheckNameAvailabilityInput checkNameAvailabilityInput, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateProbeWithResponse(
+ ValidateProbeInput validateProbeInput, Context context);
+}
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..76dc3d3ac9e1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceUsagesClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourceUsageInner;
+
+/** An instance of this class provides access to all the operations defined in ResourceUsagesClient. */
+public interface ResourceUsagesClient {
+ /**
+ * Check the quota and actual usage of the CDN profiles under the given subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API.
+ */
+ @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.
+ */
+ @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..3c907a4afe0b
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java
@@ -0,0 +1,326 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.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 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 routes.
+ */
+ @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 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 routes.
+ */
+ @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 CDN 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);
+
+ /**
+ * 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String routeName, 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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..250d3d5918f9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
@@ -0,0 +1,230 @@
+// 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 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 rule sets.
+ */
+ @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 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 rule sets.
+ */
+ @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 CDN 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);
+
+ /**
+ * 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ 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 CDN 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)
+ SyncPoller, RuleSetInner> beginCreate(
+ 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, RuleSetInner> beginCreate(
+ 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 CDN 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);
+
+ /**
+ * 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleSetInner create(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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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 CDN 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN 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 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.
+ */
+ @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..14f54f38903b
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java
@@ -0,0 +1,309 @@
+// 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 CDN 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.
+ */
+ @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 CDN 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.
+ */
+ @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 CDN 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);
+
+ /**
+ * 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 CDN 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName, 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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..a097bb366974
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
@@ -0,0 +1,271 @@
+// 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;
+import com.azure.resourcemanager.cdn.generated.models.SecretProperties;
+
+/** 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 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 secrets.
+ */
+ @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 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 secrets.
+ */
+ @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 CDN 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);
+
+ /**
+ * Gets an existing Secret within a 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String secretName, 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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);
+
+ /**
+ * Updates an existing Secret within a 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 secretName Name of the Secret under the profile.
+ * @param secretProperties 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)
+ SyncPoller, SecretInner> beginUpdate(
+ String resourceGroupName, String profileName, String secretName, SecretProperties secretProperties);
+
+ /**
+ * Updates an existing Secret within a 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 secretName Name of the Secret under the profile.
+ * @param secretProperties 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)
+ SyncPoller, SecretInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String secretName,
+ SecretProperties secretProperties,
+ Context context);
+
+ /**
+ * Updates an existing Secret within a 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 secretName Name of the Secret under the profile.
+ * @param secretProperties 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 update(
+ String resourceGroupName, String profileName, String secretName, SecretProperties secretProperties);
+
+ /**
+ * Updates an existing Secret within a 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 secretName Name of the Secret under the profile.
+ * @param secretProperties 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 update(
+ String resourceGroupName,
+ String profileName,
+ String secretName,
+ SecretProperties secretProperties,
+ Context context);
+
+ /**
+ * Deletes an existing Secret within 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 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN 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 CDN 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..3b7827dc3597
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
@@ -0,0 +1,287 @@
+// 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.SecurityPolicyProperties;
+
+/** 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 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 security policies.
+ */
+ @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 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 security policies.
+ */
+ @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 CDN 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);
+
+ /**
+ * Gets an existing security policy within a 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String profileName, String securityPolicyName, 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 CDN 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)
+ 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 CDN 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)
+ 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 CDN 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 CDN 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 Secret within a 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 securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyProperties 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)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyProperties securityPolicyProperties);
+
+ /**
+ * Updates an existing Secret within a 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 securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyProperties 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)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyProperties securityPolicyProperties,
+ Context context);
+
+ /**
+ * Updates an existing Secret within a 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 securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyProperties 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,
+ SecurityPolicyProperties securityPolicyProperties);
+
+ /**
+ * Updates an existing Secret within a 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 securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicyProperties 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,
+ SecurityPolicyProperties securityPolicyProperties,
+ 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 CDN profile which is unique within the resource group.
+ * @param securityPolicyName 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN profile which is unique within the resource group.
+ * @param securityPolicyName 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ 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 CDN profile which is unique within the resource group.
+ * @param securityPolicyName 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 securityPolicyName);
+
+ /**
+ * Deletes an existing security policy within 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 securityPolicyName 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 securityPolicyName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ValidatesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ValidatesClient.java
new file mode 100644
index 000000000000..e163968a1e62
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ValidatesClient.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.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateSecretOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.ValidateSecretInput;
+
+/** An instance of this class provides access to all the operations defined in ValidatesClient. */
+public interface ValidatesClient {
+ /**
+ * Validate a Secret in the profile.
+ *
+ * @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 secret(ValidateSecretInput validateSecretInput);
+
+ /**
+ * Validate a Secret in the profile.
+ *
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response secretWithResponse(ValidateSecretInput validateSecretInput, 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..d826f428e4d7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java
@@ -0,0 +1,209 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+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.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g.
+ * www.contoso.com.
+ */
+@JsonFlatten
+@Fluent
+public class AfdDomainInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdDomainInner.class);
+
+ /*
+ * 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 = "properties.tlsSettings")
+ private AfdDomainHttpsParameters tlsSettings;
+
+ /*
+ * Resource reference to the Azure DNS zone
+ */
+ @JsonProperty(value = "properties.azureDnsZone")
+ private ResourceReference azureDnsZone;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "properties.deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /*
+ * Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for
+ * DomainControlValidation.
+ */
+ @JsonProperty(value = "properties.domainValidationState", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationState domainValidationState;
+
+ /*
+ * The host name of the domain. Must be a domain name.
+ */
+ @JsonProperty(value = "properties.hostName")
+ private String hostname;
+
+ /*
+ * Values the customer needs to validate domain ownership
+ */
+ @JsonProperty(value = "properties.validationProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationProperties validationProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 AfdDomainInner object itself.
+ */
+ public AfdDomainInner 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 AfdDomainInner object itself.
+ */
+ public AfdDomainInner withAzureDnsZone(ResourceReference azureDnsZone) {
+ this.azureDnsZone = azureDnsZone;
+ 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;
+ }
+
+ /**
+ * 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 AfdDomainInner object itself.
+ */
+ public AfdDomainInner withHostname(String hostname) {
+ this.hostname = hostname;
+ 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 systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 (validationProperties() != null) {
+ validationProperties().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..19aeb448d665
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+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.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol,
+ * content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format
+ * <endpointname>.azureedge.net.
+ */
+@JsonFlatten
+@Fluent
+public class AfdEndpointInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdEndpointInner.class);
+
+ /*
+ * Send and receive timeout on forwarding request to the origin. When
+ * timeout is reached, the request fails and returns.
+ */
+ @JsonProperty(value = "properties.originResponseTimeoutSeconds")
+ private Integer originResponseTimeoutSeconds;
+
+ /*
+ * Whether to enable use of this rule. Permitted values are 'Enabled' or
+ * 'Disabled'
+ */
+ @JsonProperty(value = "properties.enabledState")
+ private EnabledState enabledState;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "properties.deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /*
+ * The host name of the endpoint structured as {endpointName}.{DNSZone},
+ * e.g. contoso.azureedge.net
+ */
+ @JsonProperty(value = "properties.hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the originResponseTimeoutSeconds property: Send and receive timeout on forwarding request to the origin. When
+ * timeout is reached, the request fails and returns.
+ *
+ * @return the originResponseTimeoutSeconds value.
+ */
+ public Integer originResponseTimeoutSeconds() {
+ return this.originResponseTimeoutSeconds;
+ }
+
+ /**
+ * Set the originResponseTimeoutSeconds property: Send and receive timeout on forwarding request to the origin. When
+ * timeout is reached, the request fails and returns.
+ *
+ * @param originResponseTimeoutSeconds the originResponseTimeoutSeconds value to set.
+ * @return the AfdEndpointInner object itself.
+ */
+ public AfdEndpointInner withOriginResponseTimeoutSeconds(Integer originResponseTimeoutSeconds) {
+ this.originResponseTimeoutSeconds = originResponseTimeoutSeconds;
+ return this;
+ }
+
+ /**
+ * 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 AfdEndpointInner object itself.
+ */
+ public AfdEndpointInner withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ 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;
+ }
+
+ /**
+ * 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 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;
+ }
+
+ /**
+ * 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..e8a06ff83770
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
@@ -0,0 +1,241 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+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.azure.resourcemanager.cdn.generated.models.ResponseBasedOriginErrorDetectionParameters;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+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
+ * CDN.
+ */
+@JsonFlatten
+@Fluent
+public class AfdOriginGroupInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginGroupInner.class);
+
+ /*
+ * Load balancing settings for a backend pool
+ */
+ @JsonProperty(value = "properties.loadBalancingSettings")
+ private LoadBalancingSettingsParameters loadBalancingSettings;
+
+ /*
+ * Health probe settings to the origin that is used to determine the health
+ * of the origin.
+ */
+ @JsonProperty(value = "properties.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 = "properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * The JSON object that contains the properties to determine origin health
+ * using real requests/responses. This property is currently not supported.
+ */
+ @JsonProperty(value = "properties.responseBasedAfdOriginErrorDetectionSettings")
+ private ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings;
+
+ /*
+ * Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'
+ */
+ @JsonProperty(value = "properties.sessionAffinityState")
+ private EnabledState sessionAffinityState;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "properties.deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner 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 AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner 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 AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes =
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ return this;
+ }
+
+ /**
+ * Get the responseBasedAfdOriginErrorDetectionSettings property: The JSON object that contains the properties to
+ * determine origin health using real requests/responses. This property is currently not supported.
+ *
+ * @return the responseBasedAfdOriginErrorDetectionSettings value.
+ */
+ public ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings() {
+ return this.responseBasedAfdOriginErrorDetectionSettings;
+ }
+
+ /**
+ * Set the responseBasedAfdOriginErrorDetectionSettings property: The JSON object that contains the properties to
+ * determine origin health using real requests/responses. This property is currently not supported.
+ *
+ * @param responseBasedAfdOriginErrorDetectionSettings the responseBasedAfdOriginErrorDetectionSettings value to
+ * set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withResponseBasedAfdOriginErrorDetectionSettings(
+ ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings) {
+ this.responseBasedAfdOriginErrorDetectionSettings = responseBasedAfdOriginErrorDetectionSettings;
+ 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 AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withSessionAffinityState(EnabledState sessionAffinityState) {
+ this.sessionAffinityState = sessionAffinityState;
+ 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;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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();
+ }
+ if (responseBasedAfdOriginErrorDetectionSettings() != null) {
+ responseBasedAfdOriginErrorDetectionSettings().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..e04e1ffe5255
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java
@@ -0,0 +1,344 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * CDN origin is the source of the content being delivered via CDN. 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.
+ */
+@JsonFlatten
+@Fluent
+public class AfdOriginInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginInner.class);
+
+ /*
+ * Resource reference to the Azure origin resource.
+ */
+ @JsonProperty(value = "properties.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 = "properties.hostName")
+ private String hostname;
+
+ /*
+ * The value of the HTTP port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "properties.httpPort")
+ private Integer httpPort;
+
+ /*
+ * The value of the HTTPS port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "properties.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 CDN
+ * 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 = "properties.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 = "properties.priority")
+ private Integer priority;
+
+ /*
+ * Weight of the origin in given origin group for load balancing. Must be
+ * between 1 and 1000
+ */
+ @JsonProperty(value = "properties.weight")
+ private Integer weight;
+
+ /*
+ * The properties of the private link resource for private origin.
+ */
+ @JsonProperty(value = "properties.sharedPrivateLinkResource")
+ private Object 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 = "properties.enabledState")
+ private EnabledState enabledState;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "properties.deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 CDN 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 CDN 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) {
+ 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner 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 Object 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner withSharedPrivateLinkResource(Object 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 AfdOriginInner object itself.
+ */
+ public AfdOriginInner withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ 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;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (azureOrigin() != null) {
+ azureOrigin().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..3ed20269b012
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
@@ -0,0 +1,297 @@
+// 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.annotation.JsonFlatten;
+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.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Defines web application firewall policy for Azure CDN. */
+@JsonFlatten
+@Fluent
+public class CdnWebApplicationFirewallPolicyInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CdnWebApplicationFirewallPolicyInner.class);
+
+ /*
+ * 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;
+
+ /*
+ * Describes policySettings for policy
+ */
+ @JsonProperty(value = "properties.policySettings")
+ private PolicySettings policySettings;
+
+ /*
+ * Describes rate limit rules inside the policy.
+ */
+ @JsonProperty(value = "properties.rateLimitRules")
+ private RateLimitRuleList rateLimitRules;
+
+ /*
+ * Describes custom rules inside the policy.
+ */
+ @JsonProperty(value = "properties.customRules")
+ private CustomRuleList customRules;
+
+ /*
+ * Describes managed rules inside the policy.
+ */
+ @JsonProperty(value = "properties.managedRules")
+ private ManagedRuleSetList managedRules;
+
+ /*
+ * Describes Azure CDN endpoints associated with this Web Application
+ * Firewall policy.
+ */
+ @JsonProperty(value = "properties.endpointLinks", access = JsonProperty.Access.WRITE_ONLY)
+ private List endpointLinks;
+
+ /*
+ * Provisioning state of the WebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Resource status of the policy.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private PolicyResourceState resourceState;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 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 CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner 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 CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner 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 CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner 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 CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner 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 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;
+ }
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sku in model CdnWebApplicationFirewallPolicyInner"));
+ } else {
+ sku().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/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..9073698b836f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Output of check name availability API. */
+@Immutable
+public final class CheckNameAvailabilityOutputInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CheckNameAvailabilityOutputInner.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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..8a191d66be34
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ContinentsResponseInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.ContinentsResponseContinentsItem;
+import com.azure.resourcemanager.cdn.generated.models.ContinentsResponseCountryOrRegionsItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Continents Response. */
+@Fluent
+public final class ContinentsResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ContinentsResponseInner.class);
+
+ /*
+ * The continents property.
+ */
+ @JsonProperty(value = "continents")
+ private List continents;
+
+ /*
+ * The countryOrRegions property.
+ */
+ @JsonProperty(value = "countryOrRegions")
+ private List countryOrRegions;
+
+ /**
+ * Get the continents property: The continents property.
+ *
+ * @return the continents value.
+ */
+ public List continents() {
+ return this.continents;
+ }
+
+ /**
+ * Set the continents property: The continents property.
+ *
+ * @param continents the continents value to set.
+ * @return the ContinentsResponseInner object itself.
+ */
+ public ContinentsResponseInner withContinents(List continents) {
+ this.continents = continents;
+ return this;
+ }
+
+ /**
+ * Get the countryOrRegions property: The countryOrRegions property.
+ *
+ * @return the countryOrRegions value.
+ */
+ public List countryOrRegions() {
+ return this.countryOrRegions;
+ }
+
+ /**
+ * Set the countryOrRegions property: The countryOrRegions property.
+ *
+ * @param countryOrRegions the countryOrRegions value to set.
+ * @return the ContinentsResponseInner object itself.
+ */
+ public ContinentsResponseInner withCountryOrRegions(List countryOrRegions) {
+ this.countryOrRegions = countryOrRegions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (continents() != null) {
+ continents().forEach(e -> e.validate());
+ }
+ if (countryOrRegions() != null) {
+ countryOrRegions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java
new file mode 100644
index 000000000000..c0f0b1b211fe
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java
@@ -0,0 +1,169 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainResourceState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningSubstate;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g.
+ * www.contoso.com.
+ */
+@JsonFlatten
+@Fluent
+public class CustomDomainInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CustomDomainInner.class);
+
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "properties.hostName")
+ private String hostname;
+
+ /*
+ * Resource status of the custom domain.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomDomainResourceState resourceState;
+
+ /*
+ * Provisioning status of Custom Https of the custom domain.
+ */
+ @JsonProperty(value = "properties.customHttpsProvisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningState customHttpsProvisioningState;
+
+ /*
+ * Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ */
+ @JsonProperty(value = "properties.customHttpsProvisioningSubstate", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate;
+
+ /*
+ * Special validation or data may be required when delivering CDN to some
+ * regions due to local compliance reasons. E.g. ICP license number of a
+ * custom domain is required to deliver content in China.
+ */
+ @JsonProperty(value = "properties.validationData")
+ private String validationData;
+
+ /*
+ * Provisioning status of the custom domain.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the custom domain.
+ *
+ * @return the resourceState value.
+ */
+ public CustomDomainResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the customHttpsProvisioningState property: Provisioning status of Custom Https of the custom domain.
+ *
+ * @return the customHttpsProvisioningState value.
+ */
+ public CustomHttpsProvisioningState customHttpsProvisioningState() {
+ return this.customHttpsProvisioningState;
+ }
+
+ /**
+ * Get the customHttpsProvisioningSubstate property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ *
+ * @return the customHttpsProvisioningSubstate value.
+ */
+ public CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate() {
+ return this.customHttpsProvisioningSubstate;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.validationData;
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withValidationData(String validationData) {
+ this.validationData = validationData;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the custom domain.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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/EdgeNodeInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeInner.java
new file mode 100644
index 000000000000..750db1116f64
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeInner.java
@@ -0,0 +1,74 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.IpAddressGroup;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users. */
+@JsonFlatten
+@Fluent
+public class EdgeNodeInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EdgeNodeInner.class);
+
+ /*
+ * List of ip address groups.
+ */
+ @JsonProperty(value = "properties.ipAddressGroups")
+ private List ipAddressGroups;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the ipAddressGroups property: List of ip address groups.
+ *
+ * @return the ipAddressGroups value.
+ */
+ public List ipAddressGroups() {
+ return this.ipAddressGroups;
+ }
+
+ /**
+ * Set the ipAddressGroups property: List of ip address groups.
+ *
+ * @param ipAddressGroups the ipAddressGroups value to set.
+ * @return the EdgeNodeInner object itself.
+ */
+ public EdgeNodeInner withIpAddressGroups(List ipAddressGroups) {
+ this.ipAddressGroups = ipAddressGroups;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (ipAddressGroups() != null) {
+ ipAddressGroups().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointInner.java
new file mode 100644
index 000000000000..cf476955d2b4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointInner.java
@@ -0,0 +1,616 @@
+// 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.annotation.JsonFlatten;
+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.DeepCreatedOrigin;
+import com.azure.resourcemanager.cdn.generated.models.DeepCreatedOriginGroup;
+import com.azure.resourcemanager.cdn.generated.models.EndpointPropertiesUpdateParametersDeliveryPolicy;
+import com.azure.resourcemanager.cdn.generated.models.EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink;
+import com.azure.resourcemanager.cdn.generated.models.EndpointResourceState;
+import com.azure.resourcemanager.cdn.generated.models.GeoFilter;
+import com.azure.resourcemanager.cdn.generated.models.OptimizationType;
+import com.azure.resourcemanager.cdn.generated.models.QueryStringCachingBehavior;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.UrlSigningKey;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol,
+ * content caching and delivery behavior. The CDN endpoint uses the URL format <endpointname>.azureedge.net.
+ */
+@JsonFlatten
+@Fluent
+public class EndpointInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EndpointInner.class);
+
+ /*
+ * A directory path on the origin that CDN can use to retrieve content
+ * from, e.g. contoso.cloudapp.net/originpath.
+ */
+ @JsonProperty(value = "properties.originPath")
+ private String originPath;
+
+ /*
+ * List of content types on which compression applies. The value should be
+ * a valid MIME type.
+ */
+ @JsonProperty(value = "properties.contentTypesToCompress")
+ private List contentTypesToCompress;
+
+ /*
+ * The host header value sent to the origin with each request. This
+ * property at Endpoint is only allowed when endpoint uses single origin
+ * and can be overridden by the same property specified at origin.If you
+ * leave this blank, the request hostname determines this value. Azure CDN
+ * origins, such as Web Apps, Blob Storage, and Cloud Services require this
+ * host header value to match the origin hostname by default.
+ */
+ @JsonProperty(value = "properties.originHostHeader")
+ private String originHostHeader;
+
+ /*
+ * Indicates whether content compression is enabled on CDN. Default value
+ * is false. If compression is enabled, content will be served as
+ * compressed if user requests for a compressed version. Content won't be
+ * compressed on CDN when requested content is smaller than 1 byte or
+ * larger than 1 MB.
+ */
+ @JsonProperty(value = "properties.isCompressionEnabled")
+ private Boolean isCompressionEnabled;
+
+ /*
+ * Indicates whether HTTP traffic is allowed on the endpoint. Default value
+ * is true. At least one protocol (HTTP or HTTPS) must be allowed.
+ */
+ @JsonProperty(value = "properties.isHttpAllowed")
+ private Boolean isHttpAllowed;
+
+ /*
+ * Indicates whether HTTPS traffic is allowed on the endpoint. Default
+ * value is true. At least one protocol (HTTP or HTTPS) must be allowed.
+ */
+ @JsonProperty(value = "properties.isHttpsAllowed")
+ private Boolean isHttpsAllowed;
+
+ /*
+ * Defines how CDN caches requests that include query strings. You can
+ * ignore any query strings when caching, bypass caching to prevent
+ * requests that contain query strings from being cached, or cache every
+ * request with a unique URL.
+ */
+ @JsonProperty(value = "properties.queryStringCachingBehavior")
+ private QueryStringCachingBehavior queryStringCachingBehavior;
+
+ /*
+ * Specifies what scenario the customer wants this CDN endpoint to optimize
+ * for, e.g. Download, Media services. With this information, CDN can apply
+ * scenario driven optimization.
+ */
+ @JsonProperty(value = "properties.optimizationType")
+ private OptimizationType optimizationType;
+
+ /*
+ * Path to a file hosted on the origin which helps accelerate delivery of
+ * the dynamic content and calculate the most optimal routes for the CDN.
+ * This is relative to the origin path. This property is only relevant when
+ * using a single origin.
+ */
+ @JsonProperty(value = "properties.probePath")
+ private String probePath;
+
+ /*
+ * List of rules defining the user's geo access within a CDN endpoint. Each
+ * geo filter defines an access rule to a specified path or content, e.g.
+ * block APAC for path /pictures/
+ */
+ @JsonProperty(value = "properties.geoFilters")
+ private List geoFilters;
+
+ /*
+ * A reference to the origin group.
+ */
+ @JsonProperty(value = "properties.defaultOriginGroup")
+ private ResourceReference defaultOriginGroup;
+
+ /*
+ * List of keys used to validate the signed URL hashes.
+ */
+ @JsonProperty(value = "properties.urlSigningKeys")
+ private List urlSigningKeys;
+
+ /*
+ * A policy that specifies the delivery rules to be used for an endpoint.
+ */
+ @JsonProperty(value = "properties.deliveryPolicy")
+ private EndpointPropertiesUpdateParametersDeliveryPolicy deliveryPolicy;
+
+ /*
+ * Defines the Web Application Firewall policy for the endpoint (if
+ * applicable)
+ */
+ @JsonProperty(value = "properties.webApplicationFirewallPolicyLink")
+ private EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink webApplicationFirewallPolicyLink;
+
+ /*
+ * The host name of the endpoint structured as {endpointName}.{DNSZone},
+ * e.g. contoso.azureedge.net
+ */
+ @JsonProperty(value = "properties.hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * The source of the content being delivered via CDN.
+ */
+ @JsonProperty(value = "properties.origins")
+ private List origins;
+
+ /*
+ * The origin groups comprising of origins that are used for load balancing
+ * the traffic based on availability.
+ */
+ @JsonProperty(value = "properties.originGroups")
+ private List originGroups;
+
+ /*
+ * Resource status of the endpoint.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private EndpointResourceState resourceState;
+
+ /*
+ * Provisioning status of the endpoint.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the originPath property: A directory path on the origin that CDN can use to retrieve content from, e.g.
+ * contoso.cloudapp.net/originpath.
+ *
+ * @return the originPath value.
+ */
+ public String originPath() {
+ return this.originPath;
+ }
+
+ /**
+ * Set the originPath property: A directory path on the origin that CDN can use to retrieve content from, e.g.
+ * contoso.cloudapp.net/originpath.
+ *
+ * @param originPath the originPath value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withOriginPath(String originPath) {
+ this.originPath = originPath;
+ return this;
+ }
+
+ /**
+ * Get the contentTypesToCompress property: List of content types on which compression applies. The value should be
+ * a valid MIME type.
+ *
+ * @return the contentTypesToCompress value.
+ */
+ public List contentTypesToCompress() {
+ return this.contentTypesToCompress;
+ }
+
+ /**
+ * Set the contentTypesToCompress property: List of content types on which compression applies. The value should be
+ * a valid MIME type.
+ *
+ * @param contentTypesToCompress the contentTypesToCompress value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withContentTypesToCompress(List contentTypesToCompress) {
+ this.contentTypesToCompress = contentTypesToCompress;
+ return this;
+ }
+
+ /**
+ * Get the originHostHeader property: The host header value sent to the origin with each request. This property at
+ * Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at
+ * origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps,
+ * Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
+ *
+ * @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. This property at
+ * Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at
+ * origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps,
+ * Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.
+ *
+ * @param originHostHeader the originHostHeader value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withOriginHostHeader(String originHostHeader) {
+ this.originHostHeader = originHostHeader;
+ return this;
+ }
+
+ /**
+ * Get the isCompressionEnabled property: Indicates whether content compression is enabled on CDN. Default value is
+ * false. If compression is enabled, content will be served as compressed if user requests for a compressed version.
+ * Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.
+ *
+ * @return the isCompressionEnabled value.
+ */
+ public Boolean isCompressionEnabled() {
+ return this.isCompressionEnabled;
+ }
+
+ /**
+ * Set the isCompressionEnabled property: Indicates whether content compression is enabled on CDN. Default value is
+ * false. If compression is enabled, content will be served as compressed if user requests for a compressed version.
+ * Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.
+ *
+ * @param isCompressionEnabled the isCompressionEnabled value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withIsCompressionEnabled(Boolean isCompressionEnabled) {
+ this.isCompressionEnabled = isCompressionEnabled;
+ return this;
+ }
+
+ /**
+ * Get the isHttpAllowed property: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true.
+ * At least one protocol (HTTP or HTTPS) must be allowed.
+ *
+ * @return the isHttpAllowed value.
+ */
+ public Boolean isHttpAllowed() {
+ return this.isHttpAllowed;
+ }
+
+ /**
+ * Set the isHttpAllowed property: Indicates whether HTTP traffic is allowed on the endpoint. Default value is true.
+ * At least one protocol (HTTP or HTTPS) must be allowed.
+ *
+ * @param isHttpAllowed the isHttpAllowed value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withIsHttpAllowed(Boolean isHttpAllowed) {
+ this.isHttpAllowed = isHttpAllowed;
+ return this;
+ }
+
+ /**
+ * Get the isHttpsAllowed property: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is
+ * true. At least one protocol (HTTP or HTTPS) must be allowed.
+ *
+ * @return the isHttpsAllowed value.
+ */
+ public Boolean isHttpsAllowed() {
+ return this.isHttpsAllowed;
+ }
+
+ /**
+ * Set the isHttpsAllowed property: Indicates whether HTTPS traffic is allowed on the endpoint. Default value is
+ * true. At least one protocol (HTTP or HTTPS) must be allowed.
+ *
+ * @param isHttpsAllowed the isHttpsAllowed value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withIsHttpsAllowed(Boolean isHttpsAllowed) {
+ this.isHttpsAllowed = isHttpsAllowed;
+ return this;
+ }
+
+ /**
+ * Get the queryStringCachingBehavior property: Defines how CDN caches requests that include query strings. You can
+ * ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being
+ * cached, or cache every request with a unique URL.
+ *
+ * @return the queryStringCachingBehavior value.
+ */
+ public QueryStringCachingBehavior queryStringCachingBehavior() {
+ return this.queryStringCachingBehavior;
+ }
+
+ /**
+ * Set the queryStringCachingBehavior property: Defines how CDN caches requests that include query strings. You can
+ * ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being
+ * cached, or cache every request with a unique URL.
+ *
+ * @param queryStringCachingBehavior the queryStringCachingBehavior value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withQueryStringCachingBehavior(QueryStringCachingBehavior queryStringCachingBehavior) {
+ this.queryStringCachingBehavior = queryStringCachingBehavior;
+ return this;
+ }
+
+ /**
+ * Get the optimizationType property: Specifies what scenario the customer wants this CDN endpoint to optimize for,
+ * e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.
+ *
+ * @return the optimizationType value.
+ */
+ public OptimizationType optimizationType() {
+ return this.optimizationType;
+ }
+
+ /**
+ * Set the optimizationType property: Specifies what scenario the customer wants this CDN endpoint to optimize for,
+ * e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.
+ *
+ * @param optimizationType the optimizationType value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withOptimizationType(OptimizationType optimizationType) {
+ this.optimizationType = optimizationType;
+ return this;
+ }
+
+ /**
+ * Get the probePath property: Path to a file hosted on the origin which helps accelerate delivery of the dynamic
+ * content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is
+ * only relevant when using a single origin.
+ *
+ * @return the probePath value.
+ */
+ public String probePath() {
+ return this.probePath;
+ }
+
+ /**
+ * Set the probePath property: Path to a file hosted on the origin which helps accelerate delivery of the dynamic
+ * content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is
+ * only relevant when using a single origin.
+ *
+ * @param probePath the probePath value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withProbePath(String probePath) {
+ this.probePath = probePath;
+ return this;
+ }
+
+ /**
+ * Get the geoFilters property: List of rules defining the user's geo access within a CDN endpoint. Each geo filter
+ * defines an access rule to a specified path or content, e.g. block APAC for path /pictures/.
+ *
+ * @return the geoFilters value.
+ */
+ public List geoFilters() {
+ return this.geoFilters;
+ }
+
+ /**
+ * Set the geoFilters property: List of rules defining the user's geo access within a CDN endpoint. Each geo filter
+ * defines an access rule to a specified path or content, e.g. block APAC for path /pictures/.
+ *
+ * @param geoFilters the geoFilters value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withGeoFilters(List geoFilters) {
+ this.geoFilters = geoFilters;
+ return this;
+ }
+
+ /**
+ * Get the defaultOriginGroup property: A reference to the origin group.
+ *
+ * @return the defaultOriginGroup value.
+ */
+ public ResourceReference defaultOriginGroup() {
+ return this.defaultOriginGroup;
+ }
+
+ /**
+ * Set the defaultOriginGroup property: A reference to the origin group.
+ *
+ * @param defaultOriginGroup the defaultOriginGroup value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withDefaultOriginGroup(ResourceReference defaultOriginGroup) {
+ this.defaultOriginGroup = defaultOriginGroup;
+ return this;
+ }
+
+ /**
+ * Get the urlSigningKeys property: List of keys used to validate the signed URL hashes.
+ *
+ * @return the urlSigningKeys value.
+ */
+ public List urlSigningKeys() {
+ return this.urlSigningKeys;
+ }
+
+ /**
+ * Set the urlSigningKeys property: List of keys used to validate the signed URL hashes.
+ *
+ * @param urlSigningKeys the urlSigningKeys value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withUrlSigningKeys(List urlSigningKeys) {
+ this.urlSigningKeys = urlSigningKeys;
+ return this;
+ }
+
+ /**
+ * Get the deliveryPolicy property: A policy that specifies the delivery rules to be used for an endpoint.
+ *
+ * @return the deliveryPolicy value.
+ */
+ public EndpointPropertiesUpdateParametersDeliveryPolicy deliveryPolicy() {
+ return this.deliveryPolicy;
+ }
+
+ /**
+ * Set the deliveryPolicy property: A policy that specifies the delivery rules to be used for an endpoint.
+ *
+ * @param deliveryPolicy the deliveryPolicy value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withDeliveryPolicy(EndpointPropertiesUpdateParametersDeliveryPolicy deliveryPolicy) {
+ this.deliveryPolicy = deliveryPolicy;
+ return this;
+ }
+
+ /**
+ * Get the webApplicationFirewallPolicyLink property: Defines the Web Application Firewall policy for the endpoint
+ * (if applicable).
+ *
+ * @return the webApplicationFirewallPolicyLink value.
+ */
+ public EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink webApplicationFirewallPolicyLink() {
+ return this.webApplicationFirewallPolicyLink;
+ }
+
+ /**
+ * Set the webApplicationFirewallPolicyLink property: Defines the Web Application Firewall policy for the endpoint
+ * (if applicable).
+ *
+ * @param webApplicationFirewallPolicyLink the webApplicationFirewallPolicyLink value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withWebApplicationFirewallPolicyLink(
+ EndpointPropertiesUpdateParametersWebApplicationFirewallPolicyLink webApplicationFirewallPolicyLink) {
+ this.webApplicationFirewallPolicyLink = webApplicationFirewallPolicyLink;
+ 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.hostname;
+ }
+
+ /**
+ * Get the origins property: The source of the content being delivered via CDN.
+ *
+ * @return the origins value.
+ */
+ public List origins() {
+ return this.origins;
+ }
+
+ /**
+ * Set the origins property: The source of the content being delivered via CDN.
+ *
+ * @param origins the origins value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withOrigins(List origins) {
+ this.origins = origins;
+ return this;
+ }
+
+ /**
+ * Get the originGroups property: The origin groups comprising of origins that are used for load balancing the
+ * traffic based on availability.
+ *
+ * @return the originGroups value.
+ */
+ public List originGroups() {
+ return this.originGroups;
+ }
+
+ /**
+ * Set the originGroups property: The origin groups comprising of origins that are used for load balancing the
+ * traffic based on availability.
+ *
+ * @param originGroups the originGroups value to set.
+ * @return the EndpointInner object itself.
+ */
+ public EndpointInner withOriginGroups(List originGroups) {
+ this.originGroups = originGroups;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the endpoint.
+ *
+ * @return the resourceState value.
+ */
+ public EndpointResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the endpoint.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public EndpointInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public EndpointInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (geoFilters() != null) {
+ geoFilters().forEach(e -> e.validate());
+ }
+ if (defaultOriginGroup() != null) {
+ defaultOriginGroup().validate();
+ }
+ if (urlSigningKeys() != null) {
+ urlSigningKeys().forEach(e -> e.validate());
+ }
+ if (deliveryPolicy() != null) {
+ deliveryPolicy().validate();
+ }
+ if (webApplicationFirewallPolicyLink() != null) {
+ webApplicationFirewallPolicyLink().validate();
+ }
+ if (origins() != null) {
+ origins().forEach(e -> e.validate());
+ }
+ if (originGroups() != null) {
+ originGroups().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ManagedRuleSetDefinitionInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ManagedRuleSetDefinitionInner.java
new file mode 100644
index 000000000000..52f181044df8
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ManagedRuleSetDefinitionInner.java
@@ -0,0 +1,141 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleGroupDefinition;
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describes a managed rule set definition. */
+@JsonFlatten
+@Fluent
+public class ManagedRuleSetDefinitionInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ManagedRuleSetDefinitionInner.class);
+
+ /*
+ * The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "sku")
+ private Sku sku;
+
+ /*
+ * Provisioning state of the managed rule set.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Type of the managed rule set.
+ */
+ @JsonProperty(value = "properties.ruleSetType", access = JsonProperty.Access.WRITE_ONLY)
+ private String ruleSetType;
+
+ /*
+ * Version of the managed rule set type.
+ */
+ @JsonProperty(value = "properties.ruleSetVersion", access = JsonProperty.Access.WRITE_ONLY)
+ private String ruleSetVersion;
+
+ /*
+ * Rule groups of the managed rule set.
+ */
+ @JsonProperty(value = "properties.ruleGroups", access = JsonProperty.Access.WRITE_ONLY)
+ private List ruleGroups;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 ManagedRuleSetDefinitionInner object itself.
+ */
+ public ManagedRuleSetDefinitionInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the managed rule set.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the ruleSetType property: Type of the managed rule set.
+ *
+ * @return the ruleSetType value.
+ */
+ public String ruleSetType() {
+ return this.ruleSetType;
+ }
+
+ /**
+ * Get the ruleSetVersion property: Version of the managed rule set type.
+ *
+ * @return the ruleSetVersion value.
+ */
+ public String ruleSetVersion() {
+ return this.ruleSetVersion;
+ }
+
+ /**
+ * Get the ruleGroups property: Rule groups of the managed rule set.
+ *
+ * @return the ruleGroups value.
+ */
+ public List ruleGroups() {
+ return this.ruleGroups;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (ruleGroups() != null) {
+ ruleGroups().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/MetricsResponseInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/MetricsResponseInner.java
new file mode 100644
index 000000000000..8453cf2ae84a
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/MetricsResponseInner.java
@@ -0,0 +1,135 @@
+// 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.MetricsResponseGranularity;
+import com.azure.resourcemanager.cdn.generated.models.MetricsResponseSeriesItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Metrics Response. */
+@Fluent
+public final class MetricsResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MetricsResponseInner.class);
+
+ /*
+ * The dateTimeBegin property.
+ */
+ @JsonProperty(value = "dateTimeBegin")
+ private OffsetDateTime dateTimeBegin;
+
+ /*
+ * The dateTimeEnd property.
+ */
+ @JsonProperty(value = "dateTimeEnd")
+ private OffsetDateTime dateTimeEnd;
+
+ /*
+ * The granularity property.
+ */
+ @JsonProperty(value = "granularity")
+ private MetricsResponseGranularity granularity;
+
+ /*
+ * The series property.
+ */
+ @JsonProperty(value = "series")
+ private List series;
+
+ /**
+ * Get the dateTimeBegin property: The dateTimeBegin property.
+ *
+ * @return the dateTimeBegin value.
+ */
+ public OffsetDateTime dateTimeBegin() {
+ return this.dateTimeBegin;
+ }
+
+ /**
+ * Set the dateTimeBegin property: The dateTimeBegin property.
+ *
+ * @param dateTimeBegin the dateTimeBegin value to set.
+ * @return the MetricsResponseInner object itself.
+ */
+ public MetricsResponseInner withDateTimeBegin(OffsetDateTime dateTimeBegin) {
+ this.dateTimeBegin = dateTimeBegin;
+ return this;
+ }
+
+ /**
+ * Get the dateTimeEnd property: The dateTimeEnd property.
+ *
+ * @return the dateTimeEnd value.
+ */
+ public OffsetDateTime dateTimeEnd() {
+ return this.dateTimeEnd;
+ }
+
+ /**
+ * Set the dateTimeEnd property: The dateTimeEnd property.
+ *
+ * @param dateTimeEnd the dateTimeEnd value to set.
+ * @return the MetricsResponseInner object itself.
+ */
+ public MetricsResponseInner withDateTimeEnd(OffsetDateTime dateTimeEnd) {
+ this.dateTimeEnd = dateTimeEnd;
+ return this;
+ }
+
+ /**
+ * Get the granularity property: The granularity property.
+ *
+ * @return the granularity value.
+ */
+ public MetricsResponseGranularity granularity() {
+ return this.granularity;
+ }
+
+ /**
+ * Set the granularity property: The granularity property.
+ *
+ * @param granularity the granularity value to set.
+ * @return the MetricsResponseInner object itself.
+ */
+ public MetricsResponseInner withGranularity(MetricsResponseGranularity granularity) {
+ this.granularity = granularity;
+ return this;
+ }
+
+ /**
+ * Get the series property: The series property.
+ *
+ * @return the series value.
+ */
+ public List series() {
+ return this.series;
+ }
+
+ /**
+ * Set the series property: The series property.
+ *
+ * @param series the series value to set.
+ * @return the MetricsResponseInner object itself.
+ */
+ public MetricsResponseInner withSeries(List series) {
+ this.series = series;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (series() != null) {
+ series().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OperationInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..593a816508e4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OperationInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** CDN REST API operation. */
+@Fluent
+public final class OperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class);
+
+ /*
+ * Operation name: {provider}/{resource}/{operation}
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The object that represents the operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /**
+ * Get the name property: Operation name: {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the display property: The object that represents the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: The object that represents the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginGroupInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginGroupInner.java
new file mode 100644
index 000000000000..684978295888
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginGroupInner.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.OriginGroupResourceState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResponseBasedOriginErrorDetectionParameters;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/**
+ * Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.
+ */
+@JsonFlatten
+@Fluent
+public class OriginGroupInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OriginGroupInner.class);
+
+ /*
+ * Health probe settings to the origin that is used to determine the health
+ * of the origin.
+ */
+ @JsonProperty(value = "properties.healthProbeSettings")
+ private HealthProbeParameters healthProbeSettings;
+
+ /*
+ * The source of the content being delivered via CDN within given origin
+ * group.
+ */
+ @JsonProperty(value = "properties.origins")
+ private List origins;
+
+ /*
+ * Time in minutes to shift the traffic to the endpoint gradually when an
+ * unhealthy endpoint comes healthy or a new endpoint is added. Default is
+ * 10 mins. This property is currently not supported.
+ */
+ @JsonProperty(value = "properties.trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * The JSON object that contains the properties to determine origin health
+ * using real requests/responses. This property is currently not supported.
+ */
+ @JsonProperty(value = "properties.responseBasedOriginErrorDetectionSettings")
+ private ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings;
+
+ /*
+ * Resource status of the origin group.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private OriginGroupResourceState resourceState;
+
+ /*
+ * Provisioning status of the origin group.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * 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 OriginGroupInner object itself.
+ */
+ public OriginGroupInner withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ this.healthProbeSettings = healthProbeSettings;
+ return this;
+ }
+
+ /**
+ * Get the origins property: The source of the content being delivered via CDN within given origin group.
+ *
+ * @return the origins value.
+ */
+ public List origins() {
+ return this.origins;
+ }
+
+ /**
+ * Set the origins property: The source of the content being delivered via CDN within given origin group.
+ *
+ * @param origins the origins value to set.
+ * @return the OriginGroupInner object itself.
+ */
+ public OriginGroupInner withOrigins(List origins) {
+ this.origins = origins;
+ 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 OriginGroupInner object itself.
+ */
+ public OriginGroupInner withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes =
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ return this;
+ }
+
+ /**
+ * Get the responseBasedOriginErrorDetectionSettings property: The JSON object that contains the properties to
+ * determine origin health using real requests/responses. This property is currently not supported.
+ *
+ * @return the responseBasedOriginErrorDetectionSettings value.
+ */
+ public ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings() {
+ return this.responseBasedOriginErrorDetectionSettings;
+ }
+
+ /**
+ * Set the responseBasedOriginErrorDetectionSettings property: The JSON object that contains the properties to
+ * determine origin health using real requests/responses. This property is currently not supported.
+ *
+ * @param responseBasedOriginErrorDetectionSettings the responseBasedOriginErrorDetectionSettings value to set.
+ * @return the OriginGroupInner object itself.
+ */
+ public OriginGroupInner withResponseBasedOriginErrorDetectionSettings(
+ ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings) {
+ this.responseBasedOriginErrorDetectionSettings = responseBasedOriginErrorDetectionSettings;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the origin group.
+ *
+ * @return the resourceState value.
+ */
+ public OriginGroupResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the origin group.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (healthProbeSettings() != null) {
+ healthProbeSettings().validate();
+ }
+ if (origins() != null) {
+ origins().forEach(e -> e.validate());
+ }
+ if (responseBasedOriginErrorDetectionSettings() != null) {
+ responseBasedOriginErrorDetectionSettings().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginInner.java
new file mode 100644
index 000000000000..d04fe9bf51a4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/OriginInner.java
@@ -0,0 +1,396 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.OriginResourceState;
+import com.azure.resourcemanager.cdn.generated.models.PrivateEndpointStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * CDN origin is the source of the content being delivered via CDN. 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.
+ */
+@JsonFlatten
+@Fluent
+public class OriginInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OriginInner.class);
+
+ /*
+ * 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 = "properties.hostName")
+ private String hostname;
+
+ /*
+ * The value of the HTTP port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "properties.httpPort")
+ private Integer httpPort;
+
+ /*
+ * The value of the HTTPS port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "properties.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 CDN
+ * 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 = "properties.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 = "properties.priority")
+ private Integer priority;
+
+ /*
+ * Weight of the origin in given origin group for load balancing. Must be
+ * between 1 and 1000
+ */
+ @JsonProperty(value = "properties.weight")
+ private Integer weight;
+
+ /*
+ * Origin is enabled for load balancing or not
+ */
+ @JsonProperty(value = "properties.enabled")
+ private Boolean enabled;
+
+ /*
+ * The Alias of the Private Link resource. Populating this optional field
+ * indicates that this origin is 'Private'
+ */
+ @JsonProperty(value = "properties.privateLinkAlias")
+ private String privateLinkAlias;
+
+ /*
+ * The Resource Id of the Private Link resource. Populating this optional
+ * field indicates that this backend is 'Private'
+ */
+ @JsonProperty(value = "properties.privateLinkResourceId")
+ private String privateLinkResourceId;
+
+ /*
+ * The location of the Private Link resource. Required only if
+ * 'privateLinkResourceId' is populated
+ */
+ @JsonProperty(value = "properties.privateLinkLocation")
+ private String privateLinkLocation;
+
+ /*
+ * A custom message to be included in the approval request to connect to
+ * the Private Link.
+ */
+ @JsonProperty(value = "properties.privateLinkApprovalMessage")
+ private String privateLinkApprovalMessage;
+
+ /*
+ * Resource status of the origin.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private OriginResourceState resourceState;
+
+ /*
+ * Provisioning status of the origin.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The approval status for the connection to the Private Link
+ */
+ @JsonProperty(value = "properties.privateEndpointStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private PrivateEndpointStatus privateEndpointStatus;
+
+ /**
+ * 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 OriginInner object itself.
+ */
+ public OriginInner 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 OriginInner object itself.
+ */
+ public OriginInner 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 OriginInner object itself.
+ */
+ public OriginInner 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 CDN 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 CDN 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 OriginInner object itself.
+ */
+ public OriginInner 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 OriginInner object itself.
+ */
+ public OriginInner 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 OriginInner object itself.
+ */
+ public OriginInner withWeight(Integer weight) {
+ this.weight = weight;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Origin is enabled for load balancing or not.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Origin is enabled for load balancing or not.
+ *
+ * @param enabled the enabled value to set.
+ * @return the OriginInner object itself.
+ */
+ public OriginInner withEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkAlias property: The Alias of the Private Link resource. Populating this optional field
+ * indicates that this origin is 'Private'.
+ *
+ * @return the privateLinkAlias value.
+ */
+ public String privateLinkAlias() {
+ return this.privateLinkAlias;
+ }
+
+ /**
+ * Set the privateLinkAlias property: The Alias of the Private Link resource. Populating this optional field
+ * indicates that this origin is 'Private'.
+ *
+ * @param privateLinkAlias the privateLinkAlias value to set.
+ * @return the OriginInner object itself.
+ */
+ public OriginInner withPrivateLinkAlias(String privateLinkAlias) {
+ this.privateLinkAlias = privateLinkAlias;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkResourceId property: The Resource Id of the Private Link resource. Populating this optional
+ * field indicates that this backend is 'Private'.
+ *
+ * @return the privateLinkResourceId value.
+ */
+ public String privateLinkResourceId() {
+ return this.privateLinkResourceId;
+ }
+
+ /**
+ * Set the privateLinkResourceId property: The Resource Id of the Private Link resource. Populating this optional
+ * field indicates that this backend is 'Private'.
+ *
+ * @param privateLinkResourceId the privateLinkResourceId value to set.
+ * @return the OriginInner object itself.
+ */
+ public OriginInner withPrivateLinkResourceId(String privateLinkResourceId) {
+ this.privateLinkResourceId = privateLinkResourceId;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkLocation property: The location of the Private Link resource. Required only if
+ * 'privateLinkResourceId' is populated.
+ *
+ * @return the privateLinkLocation value.
+ */
+ public String privateLinkLocation() {
+ return this.privateLinkLocation;
+ }
+
+ /**
+ * Set the privateLinkLocation property: The location of the Private Link resource. Required only if
+ * 'privateLinkResourceId' is populated.
+ *
+ * @param privateLinkLocation the privateLinkLocation value to set.
+ * @return the OriginInner object itself.
+ */
+ public OriginInner withPrivateLinkLocation(String privateLinkLocation) {
+ this.privateLinkLocation = privateLinkLocation;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkApprovalMessage property: A custom message to be included in the approval request to connect
+ * to the Private Link.
+ *
+ * @return the privateLinkApprovalMessage value.
+ */
+ public String privateLinkApprovalMessage() {
+ return this.privateLinkApprovalMessage;
+ }
+
+ /**
+ * Set the privateLinkApprovalMessage property: A custom message to be included in the approval request to connect
+ * to the Private Link.
+ *
+ * @param privateLinkApprovalMessage the privateLinkApprovalMessage value to set.
+ * @return the OriginInner object itself.
+ */
+ public OriginInner withPrivateLinkApprovalMessage(String privateLinkApprovalMessage) {
+ this.privateLinkApprovalMessage = privateLinkApprovalMessage;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the origin.
+ *
+ * @return the resourceState value.
+ */
+ public OriginResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the origin.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the privateEndpointStatus property: The approval status for the connection to the Private Link.
+ *
+ * @return the privateEndpointStatus value.
+ */
+ public PrivateEndpointStatus privateEndpointStatus() {
+ return this.privateEndpointStatus;
+ }
+
+ /**
+ * 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/ProfileInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ProfileInner.java
new file mode 100644
index 000000000000..a30343126f3e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ProfileInner.java
@@ -0,0 +1,125 @@
+// 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.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.ProfileResourceState;
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * CDN profile is a logical grouping of endpoints that share the same settings, such as CDN provider and pricing tier.
+ */
+@JsonFlatten
+@Fluent
+public class ProfileInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ProfileInner.class);
+
+ /*
+ * The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CDN profile.
+ */
+ @JsonProperty(value = "sku", required = true)
+ private Sku sku;
+
+ /*
+ * Resource status of the profile.
+ */
+ @JsonProperty(value = "properties.resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProfileResourceState resourceState;
+
+ /*
+ * Provisioning status of the profile.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /*
+ * The Id of the frontdoor.
+ */
+ @JsonProperty(value = "properties.frontdoorId", access = JsonProperty.Access.WRITE_ONLY)
+ private String frontdoorId;
+
+ /**
+ * Get the sku property: The pricing tier (defines a CDN provider, feature list and rate) of the CDN profile.
+ *
+ * @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 CDN profile.
+ *
+ * @param sku the sku value to set.
+ * @return the ProfileInner object itself.
+ */
+ public ProfileInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the profile.
+ *
+ * @return the resourceState value.
+ */
+ public ProfileResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the profile.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the frontdoorId property: The Id of the frontdoor.
+ *
+ * @return the frontdoorId value.
+ */
+ public String frontdoorId() {
+ return this.frontdoorId;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ProfileInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ProfileInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property sku in model ProfileInner"));
+ } else {
+ sku().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/RankingsResponseInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/RankingsResponseInner.java
new file mode 100644
index 000000000000..5d33b1a6aa29
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/RankingsResponseInner.java
@@ -0,0 +1,108 @@
+// 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.RankingsResponseTablesItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Rankings Response. */
+@Fluent
+public final class RankingsResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RankingsResponseInner.class);
+
+ /*
+ * The dateTimeBegin property.
+ */
+ @JsonProperty(value = "dateTimeBegin")
+ private OffsetDateTime dateTimeBegin;
+
+ /*
+ * The dateTimeEnd property.
+ */
+ @JsonProperty(value = "dateTimeEnd")
+ private OffsetDateTime dateTimeEnd;
+
+ /*
+ * The tables property.
+ */
+ @JsonProperty(value = "tables")
+ private List tables;
+
+ /**
+ * Get the dateTimeBegin property: The dateTimeBegin property.
+ *
+ * @return the dateTimeBegin value.
+ */
+ public OffsetDateTime dateTimeBegin() {
+ return this.dateTimeBegin;
+ }
+
+ /**
+ * Set the dateTimeBegin property: The dateTimeBegin property.
+ *
+ * @param dateTimeBegin the dateTimeBegin value to set.
+ * @return the RankingsResponseInner object itself.
+ */
+ public RankingsResponseInner withDateTimeBegin(OffsetDateTime dateTimeBegin) {
+ this.dateTimeBegin = dateTimeBegin;
+ return this;
+ }
+
+ /**
+ * Get the dateTimeEnd property: The dateTimeEnd property.
+ *
+ * @return the dateTimeEnd value.
+ */
+ public OffsetDateTime dateTimeEnd() {
+ return this.dateTimeEnd;
+ }
+
+ /**
+ * Set the dateTimeEnd property: The dateTimeEnd property.
+ *
+ * @param dateTimeEnd the dateTimeEnd value to set.
+ * @return the RankingsResponseInner object itself.
+ */
+ public RankingsResponseInner withDateTimeEnd(OffsetDateTime dateTimeEnd) {
+ this.dateTimeEnd = dateTimeEnd;
+ return this;
+ }
+
+ /**
+ * Get the tables property: The tables property.
+ *
+ * @return the tables value.
+ */
+ public List tables() {
+ return this.tables;
+ }
+
+ /**
+ * Set the tables property: The tables property.
+ *
+ * @param tables the tables value to set.
+ * @return the RankingsResponseInner object itself.
+ */
+ public RankingsResponseInner withTables(List tables) {
+ this.tables = tables;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (tables() != null) {
+ tables().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ResourceUsageInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ResourceUsageInner.java
new file mode 100644
index 000000000000..590a06a931f7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ResourceUsageInner.java
@@ -0,0 +1,84 @@
+// 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.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Output of check resource usage API. */
+@Immutable
+public final class ResourceUsageInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourceUsageInner.class);
+
+ /*
+ * Resource type for which the usage is provided.
+ */
+ @JsonProperty(value = "resourceType", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceType;
+
+ /*
+ * Unit of the usage. e.g. Count.
+ */
+ @JsonProperty(value = "unit", access = JsonProperty.Access.WRITE_ONLY)
+ private String unit;
+
+ /*
+ * Actual value of usage on the specified resource type.
+ */
+ @JsonProperty(value = "currentValue", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer currentValue;
+
+ /*
+ * Quota of the specified resource type.
+ */
+ @JsonProperty(value = "limit", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer limit;
+
+ /**
+ * Get the resourceType property: Resource type for which the usage is provided.
+ *
+ * @return the resourceType value.
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Get the unit property: Unit of the usage. e.g. Count.
+ *
+ * @return the unit value.
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Get the currentValue property: Actual value of usage on the specified resource type.
+ *
+ * @return the currentValue value.
+ */
+ public Integer currentValue() {
+ return this.currentValue;
+ }
+
+ /**
+ * Get the limit property: Quota of the specified resource type.
+ *
+ * @return the limit value.
+ */
+ public Integer limit() {
+ return this.limit;
+ }
+
+ /**
+ * 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/ResourcesResponseInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ResourcesResponseInner.java
new file mode 100644
index 000000000000..21e77e3c6d4e
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/ResourcesResponseInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.ResourcesResponseCustomDomainsItem;
+import com.azure.resourcemanager.cdn.generated.models.ResourcesResponseEndpointsItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Resources Response. */
+@Fluent
+public final class ResourcesResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourcesResponseInner.class);
+
+ /*
+ * The endpoints property.
+ */
+ @JsonProperty(value = "endpoints")
+ private List endpoints;
+
+ /*
+ * The customDomains property.
+ */
+ @JsonProperty(value = "customDomains")
+ private List customDomains;
+
+ /**
+ * Get the endpoints property: The endpoints property.
+ *
+ * @return the endpoints value.
+ */
+ public List