diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 7acefb0e1f5b3..6303167ef325d 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -328,6 +328,7 @@ com.azure.resourcemanager:azure-resourcemanager-dataprotection;1.0.0-beta.1;1.0.
com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-loadtestservice;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-automanage;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-cdn-generated;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/pom.xml b/pom.xml
index 2d99a96897852..ace9551577d7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -732,6 +732,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 0000000000000..bbe1c142215a4
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-12-18)
+
+- Azure Resource Manager Cdn client library for Java. This package contains Microsoft Azure SDK for Cdn Management SDK. Cdn Management Client. Package tag package-2021-06. 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 0000000000000..56b27a8de1b52
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/README.md
@@ -0,0 +1,102 @@
+# 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-2021-06. 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
+
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cdn/azure-resourcemanager-cdn-generated/SAMPLE.md)
+
+
+## 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/SAMPLE.md b/sdk/cdn/azure-resourcemanager-cdn-generated/SAMPLE.md
new file mode 100644
index 0000000000000..17587cc563979
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/SAMPLE.md
@@ -0,0 +1,3153 @@
+# Code snippets and samples
+
+
+## AfdCustomDomains
+
+- [Create](#afdcustomdomains_create)
+- [Delete](#afdcustomdomains_delete)
+- [Get](#afdcustomdomains_get)
+- [ListByProfile](#afdcustomdomains_listbyprofile)
+- [RefreshValidationToken](#afdcustomdomains_refreshvalidationtoken)
+- [Update](#afdcustomdomains_update)
+
+## AfdEndpoints
+
+- [Create](#afdendpoints_create)
+- [Delete](#afdendpoints_delete)
+- [Get](#afdendpoints_get)
+- [ListByProfile](#afdendpoints_listbyprofile)
+- [ListResourceUsage](#afdendpoints_listresourceusage)
+- [PurgeContent](#afdendpoints_purgecontent)
+- [Update](#afdendpoints_update)
+- [ValidateCustomDomain](#afdendpoints_validatecustomdomain)
+
+## AfdOriginGroups
+
+- [Create](#afdorigingroups_create)
+- [Delete](#afdorigingroups_delete)
+- [Get](#afdorigingroups_get)
+- [ListByProfile](#afdorigingroups_listbyprofile)
+- [ListResourceUsage](#afdorigingroups_listresourceusage)
+- [Update](#afdorigingroups_update)
+
+## AfdOrigins
+
+- [Create](#afdorigins_create)
+- [Delete](#afdorigins_delete)
+- [Get](#afdorigins_get)
+- [ListByOriginGroup](#afdorigins_listbyorigingroup)
+- [Update](#afdorigins_update)
+
+## AfdProfiles
+
+- [CheckHostnameAvailability](#afdprofiles_checkhostnameavailability)
+- [ListResourceUsage](#afdprofiles_listresourceusage)
+
+## CustomDomains
+
+- [Create](#customdomains_create)
+- [Delete](#customdomains_delete)
+- [DisableCustomHttps](#customdomains_disablecustomhttps)
+- [EnableCustomHttps](#customdomains_enablecustomhttps)
+- [Get](#customdomains_get)
+- [ListByEndpoint](#customdomains_listbyendpoint)
+
+## EdgeNodes
+
+- [List](#edgenodes_list)
+
+## Endpoints
+
+- [Create](#endpoints_create)
+- [Delete](#endpoints_delete)
+- [Get](#endpoints_get)
+- [ListByProfile](#endpoints_listbyprofile)
+- [ListResourceUsage](#endpoints_listresourceusage)
+- [LoadContent](#endpoints_loadcontent)
+- [PurgeContent](#endpoints_purgecontent)
+- [Start](#endpoints_start)
+- [Stop](#endpoints_stop)
+- [Update](#endpoints_update)
+- [ValidateCustomDomain](#endpoints_validatecustomdomain)
+
+## LogAnalytics
+
+- [GetLogAnalyticsLocations](#loganalytics_getloganalyticslocations)
+- [GetLogAnalyticsMetrics](#loganalytics_getloganalyticsmetrics)
+- [GetLogAnalyticsRankings](#loganalytics_getloganalyticsrankings)
+- [GetLogAnalyticsResources](#loganalytics_getloganalyticsresources)
+- [GetWafLogAnalyticsMetrics](#loganalytics_getwafloganalyticsmetrics)
+- [GetWafLogAnalyticsRankings](#loganalytics_getwafloganalyticsrankings)
+
+## ManagedRuleSets
+
+- [List](#managedrulesets_list)
+
+## Operations
+
+- [List](#operations_list)
+
+## OriginGroups
+
+- [Create](#origingroups_create)
+- [Delete](#origingroups_delete)
+- [Get](#origingroups_get)
+- [ListByEndpoint](#origingroups_listbyendpoint)
+- [Update](#origingroups_update)
+
+## Origins
+
+- [Create](#origins_create)
+- [Delete](#origins_delete)
+- [Get](#origins_get)
+- [ListByEndpoint](#origins_listbyendpoint)
+- [Update](#origins_update)
+
+## Policies
+
+- [CreateOrUpdate](#policies_createorupdate)
+- [Delete](#policies_delete)
+- [GetByResourceGroup](#policies_getbyresourcegroup)
+- [ListByResourceGroup](#policies_listbyresourcegroup)
+- [Update](#policies_update)
+
+## Profiles
+
+- [Create](#profiles_create)
+- [Delete](#profiles_delete)
+- [GenerateSsoUri](#profiles_generatessouri)
+- [GetByResourceGroup](#profiles_getbyresourcegroup)
+- [List](#profiles_list)
+- [ListByResourceGroup](#profiles_listbyresourcegroup)
+- [ListResourceUsage](#profiles_listresourceusage)
+- [ListSupportedOptimizationTypes](#profiles_listsupportedoptimizationtypes)
+- [Update](#profiles_update)
+
+## ResourceProvider
+
+- [CheckNameAvailability](#resourceprovider_checknameavailability)
+- [CheckNameAvailabilityWithSubscription](#resourceprovider_checknameavailabilitywithsubscription)
+- [ValidateProbe](#resourceprovider_validateprobe)
+
+## ResourceUsage
+
+- [List](#resourceusage_list)
+
+## Routes
+
+- [Create](#routes_create)
+- [Delete](#routes_delete)
+- [Get](#routes_get)
+- [ListByEndpoint](#routes_listbyendpoint)
+- [Update](#routes_update)
+
+## RuleSets
+
+- [Create](#rulesets_create)
+- [Delete](#rulesets_delete)
+- [Get](#rulesets_get)
+- [ListByProfile](#rulesets_listbyprofile)
+- [ListResourceUsage](#rulesets_listresourceusage)
+
+## Rules
+
+- [Create](#rules_create)
+- [Delete](#rules_delete)
+- [Get](#rules_get)
+- [ListByRuleSet](#rules_listbyruleset)
+- [Update](#rules_update)
+
+## Secrets
+
+- [Create](#secrets_create)
+- [Delete](#secrets_delete)
+- [Get](#secrets_get)
+- [ListByProfile](#secrets_listbyprofile)
+
+## SecurityPolicies
+
+- [Create](#securitypolicies_create)
+- [Delete](#securitypolicies_delete)
+- [Get](#securitypolicies_get)
+- [ListByProfile](#securitypolicies_listbyprofile)
+- [Patch](#securitypolicies_patch)
+
+## Validate
+
+- [Secret](#validate_secret)
+### AfdCustomDomains_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.AfdCertificateType;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdMinimumTlsVersion;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+
+/** Samples for AfdCustomDomains Create. */
+public final class AfdCustomDomainsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_Create.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdCustomDomains()
+ .define("domain1")
+ .withExistingProfile("RG", "profile1")
+ .withHostname("www.someDomain.net")
+ .withTlsSettings(
+ new AfdDomainHttpsParameters()
+ .withCertificateType(AfdCertificateType.MANAGED_CERTIFICATE)
+ .withMinimumTlsVersion(AfdMinimumTlsVersion.TLS12))
+ .withAzureDnsZone(new ResourceReference().withId(""))
+ .create();
+ }
+}
+```
+
+### AfdCustomDomains_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdCustomDomains Delete. */
+public final class AfdCustomDomainsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_Delete.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdCustomDomains().delete("RG", "profile1", "domain1", Context.NONE);
+ }
+}
+```
+
+### AfdCustomDomains_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdCustomDomains Get. */
+public final class AfdCustomDomainsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_Get.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdCustomDomains().getWithResponse("RG", "profile1", "domain1", Context.NONE);
+ }
+}
+```
+
+### AfdCustomDomains_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdCustomDomains ListByProfile. */
+public final class AfdCustomDomainsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_ListByProfile.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdCustomDomains().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### AfdCustomDomains_RefreshValidationToken
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdCustomDomains RefreshValidationToken. */
+public final class AfdCustomDomainsRefreshValidationTokenSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_RefreshValidationToken.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdCustomDomains().refreshValidationToken("RG", "profile1", "domain1", Context.NONE);
+ }
+}
+```
+
+### AfdCustomDomains_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.AfdCertificateType;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomain;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdMinimumTlsVersion;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+
+/** Samples for AfdCustomDomains Update. */
+public final class AfdCustomDomainsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDCustomDomains_Update.json
+ */
+ /**
+ * Sample code: AFDCustomDomains_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDCustomDomainsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ AfdDomain resource =
+ manager.afdCustomDomains().getWithResponse("RG", "profile1", "domain1", Context.NONE).getValue();
+ resource
+ .update()
+ .withTlsSettings(
+ new AfdDomainHttpsParameters()
+ .withCertificateType(AfdCertificateType.CUSTOMER_CERTIFICATE)
+ .withMinimumTlsVersion(AfdMinimumTlsVersion.TLS12))
+ .withAzureDnsZone(new ResourceReference().withId(""))
+ .apply();
+ }
+}
+```
+
+### AfdEndpoints_Create
+
+```java
+/** Samples for AfdEndpoints Create. */
+public final class AfdEndpointsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Create.json
+ */
+ /**
+ * Sample code: AFDEndpoints_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdEndpoints()
+ .define("endpoint1")
+ .withRegion((String) null)
+ .withExistingProfile("RG", "profile1")
+ .create();
+ }
+}
+```
+
+### AfdEndpoints_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdEndpoints Delete. */
+public final class AfdEndpointsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Delete.json
+ */
+ /**
+ * Sample code: AFDEndpoints_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdEndpoints().delete("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### AfdEndpoints_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdEndpoints Get. */
+public final class AfdEndpointsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Get.json
+ */
+ /**
+ * Sample code: AFDEndpoints_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdEndpoints().getWithResponse("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### AfdEndpoints_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdEndpoints ListByProfile. */
+public final class AfdEndpointsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListByProfile.json
+ */
+ /**
+ * Sample code: AFDEndpoints_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdEndpoints().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### AfdEndpoints_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdEndpoints ListResourceUsage. */
+public final class AfdEndpointsListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListResourceUsage.json
+ */
+ /**
+ * Sample code: AFDEndpoints_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdEndpoints().listResourceUsage("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### AfdEndpoints_PurgeContent
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.AfdPurgeParameters;
+import java.util.Arrays;
+
+/** Samples for AfdEndpoints PurgeContent. */
+public final class AfdEndpointsPurgeContentSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_PurgeContent.json
+ */
+ /**
+ * Sample code: AFDEndpoints_PurgeContent.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsPurgeContent(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdEndpoints()
+ .purgeContent(
+ "RG",
+ "profile1",
+ "endpoint1",
+ new AfdPurgeParameters()
+ .withContentPaths(Arrays.asList("/folder1"))
+ .withDomains(Arrays.asList("endpoint1.azureedge.net")),
+ Context.NONE);
+ }
+}
+```
+
+### AfdEndpoints_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpoint;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for AfdEndpoints Update. */
+public final class AfdEndpointsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Update.json
+ */
+ /**
+ * Sample code: AFDEndpoints_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDEndpointsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ AfdEndpoint resource =
+ manager.afdEndpoints().getWithResponse("RG", "profile1", "endpoint1", Context.NONE).getValue();
+ resource
+ .update()
+ .withTags(mapOf())
+ .withEnabledState(EnabledState.ENABLED)
+ .withOriginResponseTimeoutSeconds(30)
+ .apply();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### AfdEndpoints_ValidateCustomDomain
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** Samples for AfdEndpoints ValidateCustomDomain. */
+public final class AfdEndpointsValidateCustomDomainSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ValidateCustomDomain.json
+ */
+ /**
+ * Sample code: Endpoints_ValidateCustomDomain.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsValidateCustomDomain(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdEndpoints()
+ .validateCustomDomainWithResponse(
+ "RG",
+ "profile1",
+ "endpoint1",
+ new ValidateCustomDomainInput().withHostname("www.someDomain.com"),
+ Context.NONE);
+ }
+}
+```
+
+### AfdOriginGroups_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeRequestType;
+import com.azure.resourcemanager.cdn.generated.models.LoadBalancingSettingsParameters;
+import com.azure.resourcemanager.cdn.generated.models.ProbeProtocol;
+
+/** Samples for AfdOriginGroups Create. */
+public final class AfdOriginGroupsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Create.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdOriginGroups()
+ .define("origingroup1")
+ .withExistingProfile("RG", "profile1")
+ .withLoadBalancingSettings(
+ new LoadBalancingSettingsParameters()
+ .withSampleSize(3)
+ .withSuccessfulSamplesRequired(3)
+ .withAdditionalLatencyInMilliseconds(1000))
+ .withHealthProbeSettings(
+ new HealthProbeParameters()
+ .withProbePath("/path2")
+ .withProbeRequestType(HealthProbeRequestType.NOT_SET)
+ .withProbeProtocol(ProbeProtocol.NOT_SET)
+ .withProbeIntervalInSeconds(10))
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(5)
+ .create();
+ }
+}
+```
+
+### AfdOriginGroups_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOriginGroups Delete. */
+public final class AfdOriginGroupsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Delete.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOriginGroups().delete("RG", "profile1", "origingroup1", Context.NONE);
+ }
+}
+```
+
+### AfdOriginGroups_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOriginGroups Get. */
+public final class AfdOriginGroupsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Get.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOriginGroups().getWithResponse("RG", "profile1", "origingroup1", Context.NONE);
+ }
+}
+```
+
+### AfdOriginGroups_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOriginGroups ListByProfile. */
+public final class AfdOriginGroupsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListByProfile.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOriginGroups().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### AfdOriginGroups_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOriginGroups ListResourceUsage. */
+public final class AfdOriginGroupsListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListResourceUsage.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOriginGroups().listResourceUsage("RG", "profile1", "origingroup1", Context.NONE);
+ }
+}
+```
+
+### AfdOriginGroups_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginGroup;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeRequestType;
+import com.azure.resourcemanager.cdn.generated.models.LoadBalancingSettingsParameters;
+import com.azure.resourcemanager.cdn.generated.models.ProbeProtocol;
+
+/** Samples for AfdOriginGroups Update. */
+public final class AfdOriginGroupsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Update.json
+ */
+ /**
+ * Sample code: AFDOriginGroups_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginGroupsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ AfdOriginGroup resource =
+ manager.afdOriginGroups().getWithResponse("RG", "profile1", "origingroup1", Context.NONE).getValue();
+ resource
+ .update()
+ .withLoadBalancingSettings(
+ new LoadBalancingSettingsParameters()
+ .withSampleSize(3)
+ .withSuccessfulSamplesRequired(3)
+ .withAdditionalLatencyInMilliseconds(1000))
+ .withHealthProbeSettings(
+ new HealthProbeParameters()
+ .withProbePath("/path2")
+ .withProbeRequestType(HealthProbeRequestType.NOT_SET)
+ .withProbeProtocol(ProbeProtocol.NOT_SET)
+ .withProbeIntervalInSeconds(10))
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(5)
+ .apply();
+ }
+}
+```
+
+### AfdOrigins_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+
+/** Samples for AfdOrigins Create. */
+public final class AfdOriginsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOrigins_Create.json
+ */
+ /**
+ * Sample code: AFDOrigins_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdOrigins()
+ .define("origin1")
+ .withExistingOriginGroup("RG", "profile1", "origingroup1")
+ .withHostname("host1.blob.core.windows.net")
+ .withHttpPort(80)
+ .withHttpsPort(443)
+ .withOriginHostHeader("host1.foo.com")
+ .withEnabledState(EnabledState.ENABLED)
+ .create();
+ }
+}
+```
+
+### AfdOrigins_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOrigins Delete. */
+public final class AfdOriginsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOrigins_Delete.json
+ */
+ /**
+ * Sample code: AFDOrigins_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOrigins().delete("RG", "profile1", "origingroup1", "origin1", Context.NONE);
+ }
+}
+```
+
+### AfdOrigins_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOrigins Get. */
+public final class AfdOriginsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOrigins_Get.json
+ */
+ /**
+ * Sample code: AFDOrigins_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOrigins().getWithResponse("RG", "profile1", "origingroup1", "origin1", Context.NONE);
+ }
+}
+```
+
+### AfdOrigins_ListByOriginGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdOrigins ListByOriginGroup. */
+public final class AfdOriginsListByOriginGroupSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOrigins_ListByOriginGroup.json
+ */
+ /**
+ * Sample code: AFDOrigins_ListByOriginGroup.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginsListByOriginGroup(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdOrigins().listByOriginGroup("RG", "profile1", "origingroup1", Context.NONE);
+ }
+}
+```
+
+### AfdOrigins_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.AfdOrigin;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+
+/** Samples for AfdOrigins Update. */
+public final class AfdOriginsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOrigins_Update.json
+ */
+ /**
+ * Sample code: AFDOrigins_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDOriginsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ AfdOrigin resource =
+ manager.afdOrigins().getWithResponse("RG", "profile1", "origingroup1", "origin1", Context.NONE).getValue();
+ resource
+ .update()
+ .withHostname("host1.blob.core.windows.net")
+ .withHttpPort(80)
+ .withHttpsPort(443)
+ .withEnabledState(EnabledState.ENABLED)
+ .apply();
+ }
+}
+```
+
+### AfdProfiles_CheckHostnameAvailability
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.CheckHostnameAvailabilityInput;
+
+/** Samples for AfdProfiles CheckHostnameAvailability. */
+public final class AfdProfilesCheckHostnameAvailabilitySamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDProfiles_CheckHostNameAvailability.json
+ */
+ /**
+ * Sample code: AFDProfiles_CheckHostNameAvailability.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDProfilesCheckHostNameAvailability(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .afdProfiles()
+ .checkHostnameAvailabilityWithResponse(
+ "RG",
+ "profile1",
+ new CheckHostnameAvailabilityInput().withHostname("www.someDomain.net"),
+ Context.NONE);
+ }
+}
+```
+
+### AfdProfiles_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AfdProfiles ListResourceUsage. */
+public final class AfdProfilesListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDProfiles_ListResourceUsage.json
+ */
+ /**
+ * Sample code: AFDProfiles_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void aFDProfilesListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.afdProfiles().listResourceUsage("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### CustomDomains_Create
+
+```java
+/** Samples for CustomDomains Create. */
+public final class CustomDomainsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_Create.json
+ */
+ /**
+ * Sample code: CustomDomains_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .customDomains()
+ .define("www-someDomain-net")
+ .withExistingEndpoint("RG", "profile1", "endpoint1")
+ .withHostname("www.someDomain.net")
+ .create();
+ }
+}
+```
+
+### CustomDomains_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for CustomDomains Delete. */
+public final class CustomDomainsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_Delete.json
+ */
+ /**
+ * Sample code: CustomDomains_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.customDomains().delete("RG", "profile1", "endpoint1", "www-someDomain-net", Context.NONE);
+ }
+}
+```
+
+### CustomDomains_DisableCustomHttps
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for CustomDomains DisableCustomHttps. */
+public final class CustomDomainsDisableCustomHttpsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_DisableCustomHttps.json
+ */
+ /**
+ * Sample code: CustomDomains_DisableCustomHttps.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsDisableCustomHttps(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .customDomains()
+ .disableCustomHttpsWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", Context.NONE);
+ }
+}
+```
+
+### CustomDomains_EnableCustomHttps
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for CustomDomains EnableCustomHttps. */
+public final class CustomDomainsEnableCustomHttpsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
+ */
+ /**
+ * Sample code: CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsEnableCustomHttpsUsingCDNManagedCertificate(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .customDomains()
+ .enableCustomHttpsWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", null, Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
+ */
+ /**
+ * Sample code: CustomDomains_EnableCustomHttpsUsingYourOwnCertificate.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsEnableCustomHttpsUsingYourOwnCertificate(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .customDomains()
+ .enableCustomHttpsWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", null, Context.NONE);
+ }
+}
+```
+
+### CustomDomains_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for CustomDomains Get. */
+public final class CustomDomainsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_Get.json
+ */
+ /**
+ * Sample code: CustomDomains_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.customDomains().getWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", Context.NONE);
+ }
+}
+```
+
+### CustomDomains_ListByEndpoint
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for CustomDomains ListByEndpoint. */
+public final class CustomDomainsListByEndpointSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CustomDomains_ListByEndpoint.json
+ */
+ /**
+ * Sample code: CustomDomains_ListByEndpoint.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void customDomainsListByEndpoint(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.customDomains().listByEndpoint("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### EdgeNodes_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EdgeNodes List. */
+public final class EdgeNodesListSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/EdgeNodes_List.json
+ */
+ /**
+ * Sample code: EdgeNodes_List.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void edgeNodesList(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.edgeNodes().list(Context.NONE);
+ }
+}
+```
+
+### Endpoints_Create
+
+```java
+/** Samples for Endpoints Create. */
+public final class EndpointsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Create.json
+ */
+ /**
+ * Sample code: Endpoints_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .endpoints()
+ .define("endpoint1")
+ .withRegion((String) null)
+ .withExistingProfile("RG", "profile1")
+ .create();
+ }
+}
+```
+
+### Endpoints_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints Delete. */
+public final class EndpointsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Delete.json
+ */
+ /**
+ * Sample code: Endpoints_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().delete("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints Get. */
+public final class EndpointsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Get.json
+ */
+ /**
+ * Sample code: Endpoints_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().getWithResponse("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints ListByProfile. */
+public final class EndpointsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_ListByProfile.json
+ */
+ /**
+ * Sample code: Endpoints_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints ListResourceUsage. */
+public final class EndpointsListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_ListResourceUsage.json
+ */
+ /**
+ * Sample code: Endpoints_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().listResourceUsage("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_LoadContent
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.LoadParameters;
+import java.util.Arrays;
+
+/** Samples for Endpoints LoadContent. */
+public final class EndpointsLoadContentSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_LoadContent.json
+ */
+ /**
+ * Sample code: Endpoints_LoadContent.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsLoadContent(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .endpoints()
+ .loadContent(
+ "RG",
+ "profile1",
+ "endpoint1",
+ new LoadParameters().withContentPaths(Arrays.asList("/folder1")),
+ Context.NONE);
+ }
+}
+```
+
+### Endpoints_PurgeContent
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.PurgeParameters;
+import java.util.Arrays;
+
+/** Samples for Endpoints PurgeContent. */
+public final class EndpointsPurgeContentSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_PurgeContent.json
+ */
+ /**
+ * Sample code: Endpoints_PurgeContent.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsPurgeContent(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .endpoints()
+ .purgeContent(
+ "RG",
+ "profile1",
+ "endpoint1",
+ new PurgeParameters().withContentPaths(Arrays.asList("/folder1")),
+ Context.NONE);
+ }
+}
+```
+
+### Endpoints_Start
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints Start. */
+public final class EndpointsStartSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Start.json
+ */
+ /**
+ * Sample code: Endpoints_Start.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsStart(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().start("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_Stop
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Endpoints Stop. */
+public final class EndpointsStopSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Stop.json
+ */
+ /**
+ * Sample code: Endpoints_Stop.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsStop(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.endpoints().stop("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Endpoints_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.Endpoint;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Endpoints Update. */
+public final class EndpointsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_Update.json
+ */
+ /**
+ * Sample code: Endpoints_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ Endpoint resource = manager.endpoints().getWithResponse("RG", "profile1", "endpoint1", Context.NONE).getValue();
+ resource.update().withTags(mapOf("additionalProperties", "Tag1")).apply();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### Endpoints_ValidateCustomDomain
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** Samples for Endpoints ValidateCustomDomain. */
+public final class EndpointsValidateCustomDomainSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Endpoints_ValidateCustomDomain.json
+ */
+ /**
+ * Sample code: Endpoints_ValidateCustomDomain.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void endpointsValidateCustomDomain(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .endpoints()
+ .validateCustomDomainWithResponse(
+ "RG",
+ "profile1",
+ "endpoint1",
+ new ValidateCustomDomainInput().withHostname("www.someDomain.com"),
+ Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetLogAnalyticsLocations
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for LogAnalytics GetLogAnalyticsLocations. */
+public final class LogAnalyticsGetLogAnalyticsLocationsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetLogAnalyticsLocations.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetLogAnalyticsLocations.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetLogAnalyticsLocations(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.logAnalytics().getLogAnalyticsLocationsWithResponse("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetLogAnalyticsMetrics
+
+```java
+import com.azure.core.util.Context;
+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 java.time.OffsetDateTime;
+import java.util.Arrays;
+
+/** Samples for LogAnalytics GetLogAnalyticsMetrics. */
+public final class LogAnalyticsGetLogAnalyticsMetricsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetLogAnalyticsMetrics.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetLogAnalyticsMetrics.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetLogAnalyticsMetrics(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .logAnalytics()
+ .getLogAnalyticsMetricsWithResponse(
+ "RG",
+ "profile1",
+ Arrays.asList(LogMetric.CLIENT_REQUEST_COUNT),
+ OffsetDateTime.parse("2020-11-04T04:30:00.000Z"),
+ OffsetDateTime.parse("2020-11-04T05:00:00.000Z"),
+ LogMetricsGranularity.PT5M,
+ Arrays.asList("customdomain1.azurecdn.net", "customdomain2.azurecdn.net"),
+ Arrays.asList("https"),
+ Arrays.asList(LogMetricsGroupBy.PROTOCOL),
+ null,
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetLogAnalyticsRankings
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.LogRanking;
+import com.azure.resourcemanager.cdn.generated.models.LogRankingMetric;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+
+/** Samples for LogAnalytics GetLogAnalyticsRankings. */
+public final class LogAnalyticsGetLogAnalyticsRankingsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetLogAnalyticsRankings.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetLogAnalyticsRankings.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetLogAnalyticsRankings(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .logAnalytics()
+ .getLogAnalyticsRankingsWithResponse(
+ "RG",
+ "profile1",
+ Arrays.asList(LogRanking.URL),
+ Arrays.asList(LogRankingMetric.CLIENT_REQUEST_COUNT),
+ 5,
+ OffsetDateTime.parse("2020-11-04T06:49:27.554Z"),
+ OffsetDateTime.parse("2020-11-04T09:49:27.554Z"),
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetLogAnalyticsResources
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for LogAnalytics GetLogAnalyticsResources. */
+public final class LogAnalyticsGetLogAnalyticsResourcesSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetLogAnalyticsResources.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetLogAnalyticsResources.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetLogAnalyticsResources(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.logAnalytics().getLogAnalyticsResourcesWithResponse("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetWafLogAnalyticsMetrics
+
+```java
+import com.azure.core.util.Context;
+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 java.time.OffsetDateTime;
+import java.util.Arrays;
+
+/** Samples for LogAnalytics GetWafLogAnalyticsMetrics. */
+public final class LogAnalyticsGetWafLogAnalyticsMetricsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetWafLogAnalyticsMetrics.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetWafLogAnalyticsMetrics(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .logAnalytics()
+ .getWafLogAnalyticsMetricsWithResponse(
+ "RG",
+ "profile1",
+ Arrays.asList(WafMetric.CLIENT_REQUEST_COUNT),
+ OffsetDateTime.parse("2020-11-04T06:49:27.554Z"),
+ OffsetDateTime.parse("2020-11-04T09:49:27.554Z"),
+ WafGranularity.PT5M,
+ Arrays.asList(WafAction.BLOCK, WafAction.LOG),
+ null,
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### LogAnalytics_GetWafLogAnalyticsRankings
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.WafMetric;
+import com.azure.resourcemanager.cdn.generated.models.WafRankingType;
+import java.time.OffsetDateTime;
+import java.util.Arrays;
+
+/** Samples for LogAnalytics GetWafLogAnalyticsRankings. */
+public final class LogAnalyticsGetWafLogAnalyticsRankingsSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/LogAnalytics_GetWafLogAnalyticsRankings.json
+ */
+ /**
+ * Sample code: LogAnalytics_GetWafLogAnalyticsRankings.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void logAnalyticsGetWafLogAnalyticsRankings(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .logAnalytics()
+ .getWafLogAnalyticsRankingsWithResponse(
+ "RG",
+ "profile1",
+ Arrays.asList(WafMetric.CLIENT_REQUEST_COUNT),
+ OffsetDateTime.parse("2020-11-04T06:49:27.554Z"),
+ OffsetDateTime.parse("2020-11-04T09:49:27.554Z"),
+ 5,
+ Arrays.asList(WafRankingType.RULE_ID),
+ null,
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### ManagedRuleSets_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ManagedRuleSets List. */
+public final class ManagedRuleSetsListSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafListManagedRuleSets.json
+ */
+ /**
+ * Sample code: List Policies in a Resource Group.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void listPoliciesInAResourceGroup(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.managedRuleSets().list(Context.NONE);
+ }
+}
+```
+
+### Operations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Operations List. */
+public final class OperationsListSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Operations_List.json
+ */
+ /**
+ * Sample code: Operations_List.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void operationsList(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+}
+```
+
+### OriginGroups_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeRequestType;
+import com.azure.resourcemanager.cdn.generated.models.ProbeProtocol;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResponseBasedDetectedErrorTypes;
+import com.azure.resourcemanager.cdn.generated.models.ResponseBasedOriginErrorDetectionParameters;
+import java.util.Arrays;
+
+/** Samples for OriginGroups Create. */
+public final class OriginGroupsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/OriginGroups_Create.json
+ */
+ /**
+ * Sample code: OriginGroups_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originGroupsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .originGroups()
+ .define("origingroup1")
+ .withExistingEndpoint("RG", "profile1", "endpoint1")
+ .withHealthProbeSettings(
+ new HealthProbeParameters()
+ .withProbePath("/health.aspx")
+ .withProbeRequestType(HealthProbeRequestType.GET)
+ .withProbeProtocol(ProbeProtocol.HTTP)
+ .withProbeIntervalInSeconds(120))
+ .withOrigins(
+ Arrays
+ .asList(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1")))
+ .withResponseBasedOriginErrorDetectionSettings(
+ new ResponseBasedOriginErrorDetectionParameters()
+ .withResponseBasedDetectedErrorTypes(ResponseBasedDetectedErrorTypes.TCP_ERRORS_ONLY)
+ .withResponseBasedFailoverThresholdPercentage(10))
+ .create();
+ }
+}
+```
+
+### OriginGroups_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OriginGroups Delete. */
+public final class OriginGroupsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/OriginGroups_Delete.json
+ */
+ /**
+ * Sample code: OriginGroups_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originGroupsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.originGroups().delete("RG", "profile1", "endpoint1", "originGroup1", Context.NONE);
+ }
+}
+```
+
+### OriginGroups_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OriginGroups Get. */
+public final class OriginGroupsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/OriginGroups_Get.json
+ */
+ /**
+ * Sample code: OriginGroups_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originGroupsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.originGroups().getWithResponse("RG", "profile1", "endpoint1", "originGroup1", Context.NONE);
+ }
+}
+```
+
+### OriginGroups_ListByEndpoint
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for OriginGroups ListByEndpoint. */
+public final class OriginGroupsListByEndpointSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/OriginGroups_ListByEndpoint.json
+ */
+ /**
+ * Sample code: OriginsGroups_ListByEndpoint.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsGroupsListByEndpoint(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.originGroups().listByEndpoint("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### OriginGroups_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeRequestType;
+import com.azure.resourcemanager.cdn.generated.models.OriginGroup;
+import com.azure.resourcemanager.cdn.generated.models.ProbeProtocol;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import java.util.Arrays;
+
+/** Samples for OriginGroups Update. */
+public final class OriginGroupsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/OriginGroups_Update.json
+ */
+ /**
+ * Sample code: OriginGroups_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originGroupsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ OriginGroup resource =
+ manager
+ .originGroups()
+ .getWithResponse("RG", "profile1", "endpoint1", "originGroup1", Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withHealthProbeSettings(
+ new HealthProbeParameters()
+ .withProbePath("/health.aspx")
+ .withProbeRequestType(HealthProbeRequestType.GET)
+ .withProbeProtocol(ProbeProtocol.HTTP)
+ .withProbeIntervalInSeconds(120))
+ .withOrigins(
+ Arrays
+ .asList(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2")))
+ .apply();
+ }
+}
+```
+
+### Origins_Create
+
+```java
+/** Samples for Origins Create. */
+public final class OriginsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Origins_Create.json
+ */
+ /**
+ * Sample code: Origins_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .origins()
+ .define("www-someDomain-net")
+ .withExistingEndpoint("RG", "profile1", "endpoint1")
+ .withHostname("www.someDomain.net")
+ .withHttpPort(80)
+ .withHttpsPort(443)
+ .withOriginHostHeader("www.someDomain.net")
+ .withPriority(1)
+ .withWeight(50)
+ .withEnabled(true)
+ .withPrivateLinkResourceId(
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1")
+ .withPrivateLinkLocation("eastus")
+ .withPrivateLinkApprovalMessage("Please approve the connection request for this Private Link")
+ .create();
+ }
+}
+```
+
+### Origins_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Origins Delete. */
+public final class OriginsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Origins_Delete.json
+ */
+ /**
+ * Sample code: Origins_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.origins().delete("RG", "profile1", "endpoint1", "origin1", Context.NONE);
+ }
+}
+```
+
+### Origins_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Origins Get. */
+public final class OriginsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Origins_Get.json
+ */
+ /**
+ * Sample code: Origins_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.origins().getWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", Context.NONE);
+ }
+}
+```
+
+### Origins_ListByEndpoint
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Origins ListByEndpoint. */
+public final class OriginsListByEndpointSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Origins_ListByEndpoint.json
+ */
+ /**
+ * Sample code: Origins_ListByEndpoint.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsListByEndpoint(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.origins().listByEndpoint("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Origins_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.Origin;
+
+/** Samples for Origins Update. */
+public final class OriginsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Origins_Update.json
+ */
+ /**
+ * Sample code: Origins_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void originsUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ Origin resource =
+ manager
+ .origins()
+ .getWithResponse("RG", "profile1", "endpoint1", "www-someDomain-net", Context.NONE)
+ .getValue();
+ resource
+ .update()
+ .withHttpPort(42)
+ .withHttpsPort(43)
+ .withOriginHostHeader("www.someDomain2.net")
+ .withPriority(1)
+ .withWeight(50)
+ .withEnabled(true)
+ .withPrivateLinkAlias("APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice")
+ .apply();
+ }
+}
+```
+
+### Policies_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.ActionType;
+import com.azure.resourcemanager.cdn.generated.models.CustomRule;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleEnabledState;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleList;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleEnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleGroupOverride;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleOverride;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSet;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSetList;
+import com.azure.resourcemanager.cdn.generated.models.MatchCondition;
+import com.azure.resourcemanager.cdn.generated.models.Operator;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettings;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettingsDefaultCustomBlockResponseStatusCode;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRule;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRuleList;
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.azure.resourcemanager.cdn.generated.models.SkuName;
+import com.azure.resourcemanager.cdn.generated.models.TransformType;
+import com.azure.resourcemanager.cdn.generated.models.WafMatchVariable;
+import java.util.Arrays;
+
+/** Samples for Policies CreateOrUpdate. */
+public final class PoliciesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafPolicyCreateOrUpdate.json
+ */
+ /**
+ * Sample code: Creates specific policy.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void createsSpecificPolicy(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .policies()
+ .define("MicrosoftCdnWafPolicy")
+ .withRegion("WestUs")
+ .withExistingResourceGroup("rg1")
+ .withSku(new Sku().withName(SkuName.STANDARD_MICROSOFT))
+ .withPolicySettings(
+ new PolicySettings()
+ .withDefaultRedirectUrl("http://www.bing.com")
+ .withDefaultCustomBlockResponseStatusCode(
+ PolicySettingsDefaultCustomBlockResponseStatusCode.TWO_ZERO_ZERO)
+ .withDefaultCustomBlockResponseBody(
+ "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="))
+ .withRateLimitRules(
+ new RateLimitRuleList()
+ .withRules(
+ Arrays
+ .asList(
+ new RateLimitRule()
+ .withName("RateLimitRule1")
+ .withEnabledState(CustomRuleEnabledState.ENABLED)
+ .withPriority(1)
+ .withMatchConditions(
+ Arrays
+ .asList(
+ new MatchCondition()
+ .withMatchVariable(WafMatchVariable.REMOTE_ADDR)
+ .withOperator(Operator.IPMATCH)
+ .withNegateCondition(false)
+ .withMatchValue(Arrays.asList("192.168.1.0/24", "10.0.0.0/24"))
+ .withTransforms(Arrays.asList())))
+ .withAction(ActionType.BLOCK)
+ .withRateLimitThreshold(1000)
+ .withRateLimitDurationInMinutes(0))))
+ .withCustomRules(
+ new CustomRuleList()
+ .withRules(
+ Arrays
+ .asList(
+ new CustomRule()
+ .withName("CustomRule1")
+ .withEnabledState(CustomRuleEnabledState.ENABLED)
+ .withPriority(2)
+ .withMatchConditions(
+ Arrays
+ .asList(
+ new MatchCondition()
+ .withMatchVariable(WafMatchVariable.REMOTE_ADDR)
+ .withOperator(Operator.GEO_MATCH)
+ .withNegateCondition(false)
+ .withMatchValue(Arrays.asList("CH"))
+ .withTransforms(Arrays.asList()),
+ new MatchCondition()
+ .withMatchVariable(WafMatchVariable.REQUEST_HEADER)
+ .withSelector("UserAgent")
+ .withOperator(Operator.CONTAINS)
+ .withNegateCondition(false)
+ .withMatchValue(Arrays.asList("windows"))
+ .withTransforms(Arrays.asList()),
+ new MatchCondition()
+ .withMatchVariable(WafMatchVariable.QUERY_STRING)
+ .withSelector("search")
+ .withOperator(Operator.CONTAINS)
+ .withNegateCondition(false)
+ .withMatchValue(Arrays.asList(""))
+ .withTransforms(
+ Arrays
+ .asList(
+ TransformType.URL_DECODE, TransformType.LOWERCASE))))
+ .withAction(ActionType.BLOCK))))
+ .withManagedRules(
+ new ManagedRuleSetList()
+ .withManagedRuleSets(
+ Arrays
+ .asList(
+ new ManagedRuleSet()
+ .withRuleSetType("DefaultRuleSet")
+ .withRuleSetVersion("preview-1.0")
+ .withRuleGroupOverrides(
+ Arrays
+ .asList(
+ new ManagedRuleGroupOverride()
+ .withRuleGroupName("Group1")
+ .withRules(
+ Arrays
+ .asList(
+ new ManagedRuleOverride()
+ .withRuleId("GROUP1-0001")
+ .withEnabledState(ManagedRuleEnabledState.ENABLED)
+ .withAction(ActionType.REDIRECT),
+ new ManagedRuleOverride()
+ .withRuleId("GROUP1-0002")
+ .withEnabledState(
+ ManagedRuleEnabledState.DISABLED))))))))
+ .create();
+ }
+}
+```
+
+### Policies_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Policies Delete. */
+public final class PoliciesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafPolicyDelete.json
+ */
+ /**
+ * Sample code: Delete protection policy.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void deleteProtectionPolicy(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.policies().deleteWithResponse("rg1", "Policy1", Context.NONE);
+ }
+}
+```
+
+### Policies_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Policies GetByResourceGroup. */
+public final class PoliciesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafPolicyGet.json
+ */
+ /**
+ * Sample code: Get Policy.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void getPolicy(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.policies().getByResourceGroupWithResponse("rg1", "MicrosoftCdnWafPolicy", Context.NONE);
+ }
+}
+```
+
+### Policies_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Policies ListByResourceGroup. */
+public final class PoliciesListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafListPolicies.json
+ */
+ /**
+ * Sample code: List Policies in a Resource Group.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void listPoliciesInAResourceGroup(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.policies().listByResourceGroup("rg1", Context.NONE);
+ }
+}
+```
+
+### Policies_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.CdnWebApplicationFirewallPolicy;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Policies Update. */
+public final class PoliciesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/WafPatchPolicy.json
+ */
+ /**
+ * Sample code: Creates specific policy.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void createsSpecificPolicy(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ CdnWebApplicationFirewallPolicy resource =
+ manager.policies().getByResourceGroupWithResponse("rg1", "MicrosoftCdnWafPolicy", Context.NONE).getValue();
+ resource.update().withTags(mapOf("foo", "bar")).apply();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### Profiles_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.azure.resourcemanager.cdn.generated.models.SkuName;
+
+/** Samples for Profiles Create. */
+public final class ProfilesCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_Create.json
+ */
+ /**
+ * Sample code: Profiles_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .profiles()
+ .define("profile1")
+ .withRegion("WestCentralUs")
+ .withExistingResourceGroup("RG")
+ .withSku(new Sku().withName(SkuName.PREMIUM_AZURE_FRONT_DOOR))
+ .create();
+ }
+}
+```
+
+### Profiles_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles Delete. */
+public final class ProfilesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_Delete.json
+ */
+ /**
+ * Sample code: Profiles_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().delete("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Profiles_GenerateSsoUri
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles GenerateSsoUri. */
+public final class ProfilesGenerateSsoUriSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_GenerateSsoUri.json
+ */
+ /**
+ * Sample code: Profiles_GenerateSsoUri.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesGenerateSsoUri(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().generateSsoUriWithResponse("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Profiles_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles GetByResourceGroup. */
+public final class ProfilesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_Get.json
+ */
+ /**
+ * Sample code: Profiles_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().getByResourceGroupWithResponse("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Profiles_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles List. */
+public final class ProfilesListSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_List.json
+ */
+ /**
+ * Sample code: Profiles_List.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesList(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().list(Context.NONE);
+ }
+}
+```
+
+### Profiles_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles ListByResourceGroup. */
+public final class ProfilesListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: Profiles_ListByResourceGroup.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesListByResourceGroup(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().listByResourceGroup("RG", Context.NONE);
+ }
+}
+```
+
+### Profiles_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles ListResourceUsage. */
+public final class ProfilesListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_ListResourceUsage.json
+ */
+ /**
+ * Sample code: Profiles_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().listResourceUsage("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Profiles_ListSupportedOptimizationTypes
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Profiles ListSupportedOptimizationTypes. */
+public final class ProfilesListSupportedOptimizationTypesSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_ListSupportedOptimizationTypes.json
+ */
+ /**
+ * Sample code: Profiles_ListSupportedOptimizationTypes.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesListSupportedOptimizationTypes(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.profiles().listSupportedOptimizationTypesWithResponse("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### Profiles_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.Profile;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Profiles Update. */
+public final class ProfilesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Profiles_Update.json
+ */
+ /**
+ * Sample code: Profiles_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void profilesUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ Profile resource = manager.profiles().getByResourceGroupWithResponse("RG", "profile1", Context.NONE).getValue();
+ resource.update().withTags(mapOf("additionalProperties", "Tag1")).apply();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### ResourceProvider_CheckNameAvailability
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.CheckNameAvailabilityInput;
+
+/** Samples for ResourceProvider CheckNameAvailability. */
+public final class ResourceProviderCheckNameAvailabilitySamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CheckNameAvailability.json
+ */
+ /**
+ * Sample code: CheckNameAvailability.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void checkNameAvailability(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .resourceProviders()
+ .checkNameAvailabilityWithResponse(new CheckNameAvailabilityInput().withName("sampleName"), Context.NONE);
+ }
+}
+```
+
+### ResourceProvider_CheckNameAvailabilityWithSubscription
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.CheckNameAvailabilityInput;
+
+/** Samples for ResourceProvider CheckNameAvailabilityWithSubscription. */
+public final class ResourceProviderCheckNameAvailabilityWithSubscriptionSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CheckNameAvailabilityWithSubscription.json
+ */
+ /**
+ * Sample code: CheckNameAvailabilityWithSubscription.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void checkNameAvailabilityWithSubscription(
+ com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .resourceProviders()
+ .checkNameAvailabilityWithSubscriptionWithResponse(
+ new CheckNameAvailabilityInput().withName("sampleName"), Context.NONE);
+ }
+}
+```
+
+### ResourceProvider_ValidateProbe
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.ValidateProbeInput;
+
+/** Samples for ResourceProvider ValidateProbe. */
+public final class ResourceProviderValidateProbeSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/ValidateProbe.json
+ */
+ /**
+ * Sample code: ValidateProbe.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void validateProbe(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .resourceProviders()
+ .validateProbeWithResponse(
+ new ValidateProbeInput().withProbeUrl("https://www.bing.com/image"), Context.NONE);
+ }
+}
+```
+
+### ResourceUsage_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ResourceUsage List. */
+public final class ResourceUsageListSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/ResourceUsage_List.json
+ */
+ /**
+ * Sample code: ResourceUsage_List.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void resourceUsageList(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.resourceUsages().list(Context.NONE);
+ }
+}
+```
+
+### Routes_Create
+
+```java
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.cdn.generated.models.ActivatedResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpointProtocols;
+import com.azure.resourcemanager.cdn.generated.models.AfdQueryStringCachingBehavior;
+import com.azure.resourcemanager.cdn.generated.models.AfdRouteCacheConfiguration;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ForwardingProtocol;
+import com.azure.resourcemanager.cdn.generated.models.HttpsRedirect;
+import com.azure.resourcemanager.cdn.generated.models.LinkToDefaultDomain;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import java.io.IOException;
+import java.util.Arrays;
+
+/** Samples for Routes Create. */
+public final class RoutesCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Create.json
+ */
+ /**
+ * Sample code: Routes_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void routesCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) throws IOException {
+ manager
+ .routes()
+ .define("route1")
+ .withExistingAfdEndpoint("RG", "profile1", "endpoint1")
+ .withCustomDomains(
+ Arrays
+ .asList(
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1")))
+ .withOriginGroup(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1"))
+ .withRuleSets(
+ Arrays
+ .asList(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1")))
+ .withSupportedProtocols(Arrays.asList(AfdEndpointProtocols.HTTPS, AfdEndpointProtocols.HTTP))
+ .withPatternsToMatch(Arrays.asList("/*"))
+ .withCacheConfiguration(
+ new AfdRouteCacheConfiguration()
+ .withQueryStringCachingBehavior(AfdQueryStringCachingBehavior.IGNORE_SPECIFIED_QUERY_STRINGS)
+ .withQueryParameters("querystring=test")
+ .withCompressionSettings(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"contentTypesToCompress\":[\"text/html\",\"application/octet-stream\"],\"isCompressionEnabled\":true}",
+ Object.class,
+ SerializerEncoding.JSON)))
+ .withForwardingProtocol(ForwardingProtocol.MATCH_REQUEST)
+ .withLinkToDefaultDomain(LinkToDefaultDomain.ENABLED)
+ .withHttpsRedirect(HttpsRedirect.ENABLED)
+ .withEnabledState(EnabledState.ENABLED)
+ .create();
+ }
+}
+```
+
+### Routes_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Routes Delete. */
+public final class RoutesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Delete.json
+ */
+ /**
+ * Sample code: Routes_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void routesDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.routes().delete("RG", "profile1", "endpoint1", "route1", Context.NONE);
+ }
+}
+```
+
+### Routes_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Routes Get. */
+public final class RoutesGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Get.json
+ */
+ /**
+ * Sample code: Routes_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void routesGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.routes().getWithResponse("RG", "profile1", "endpoint1", "route1", Context.NONE);
+ }
+}
+```
+
+### Routes_ListByEndpoint
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Routes ListByEndpoint. */
+public final class RoutesListByEndpointSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_ListByEndpoint.json
+ */
+ /**
+ * Sample code: Routes_ListByEndpoint.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void routesListByEndpoint(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.routes().listByEndpoint("RG", "profile1", "endpoint1", Context.NONE);
+ }
+}
+```
+
+### Routes_Update
+
+```java
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.cdn.generated.models.ActivatedResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpointProtocols;
+import com.azure.resourcemanager.cdn.generated.models.AfdQueryStringCachingBehavior;
+import com.azure.resourcemanager.cdn.generated.models.AfdRouteCacheConfiguration;
+import com.azure.resourcemanager.cdn.generated.models.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ForwardingProtocol;
+import com.azure.resourcemanager.cdn.generated.models.HttpsRedirect;
+import com.azure.resourcemanager.cdn.generated.models.LinkToDefaultDomain;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.Route;
+import java.io.IOException;
+import java.util.Arrays;
+
+/** Samples for Routes Update. */
+public final class RoutesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Routes_Update.json
+ */
+ /**
+ * Sample code: Routes_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void routesUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) throws IOException {
+ Route resource =
+ manager.routes().getWithResponse("RG", "profile1", "endpoint1", "route1", Context.NONE).getValue();
+ resource
+ .update()
+ .withCustomDomains(
+ Arrays
+ .asList(
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1")))
+ .withOriginGroup(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1"))
+ .withRuleSets(
+ Arrays
+ .asList(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1")))
+ .withSupportedProtocols(Arrays.asList(AfdEndpointProtocols.HTTPS, AfdEndpointProtocols.HTTP))
+ .withPatternsToMatch(Arrays.asList("/*"))
+ .withCacheConfiguration(
+ new AfdRouteCacheConfiguration()
+ .withQueryStringCachingBehavior(AfdQueryStringCachingBehavior.IGNORE_QUERY_STRING)
+ .withCompressionSettings(
+ SerializerFactory
+ .createDefaultManagementSerializerAdapter()
+ .deserialize(
+ "{\"contentTypesToCompress\":[\"text/html\",\"application/octet-stream\"],\"isCompressionEnabled\":true}",
+ Object.class,
+ SerializerEncoding.JSON)))
+ .withForwardingProtocol(ForwardingProtocol.MATCH_REQUEST)
+ .withLinkToDefaultDomain(LinkToDefaultDomain.ENABLED)
+ .withHttpsRedirect(HttpsRedirect.ENABLED)
+ .withEnabledState(EnabledState.ENABLED)
+ .apply();
+ }
+}
+```
+
+### RuleSets_Create
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RuleSets Create. */
+public final class RuleSetsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/RuleSets_Create.json
+ */
+ /**
+ * Sample code: RuleSets_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void ruleSetsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.ruleSets().createWithResponse("RG", "profile1", "ruleSet1", Context.NONE);
+ }
+}
+```
+
+### RuleSets_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RuleSets Delete. */
+public final class RuleSetsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/RuleSets_Delete.json
+ */
+ /**
+ * Sample code: RuleSets_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void ruleSetsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.ruleSets().delete("RG", "profile1", "ruleSet1", Context.NONE);
+ }
+}
+```
+
+### RuleSets_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RuleSets Get. */
+public final class RuleSetsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/RuleSets_Get.json
+ */
+ /**
+ * Sample code: RuleSets_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void ruleSetsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.ruleSets().getWithResponse("RG", "profile1", "ruleSet1", Context.NONE);
+ }
+}
+```
+
+### RuleSets_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RuleSets ListByProfile. */
+public final class RuleSetsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/RuleSets_ListByProfile.json
+ */
+ /**
+ * Sample code: RuleSets_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void ruleSetsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.ruleSets().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### RuleSets_ListResourceUsage
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RuleSets ListResourceUsage. */
+public final class RuleSetsListResourceUsageSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/RuleSets_ListResourceUsage.json
+ */
+ /**
+ * Sample code: RuleSets_ListResourceUsage.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void ruleSetsListResourceUsage(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.ruleSets().listResourceUsage("RG", "profile1", "ruleSet1", Context.NONE);
+ }
+}
+```
+
+### Rules_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.DeliveryRuleRequestMethodCondition;
+import com.azure.resourcemanager.cdn.generated.models.DeliveryRuleResponseHeaderAction;
+import com.azure.resourcemanager.cdn.generated.models.HeaderAction;
+import com.azure.resourcemanager.cdn.generated.models.HeaderActionParameters;
+import com.azure.resourcemanager.cdn.generated.models.RequestMethodMatchConditionParameters;
+import com.azure.resourcemanager.cdn.generated.models.RequestMethodMatchConditionParametersMatchValuesItem;
+import com.azure.resourcemanager.cdn.generated.models.RequestMethodOperator;
+import java.util.Arrays;
+
+/** Samples for Rules Create. */
+public final class RulesCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Rules_Create.json
+ */
+ /**
+ * Sample code: Rules_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void rulesCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .rules()
+ .define("rule1")
+ .withExistingRuleSet("RG", "profile1", "ruleSet1")
+ .withOrder(1)
+ .withConditions(
+ Arrays
+ .asList(
+ new DeliveryRuleRequestMethodCondition()
+ .withParameters(
+ new RequestMethodMatchConditionParameters()
+ .withOperator(RequestMethodOperator.EQUAL)
+ .withNegateCondition(false)
+ .withMatchValues(
+ Arrays.asList(RequestMethodMatchConditionParametersMatchValuesItem.GET)))))
+ .withActions(
+ Arrays
+ .asList(
+ new DeliveryRuleResponseHeaderAction()
+ .withParameters(
+ new HeaderActionParameters()
+ .withHeaderAction(HeaderAction.OVERWRITE)
+ .withHeaderName("X-CDN")
+ .withValue("MSFT"))))
+ .create();
+ }
+}
+```
+
+### Rules_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Rules Delete. */
+public final class RulesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Rules_Delete.json
+ */
+ /**
+ * Sample code: Rules_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void rulesDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.rules().delete("RG", "profile1", "ruleSet1", "rule1", Context.NONE);
+ }
+}
+```
+
+### Rules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Rules Get. */
+public final class RulesGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Rules_Get.json
+ */
+ /**
+ * Sample code: Rules_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void rulesGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.rules().getWithResponse("RG", "profile1", "ruleSet1", "rule1", Context.NONE);
+ }
+}
+```
+
+### Rules_ListByRuleSet
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Rules ListByRuleSet. */
+public final class RulesListByRuleSetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Rules_ListByRuleSet.json
+ */
+ /**
+ * Sample code: Rules_ListByRuleSet.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void rulesListByRuleSet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.rules().listByRuleSet("RG", "profile1", "ruleSet1", Context.NONE);
+ }
+}
+```
+
+### Rules_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.DeliveryRuleResponseHeaderAction;
+import com.azure.resourcemanager.cdn.generated.models.HeaderAction;
+import com.azure.resourcemanager.cdn.generated.models.HeaderActionParameters;
+import com.azure.resourcemanager.cdn.generated.models.Rule;
+import java.util.Arrays;
+
+/** Samples for Rules Update. */
+public final class RulesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Rules_Update.json
+ */
+ /**
+ * Sample code: Rules_Update.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void rulesUpdate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ Rule resource = manager.rules().getWithResponse("RG", "profile1", "ruleSet1", "rule1", Context.NONE).getValue();
+ resource
+ .update()
+ .withOrder(1)
+ .withActions(
+ Arrays
+ .asList(
+ new DeliveryRuleResponseHeaderAction()
+ .withParameters(
+ new HeaderActionParameters()
+ .withHeaderAction(HeaderAction.OVERWRITE)
+ .withHeaderName("X-CDN")
+ .withValue("MSFT"))))
+ .apply();
+ }
+}
+```
+
+### Secrets_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.CustomerCertificateParameters;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+
+/** Samples for Secrets Create. */
+public final class SecretsCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Secrets_Create.json
+ */
+ /**
+ * Sample code: Secrets_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void secretsCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .secrets()
+ .define("secret1")
+ .withExistingProfile("RG", "profile1")
+ .withParameters(
+ new CustomerCertificateParameters()
+ .withSecretSource(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vault/kvName/secrets/certificatename"))
+ .withSecretVersion("abcdef1234578900abcdef1234567890")
+ .withUseLatestVersion(false))
+ .create();
+ }
+}
+```
+
+### Secrets_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Secrets Delete. */
+public final class SecretsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Secrets_Delete.json
+ */
+ /**
+ * Sample code: Secrets_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void secretsDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.secrets().delete("RG", "profile1", "secret1", Context.NONE);
+ }
+}
+```
+
+### Secrets_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Secrets Get. */
+public final class SecretsGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Secrets_Get.json
+ */
+ /**
+ * Sample code: Secrets_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void secretsGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.secrets().getWithResponse("RG", "profile1", "secret1", Context.NONE);
+ }
+}
+```
+
+### Secrets_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Secrets ListByProfile. */
+public final class SecretsListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Secrets_ListByProfile.json
+ */
+ /**
+ * Sample code: Secrets_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void secretsListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.secrets().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### SecurityPolicies_Create
+
+```java
+import com.azure.resourcemanager.cdn.generated.models.ActivatedResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicyWebApplicationFirewallAssociation;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicyWebApplicationFirewallParameters;
+import java.util.Arrays;
+
+/** Samples for SecurityPolicies Create. */
+public final class SecurityPoliciesCreateSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/SecurityPolicies_Create.json
+ */
+ /**
+ * Sample code: SecurityPolicies_Create.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void securityPoliciesCreate(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .securityPolicies()
+ .define("securityPolicy1")
+ .withExistingProfile("RG", "profile1")
+ .withParameters(
+ new SecurityPolicyWebApplicationFirewallParameters()
+ .withWafPolicy(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest"))
+ .withAssociations(
+ Arrays
+ .asList(
+ new SecurityPolicyWebApplicationFirewallAssociation()
+ .withDomains(
+ Arrays
+ .asList(
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afddomains/testdomain1"),
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afddomains/testdomain2")))
+ .withPatternsToMatch(Arrays.asList("/*")))))
+ .create();
+ }
+}
+```
+
+### SecurityPolicies_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SecurityPolicies Delete. */
+public final class SecurityPoliciesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/SecurityPolicies_Delete.json
+ */
+ /**
+ * Sample code: SecurityPolicies_Delete.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void securityPoliciesDelete(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.securityPolicies().delete("RG", "profile1", "securityPolicy1", Context.NONE);
+ }
+}
+```
+
+### SecurityPolicies_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SecurityPolicies Get. */
+public final class SecurityPoliciesGetSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/SecurityPolicies_Get.json
+ */
+ /**
+ * Sample code: SecurityPolicies_Get.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void securityPoliciesGet(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.securityPolicies().getWithResponse("RG", "profile1", "securityPolicy1", Context.NONE);
+ }
+}
+```
+
+### SecurityPolicies_ListByProfile
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SecurityPolicies ListByProfile. */
+public final class SecurityPoliciesListByProfileSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/SecurityPolicies_ListByProfile.json
+ */
+ /**
+ * Sample code: SecurityPolicies_ListByProfile.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void securityPoliciesListByProfile(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager.securityPolicies().listByProfile("RG", "profile1", Context.NONE);
+ }
+}
+```
+
+### SecurityPolicies_Patch
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.ActivatedResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicy;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicyWebApplicationFirewallAssociation;
+import com.azure.resourcemanager.cdn.generated.models.SecurityPolicyWebApplicationFirewallParameters;
+import java.util.Arrays;
+
+/** Samples for SecurityPolicies Patch. */
+public final class SecurityPoliciesPatchSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/SecurityPolicies_Patch.json
+ */
+ /**
+ * Sample code: SecurityPolicies_Patch.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void securityPoliciesPatch(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ SecurityPolicy resource =
+ manager.securityPolicies().getWithResponse("RG", "profile1", "securityPolicy1", Context.NONE).getValue();
+ resource
+ .update()
+ .withParameters(
+ new SecurityPolicyWebApplicationFirewallParameters()
+ .withWafPolicy(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest"))
+ .withAssociations(
+ Arrays
+ .asList(
+ new SecurityPolicyWebApplicationFirewallAssociation()
+ .withDomains(
+ Arrays
+ .asList(
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afddomains/testdomain1"),
+ new ActivatedResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afddomains/testdomain2")))
+ .withPatternsToMatch(Arrays.asList("/*")))))
+ .apply();
+ }
+}
+```
+
+### Validate_Secret
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.SecretType;
+import com.azure.resourcemanager.cdn.generated.models.ValidateSecretInput;
+
+/** Samples for Validate Secret. */
+public final class ValidateSecretSamples {
+ /*
+ * x-ms-original-file: specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/Validate_Secret.json
+ */
+ /**
+ * Sample code: Validate_Secret.
+ *
+ * @param manager Entry point to CdnManager.
+ */
+ public static void validateSecret(com.azure.resourcemanager.cdn.generated.CdnManager manager) {
+ manager
+ .validates()
+ .secretWithResponse(
+ new ValidateSecretInput()
+ .withSecretType(SecretType.CUSTOMER_CERTIFICATE)
+ .withSecretSource(
+ new ResourceReference()
+ .withId(
+ "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vault/kvName/certificate/certName")),
+ Context.NONE);
+ }
+}
+```
+
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 0000000000000..6031df115935c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/pom.xml
@@ -0,0 +1,81 @@
+
+ 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-2021-06.
+ 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
+ true
+ false
+
+
+
+
+
+ com.azure
+ azure-core
+ 1.23.1
+
+
+ com.azure
+ azure-core-management
+ 1.4.4
+
+
+
+
+
+ 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 0000000000000..53eefa4d11821
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/CdnManager.java
@@ -0,0 +1,506 @@
+// 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.HttpPipelinePosition;
+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;
+import java.util.stream.Collectors;
+
+/** Entry point to CdnManager. Cdn Management Client. */
+public final class CdnManager {
+ 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 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 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());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new CdnManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @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 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 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 0000000000000..1c27bbaf3b722
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdCustomDomainsClient.java
@@ -0,0 +1,381 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.AfdDomainInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdCustomDomainsClient. */
+public interface AfdCustomDomainsClient {
+ /**
+ * Lists existing AzureFrontDoor domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile or CDN profile which
+ * is unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile or CDN profile which
+ * is unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner get(String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginCreate(
+ String resourceGroupName, String profileName, String customDomainName, AfdDomainInner customDomain);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainInner customDomain,
+ Context context);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner create(
+ String resourceGroupName, String profileName, String customDomainName, AfdDomainInner customDomain);
+
+ /**
+ * Creates a new domain within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomain Domain properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainInner customDomain,
+ Context context);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdDomainInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner update(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties);
+
+ /**
+ * Updates an existing domain within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param customDomainUpdateProperties Domain properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AfdDomainInner update(
+ String resourceGroupName,
+ String profileName,
+ String customDomainName,
+ AfdDomainUpdateParameters customDomainUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String customDomainName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String customDomainName, Context context);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRefreshValidationToken(
+ String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginRefreshValidationToken(
+ String resourceGroupName, String profileName, String customDomainName, Context context);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void refreshValidationToken(String resourceGroupName, String profileName, String customDomainName);
+
+ /**
+ * Updates the domain validation token.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param customDomainName Name of the domain under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void refreshValidationToken(String resourceGroupName, String profileName, String customDomainName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
new file mode 100644
index 0000000000000..80cd51cb5d22f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdEndpointsClient.java
@@ -0,0 +1,495 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.AfdEndpointInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ValidateCustomDomainOutputInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdEndpointUpdateParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdPurgeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ValidateCustomDomainInput;
+
+/** An instance of this class provides access to all the operations defined in AfdEndpointsClient. */
+public interface AfdEndpointsClient {
+ /**
+ * Lists existing AzureFrontDoor endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list endpoints.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor endpoints.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list endpoints.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, AfdEndpointInner endpointParam);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdEndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdEndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the
+ * Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use
+ * the Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginPurgeContent(
+ String resourceGroupName, String profileName, String endpointName, AfdPurgeParameters contents);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginPurgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdPurgeParameters contents,
+ Context context);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purgeContent(String resourceGroupName, String profileName, String endpointName, AfdPurgeParameters contents);
+
+ /**
+ * Removes a content from AzureFrontDoor.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contents The list of paths to the content and the list of linked domains to be purged. Path can be a full
+ * URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g.
+ * '/pictures/*' which removes all folders and files in the directory.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ AfdPurgeParameters contents,
+ Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list usages operation response.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of custom domain validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateCustomDomainOutputInner validateCustomDomain(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ ValidateCustomDomainInput customDomainProperties);
+
+ /**
+ * 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of custom domain validation.
+ */
+ @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 0000000000000..46a1612dce3fd
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginGroupsClient.java
@@ -0,0 +1,344 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.AfdOriginGroupInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginGroupUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdOriginGroupsClient. */
+public interface AfdOriginGroupsClient {
+ /**
+ * Lists all of the existing origin groups within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origin groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists all of the existing origin groups within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origin groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing origin group within a profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginCreate(
+ String resourceGroupName, String profileName, String originGroupName, AfdOriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Creates a new origin group within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ AfdOriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return aFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String originGroupName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
new file mode 100644
index 0000000000000..879f7edc468f7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdOriginsClient.java
@@ -0,0 +1,328 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.AfdOriginInner;
+import com.azure.resourcemanager.cdn.generated.models.AfdOriginUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in AfdOriginsClient. */
+public interface AfdOriginsClient {
+ /**
+ * Lists all of the existing origins within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origins.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByOriginGroup(
+ String resourceGroupName, String profileName, String originGroupName);
+
+ /**
+ * Lists all of the existing origins within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list origins.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByOriginGroup(
+ String resourceGroupName, String profileName, String originGroupName, Context context);
+
+ /**
+ * Gets an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing origin within an origin group.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginCreate(
+ String resourceGroupName, String profileName, String originGroupName, String originName, AfdOriginInner origin);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginInner origin,
+ Context context);
+
+ /**
+ * Creates a new origin within the specified origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin that is unique within the profile.
+ * @param origin Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AfdOriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String originGroupName,
+ String originName,
+ AfdOriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param originUpdateProperties Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String originGroupName, String originName);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String originGroupName, String originName, Context context);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String originGroupName, String originName);
+
+ /**
+ * Deletes an existing origin within an origin group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param originGroupName Name of the origin group which is unique within the profile.
+ * @param originName Name of the origin which is unique within the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String profileName, String originGroupName, String originName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
new file mode 100644
index 0000000000000..6b961258d07e9
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/AfdProfilesClient.java
@@ -0,0 +1,82 @@
+// 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.CheckNameAvailabilityOutputInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+import com.azure.resourcemanager.cdn.generated.models.CheckHostnameAvailabilityInput;
+
+/** 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 Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the 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 Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the 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 Azure Front Door Standard or Azure Front Door Premium or 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 check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityOutputInner checkHostnameAvailability(
+ String resourceGroupName, String profileName, CheckHostnameAvailabilityInput 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 Azure Front Door Standard or Azure Front Door Premium or 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 check name availability API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkHostnameAvailabilityWithResponse(
+ String resourceGroupName,
+ String profileName,
+ CheckHostnameAvailabilityInput 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 0000000000000..d4bea19a33aae
--- /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 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 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 PoliciesClient object to access its operations.
+ *
+ * @return the PoliciesClient object.
+ */
+ PoliciesClient getPolicies();
+
+ /**
+ * Gets the ManagedRuleSetsClient object to access its operations.
+ *
+ * @return the ManagedRuleSetsClient object.
+ */
+ ManagedRuleSetsClient getManagedRuleSets();
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
new file mode 100644
index 0000000000000..a4bef893d176f
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/CustomDomainsClient.java
@@ -0,0 +1,313 @@
+// 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.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties,
+ Context context);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties);
+
+ /**
+ * Creates a new custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param customDomainProperties Properties required to create a new custom domain.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes,
+ * e.g.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainParameters customDomainProperties,
+ Context context);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CustomDomainInner> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner delete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName);
+
+ /**
+ * Deletes an existing custom domain within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CustomDomainInner delete(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Disable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the 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)
+ Response disableCustomHttpsWithResponse(
+ String resourceGroupName, String profileName, String endpointName, String customDomainName, Context context);
+
+ /**
+ * Enable https delivery of the custom domain.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainName Name of the custom domain within an endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the 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)
+ Response enableCustomHttpsWithResponse(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String customDomainName,
+ CustomDomainHttpsParameters customDomainHttpsParameters,
+ Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/EdgeNodesClient.java
new file mode 100644
index 0000000000000..ecd9c1a30e714
--- /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 0000000000000..6d57c1161bd14
--- /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.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, EndpointInner endpointParam);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner create(
+ String resourceGroupName, String profileName, String endpointName, EndpointInner endpointParam);
+
+ /**
+ * Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and
+ * profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointParam Endpoint properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointInner endpointParam,
+ Context context);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties);
+
+ /**
+ * Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin
+ * operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the
+ * Update Custom Domain operation.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param endpointUpdateProperties Endpoint update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ EndpointUpdateParameters endpointUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource
+ * group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStart(
+ String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStart(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner start(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Starts an existing CDN endpoint that is on a stopped state.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner start(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStop(
+ String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EndpointInner> beginStop(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner stop(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Stops an existing running CDN endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN endpoint is the entity within a CDN profile containing configuration information such as origin,
+ * protocol, content caching and delivery behavior.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointInner stop(String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginPurgeContent(
+ String resourceGroupName, String profileName, String endpointName, PurgeParameters contentFilePaths);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginPurgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ PurgeParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purgeContent(
+ String resourceGroupName, String profileName, String endpointName, PurgeParameters contentFilePaths);
+
+ /**
+ * Removes a content from CDN.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png'
+ * which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and
+ * files in the directory.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void purgeContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ PurgeParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginLoadContent(
+ String resourceGroupName, String profileName, String endpointName, LoadParameters contentFilePaths);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginLoadContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ LoadParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void loadContent(
+ String resourceGroupName, String profileName, String endpointName, LoadParameters contentFilePaths);
+
+ /**
+ * Pre-loads a content to CDN. Available for Verizon Profiles.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param contentFilePaths The path to the content to be loaded. Path should be a full URL, e.g.
+ * ‘/pictures/city.png' which loads a single file.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void loadContent(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ LoadParameters contentFilePaths,
+ Context context);
+
+ /**
+ * Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param customDomainProperties Custom domain to be validated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 0000000000000..b1a729a21304c
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/LogAnalyticsClient.java
@@ -0,0 +1,326 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ContinentsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.MetricsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.RankingsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.ResourcesResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.WafMetricsResponseInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.WafRankingsResponseInner;
+import com.azure.resourcemanager.cdn.generated.models.LogMetric;
+import com.azure.resourcemanager.cdn.generated.models.LogMetricsGranularity;
+import com.azure.resourcemanager.cdn.generated.models.LogMetricsGroupBy;
+import com.azure.resourcemanager.cdn.generated.models.LogRanking;
+import com.azure.resourcemanager.cdn.generated.models.LogRankingMetric;
+import com.azure.resourcemanager.cdn.generated.models.WafAction;
+import com.azure.resourcemanager.cdn.generated.models.WafGranularity;
+import com.azure.resourcemanager.cdn.generated.models.WafMetric;
+import com.azure.resourcemanager.cdn.generated.models.WafRankingGroupBy;
+import com.azure.resourcemanager.cdn.generated.models.WafRankingType;
+import com.azure.resourcemanager.cdn.generated.models.WafRuleType;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in LogAnalyticsClient. */
+public interface LogAnalyticsClient {
+ /**
+ * Get log report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of LogMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param customDomains Array of Get11ItemsItem.
+ * @param protocols Array of Get12ItemsItem.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of LogMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param customDomains Array of Get11ItemsItem.
+ * @param protocols Array of Get12ItemsItem.
+ * @param groupBy Array of LogMetricsGroupBy.
+ * @param continents Array of Get9ItemsItem.
+ * @param countryOrRegions Array of Get10ItemsItem.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return log report for AFD profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param rankings Array of LogRanking.
+ * @param metrics Array of LogRankingMetric.
+ * @param maxRanking The maxRanking parameter.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return log analytics ranking report for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RankingsResponseInner getLogAnalyticsRankings(
+ String resourceGroupName,
+ String profileName,
+ List rankings,
+ List metrics,
+ int maxRanking,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd);
+
+ /**
+ * Get log analytics ranking report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param rankings Array of LogRanking.
+ * @param metrics Array of LogRankingMetric.
+ * @param maxRanking The maxRanking parameter.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param customDomains Array of String.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return log analytics ranking report for AFD profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available location names for AFD log analytics report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContinentsResponseInner getLogAnalyticsLocations(String resourceGroupName, String profileName);
+
+ /**
+ * Get all available location names for AFD log analytics report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all available location names for AFD log analytics report.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all endpoints and custom domains available for AFD log report.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ResourcesResponseInner getLogAnalyticsResources(String resourceGroupName, String profileName);
+
+ /**
+ * Get all endpoints and custom domains available for AFD log report.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all endpoints and custom domains available for AFD log report.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return waf related log analytics report for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WafMetricsResponseInner getWafLogAnalyticsMetrics(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ WafGranularity granularity);
+
+ /**
+ * Get Waf related log analytics report for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param granularity The granularity parameter.
+ * @param actions Array of WafAction.
+ * @param groupBy Array of WafRankingGroupBy.
+ * @param ruleTypes Array of WafRuleType.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return waf related log analytics report for AFD profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param maxRanking The maxRanking parameter.
+ * @param rankings Array of WafRankingType.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return wAF log analytics charts for AFD profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WafRankingsResponseInner getWafLogAnalyticsRankings(
+ String resourceGroupName,
+ String profileName,
+ List metrics,
+ OffsetDateTime dateTimeBegin,
+ OffsetDateTime dateTimeEnd,
+ int maxRanking,
+ List rankings);
+
+ /**
+ * Get WAF log analytics charts for AFD profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group. which is unique within the resource group.
+ * @param metrics Array of WafMetric.
+ * @param dateTimeBegin The dateTimeBegin parameter.
+ * @param dateTimeEnd The dateTimeEnd parameter.
+ * @param maxRanking The maxRanking parameter.
+ * @param rankings Array of WafRankingType.
+ * @param actions Array of WafAction.
+ * @param ruleTypes Array of WafRuleType.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return wAF log analytics charts for AFD profile.
+ */
+ @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 0000000000000..dee42452d8131
--- /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 0000000000000..2bcfa2a622e56
--- /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 0000000000000..75303b0bc58dd
--- /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.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup);
+
+ /**
+ * Creates a new origin group within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroup Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupInner originGroup,
+ Context context);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginGroupInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties);
+
+ /**
+ * Updates an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param originGroupUpdateProperties Origin group properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return origin group comprising of origins is used for load balancing to origins when the content cannot be
+ * served from CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginGroupInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originGroupName,
+ OriginGroupUpdateParameters originGroupUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String originGroupName, Context context);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String originGroupName);
+
+ /**
+ * Deletes an existing origin group within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originGroupName Name of the origin group which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String profileName, String endpointName, String originGroupName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/OriginsClient.java
new file mode 100644
index 0000000000000..3056cc4a14c48
--- /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.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, String originName, OriginInner origin);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginInner origin,
+ Context context);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner create(
+ String resourceGroupName, String profileName, String endpointName, String originName, OriginInner origin);
+
+ /**
+ * Creates a new origin within the specified endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin that is unique within the endpoint.
+ * @param origin Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginInner origin,
+ Context context);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OriginInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties);
+
+ /**
+ * Updates an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param originUpdateProperties Origin properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cDN origin is the source of the content being delivered via CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OriginInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String originName,
+ OriginUpdateParameters originUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String originName);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String originName, Context context);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String originName);
+
+ /**
+ * Deletes an existing origin within an endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the CDN profile which is unique within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param originName Name of the origin which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String originName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/PoliciesClient.java
new file mode 100644
index 0000000000000..2748d4f860aff
--- /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.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy,
+ Context context);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy);
+
+ /**
+ * Create or update policy with specified rule set name within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicy Policy to be created.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyInner cdnWebApplicationFirewallPolicy,
+ Context context);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CdnWebApplicationFirewallPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters,
+ Context context);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner update(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters);
+
+ /**
+ * Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified
+ * subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @param cdnWebApplicationFirewallPolicyPatchParameters CdnWebApplicationFirewallPolicy parameters to be patched.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return defines web application firewall policy for Azure CDN.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CdnWebApplicationFirewallPolicyInner update(
+ String resourceGroupName,
+ String policyName,
+ CdnWebApplicationFirewallPolicyPatchParameters cdnWebApplicationFirewallPolicyPatchParameters,
+ Context context);
+
+ /**
+ * Deletes Policy.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param policyName The name of the CdnWebApplicationFirewallPolicy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 0000000000000..ffe6ef7fadd34
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ProfilesClient.java
@@ -0,0 +1,402 @@
+// 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 Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure
+ * subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure
+ * subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list profiles.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner getByResourceGroup(String resourceGroupName, String profileName);
+
+ /**
+ * Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name
+ * under the specified subscription and resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginCreate(
+ String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile);
+
+ /**
+ * Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the
+ * specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profile Profile properties needed to create a new profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner create(String resourceGroupName, String profileName, ProfileInner profile, Context context);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProfileInner> beginUpdate(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters);
+
+ /**
+ * Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * profile name under the specified subscription and resource group.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param profileUpdateParameters Profile properties needed to update an existing profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a profile is a logical grouping of endpoints that share the same settings.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProfileInner update(
+ String resourceGroupName, String profileName, ProfileUpdateParameters profileUpdateParameters, Context context);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName);
+
+ /**
+ * Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified
+ * parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints,
+ * origins and custom domains.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * 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 Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the supported optimization types for the current profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupportedOptimizationTypesListResultInner listSupportedOptimizationTypes(
+ String resourceGroupName, String profileName);
+
+ /**
+ * Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization
+ * type from the listed values.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the supported optimization types for the current profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listSupportedOptimizationTypesWithResponse(
+ String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door
+ * Premium or CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door
+ * Premium or CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is
+ * unique within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return output of check resource usage API.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(String resourceGroupName, String profileName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/ResourceProvidersClient.java
new file mode 100644
index 0000000000000..1eb9e08c5f2ef
--- /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 0000000000000..76dc3d3ac9e16
--- /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 0000000000000..d81de46e93562
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RoutesClient.java
@@ -0,0 +1,342 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.RouteInner;
+import com.azure.resourcemanager.cdn.generated.models.RouteUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in RoutesClient. */
+public interface RoutesClient {
+ /**
+ * Lists all of the existing origins within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list routes.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(String resourceGroupName, String profileName, String endpointName);
+
+ /**
+ * Lists all of the existing origins within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list routes.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEndpoint(
+ String resourceGroupName, String profileName, String endpointName, Context context);
+
+ /**
+ * Gets an existing route with the specified route name under the specified subscription, resource group, profile,
+ * and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginCreate(
+ String resourceGroupName, String profileName, String endpointName, String routeName, RouteInner route);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteInner route,
+ Context context);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner create(
+ String resourceGroupName, String profileName, String endpointName, String routeName, RouteInner route);
+
+ /**
+ * Creates a new route with the specified route name under the specified subscription, resource group, profile, and
+ * AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param route Route properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner create(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteInner route,
+ Context context);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RouteInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties);
+
+ /**
+ * Updates an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param routeUpdateProperties Route update properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Routes name mapping to the any Routes or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RouteInner update(
+ String resourceGroupName,
+ String profileName,
+ String endpointName,
+ String routeName,
+ RouteUpdateParameters routeUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String routeName);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String endpointName, String routeName, Context context);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String routeName);
+
+ /**
+ * Deletes an existing route with the specified route name under the specified subscription, resource group,
+ * profile, and AzureFrontDoor endpoint.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param endpointName Name of the endpoint under the profile which is unique globally.
+ * @param routeName Name of the routing rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String endpointName, String routeName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
new file mode 100644
index 0000000000000..dea863e159db6
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RuleSetsClient.java
@@ -0,0 +1,212 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.RuleSetInner;
+import com.azure.resourcemanager.cdn.generated.fluent.models.UsageInner;
+
+/** An instance of this class provides access to all the operations defined in RuleSetsClient. */
+public interface RuleSetsClient {
+ /**
+ * Lists existing AzureFrontDoor rule sets within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list rule sets.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor rule sets within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list rule sets.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly RuleSet name mapping to the any RuleSet or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleSetInner create(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Creates a new rule set within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly RuleSet name mapping to the any RuleSet or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription,
+ * resource group and profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Checks the quota and actual usage of endpoints under the given CDN profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile which is unique globally.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list usages operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listResourceUsage(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java
new file mode 100644
index 0000000000000..6182074951ac7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/RulesClient.java
@@ -0,0 +1,325 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.RuleInner;
+import com.azure.resourcemanager.cdn.generated.models.RuleUpdateParameters;
+
+/** An instance of this class provides access to all the operations defined in RulesClient. */
+public interface RulesClient {
+ /**
+ * Lists all of the existing delivery rules within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRuleSet(String resourceGroupName, String profileName, String ruleSetName);
+
+ /**
+ * Lists all of the existing delivery rules within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByRuleSet(
+ String resourceGroupName, String profileName, String ruleSetName, Context context);
+
+ /**
+ * Gets an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing delivery rule within a rule set.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginCreate(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName, RuleInner rule);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleInner rule,
+ Context context);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner create(String resourceGroupName, String profileName, String ruleSetName, String ruleName, RuleInner rule);
+
+ /**
+ * Creates a new delivery rule within the specified rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param rule The delivery rule properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner create(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleInner rule,
+ Context context);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, RuleInner> beginUpdate(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties,
+ Context context);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner update(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties);
+
+ /**
+ * Updates an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param ruleUpdateProperties Delivery rule properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Rules name mapping to the any Rules or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RuleInner update(
+ String resourceGroupName,
+ String profileName,
+ String ruleSetName,
+ String ruleName,
+ RuleUpdateParameters ruleUpdateProperties,
+ Context context);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String ruleSetName, String ruleName, Context context);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String ruleSetName, String ruleName);
+
+ /**
+ * Deletes an existing delivery rule within a rule set.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param ruleSetName Name of the rule set under the profile.
+ * @param ruleName Name of the delivery rule which is unique within the endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String ruleSetName, String ruleName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
new file mode 100644
index 0000000000000..911c0f90ee045
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecretsClient.java
@@ -0,0 +1,208 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.SecretInner;
+
+/** An instance of this class provides access to all the operations defined in SecretsClient. */
+public interface SecretsClient {
+ /**
+ * Lists existing AzureFrontDoor secrets.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list secrets.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists existing AzureFrontDoor secrets.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list secrets.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing Secret within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing Secret within a profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecretInner> beginCreate(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecretInner> beginCreate(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret, Context context);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretInner create(String resourceGroupName, String profileName, String secretName, SecretInner secret);
+
+ /**
+ * Creates a new Secret within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param secret The Secret properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return friendly Secret name mapping to the any Secret or secret related information.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretInner create(
+ String resourceGroupName, String profileName, String secretName, SecretInner secret, Context context);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String profileName, String secretName);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String secretName, Context context);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String secretName);
+
+ /**
+ * Deletes an existing Secret within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param secretName Name of the Secret under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String secretName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
new file mode 100644
index 0000000000000..8cdcb5e2a5303
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/SecurityPoliciesClient.java
@@ -0,0 +1,303 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.cdn.generated.fluent.models.SecurityPolicyInner;
+import com.azure.resourcemanager.cdn.generated.fluent.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list security policies.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName);
+
+ /**
+ * Lists security policies associated with the profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list security policies.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByProfile(String resourceGroupName, String profileName, Context context);
+
+ /**
+ * Gets an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an existing security policy within a profile.
+ */
+ @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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginCreate(
+ String resourceGroupName, String profileName, String securityPolicyName, SecurityPolicyInner securityPolicy);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginCreate(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyInner securityPolicy,
+ Context context);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner create(
+ String resourceGroupName, String profileName, String securityPolicyName, SecurityPolicyInner securityPolicy);
+
+ /**
+ * Creates a new security policy within the specified profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param securityPolicy The security policy properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return securityPolicy association for AzureFrontDoor profile.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecurityPolicyInner create(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyInner securityPolicy,
+ Context context);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param 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.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyProperties securityPolicyProperties);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param 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.LONG_RUNNING_OPERATION)
+ SyncPoller, SecurityPolicyInner> beginPatch(
+ String resourceGroupName,
+ String profileName,
+ String securityPolicyName,
+ SecurityPolicyProperties securityPolicyProperties,
+ Context context);
+
+ /**
+ * Updates an existing security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param 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 security policy within a profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param 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 Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String securityPolicyName);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String profileName, String securityPolicyName, Context context);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String securityPolicyName);
+
+ /**
+ * Deletes an existing security policy within profile.
+ *
+ * @param resourceGroupName Name of the Resource group within the Azure subscription.
+ * @param profileName Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique
+ * within the resource group.
+ * @param securityPolicyName Name of the security policy under the profile.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String profileName, String securityPolicyName, Context context);
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/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 0000000000000..e163968a1e626
--- /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 0000000000000..ad9a7fe663f97
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainInner.java
@@ -0,0 +1,196 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.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.
+ */
+@Fluent
+public final class AfdDomainInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdDomainInner.class);
+
+ /*
+ * The JSON object that contains the properties of the domain to create.
+ */
+ @JsonProperty(value = "properties")
+ private AfdDomainProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the domain to create.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdDomainProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the domainValidationState property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for DomainControlValidation.
+ *
+ * @return the domainValidationState value.
+ */
+ public DomainValidationState domainValidationState() {
+ return this.innerProperties() == null ? null : this.innerProperties().domainValidationState();
+ }
+
+ /**
+ * Get the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the validationProperties property: Values the customer needs to validate domain ownership.
+ *
+ * @return the validationProperties value.
+ */
+ public DomainValidationProperties validationProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().validationProperties();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the domain.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @return the tlsSettings value.
+ */
+ public AfdDomainHttpsParameters tlsSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().tlsSettings();
+ }
+
+ /**
+ * Set the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @param tlsSettings the tlsSettings value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withTlsSettings(tlsSettings);
+ return this;
+ }
+
+ /**
+ * Get the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @return the azureDnsZone value.
+ */
+ public ResourceReference azureDnsZone() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureDnsZone();
+ }
+
+ /**
+ * Set the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @param azureDnsZone the azureDnsZone value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withAzureDnsZone(ResourceReference azureDnsZone) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withAzureDnsZone(azureDnsZone);
+ return this;
+ }
+
+ /**
+ * Get the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @return the preValidatedCustomDomainResourceId value.
+ */
+ public ResourceReference preValidatedCustomDomainResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().preValidatedCustomDomainResourceId();
+ }
+
+ /**
+ * Set the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @param preValidatedCustomDomainResourceId the preValidatedCustomDomainResourceId value to set.
+ * @return the AfdDomainInner object itself.
+ */
+ public AfdDomainInner withPreValidatedCustomDomainResourceId(ResourceReference preValidatedCustomDomainResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdDomainProperties();
+ }
+ this.innerProperties().withPreValidatedCustomDomainResourceId(preValidatedCustomDomainResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java
new file mode 100644
index 0000000000000..ec7aa28a91f14
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainProperties.java
@@ -0,0 +1,151 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.AfdProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.DeploymentStatus;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationProperties;
+import com.azure.resourcemanager.cdn.generated.models.DomainValidationState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the domain to create. */
+@Fluent
+public final class AfdDomainProperties extends AfdDomainUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdDomainProperties.class);
+
+ /*
+ * Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for
+ * DomainControlValidation.
+ */
+ @JsonProperty(value = "domainValidationState", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationState domainValidationState;
+
+ /*
+ * The host name of the domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * Values the customer needs to validate domain ownership
+ */
+ @JsonProperty(value = "validationProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private DomainValidationProperties validationProperties;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /**
+ * Get the domainValidationState property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step. DCV stands for DomainControlValidation.
+ *
+ * @return the domainValidationState value.
+ */
+ public DomainValidationState domainValidationState() {
+ return this.domainValidationState;
+ }
+
+ /**
+ * Get the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdDomainProperties object itself.
+ */
+ public AfdDomainProperties withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the validationProperties property: Values the customer needs to validate domain ownership.
+ *
+ * @return the validationProperties value.
+ */
+ public DomainValidationProperties validationProperties() {
+ return this.validationProperties;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ super.withTlsSettings(tlsSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withAzureDnsZone(ResourceReference azureDnsZone) {
+ super.withAzureDnsZone(azureDnsZone);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdDomainProperties withPreValidatedCustomDomainResourceId(
+ ResourceReference preValidatedCustomDomainResourceId) {
+ super.withPreValidatedCustomDomainResourceId(preValidatedCustomDomainResourceId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (hostname() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property hostname in model AfdDomainProperties"));
+ }
+ if (validationProperties() != null) {
+ validationProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..b3d787f0ac574
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdDomainUpdatePropertiesParameters.java
@@ -0,0 +1,139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.AfdDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the domain to create. */
+@Fluent
+public class AfdDomainUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdDomainUpdatePropertiesParameters.class);
+
+ /*
+ * The name of the profile which holds the domain.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not
+ * specified, enabling ssl uses AzureFrontDoor managed certificate by
+ * default.
+ */
+ @JsonProperty(value = "tlsSettings")
+ private AfdDomainHttpsParameters tlsSettings;
+
+ /*
+ * Resource reference to the Azure DNS zone
+ */
+ @JsonProperty(value = "azureDnsZone")
+ private ResourceReference azureDnsZone;
+
+ /*
+ * Resource reference to the Azure resource where custom domain ownership
+ * was prevalidated
+ */
+ @JsonProperty(value = "preValidatedCustomDomainResourceId")
+ private ResourceReference preValidatedCustomDomainResourceId;
+
+ /**
+ * Get the profileName property: The name of the profile which holds the domain.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @return the tlsSettings value.
+ */
+ public AfdDomainHttpsParameters tlsSettings() {
+ return this.tlsSettings;
+ }
+
+ /**
+ * Set the tlsSettings property: The configuration specifying how to enable HTTPS for the domain - using
+ * AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor
+ * managed certificate by default.
+ *
+ * @param tlsSettings the tlsSettings value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withTlsSettings(AfdDomainHttpsParameters tlsSettings) {
+ this.tlsSettings = tlsSettings;
+ return this;
+ }
+
+ /**
+ * Get the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @return the azureDnsZone value.
+ */
+ public ResourceReference azureDnsZone() {
+ return this.azureDnsZone;
+ }
+
+ /**
+ * Set the azureDnsZone property: Resource reference to the Azure DNS zone.
+ *
+ * @param azureDnsZone the azureDnsZone value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withAzureDnsZone(ResourceReference azureDnsZone) {
+ this.azureDnsZone = azureDnsZone;
+ return this;
+ }
+
+ /**
+ * Get the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @return the preValidatedCustomDomainResourceId value.
+ */
+ public ResourceReference preValidatedCustomDomainResourceId() {
+ return this.preValidatedCustomDomainResourceId;
+ }
+
+ /**
+ * Set the preValidatedCustomDomainResourceId property: Resource reference to the Azure resource where custom domain
+ * ownership was prevalidated.
+ *
+ * @param preValidatedCustomDomainResourceId the preValidatedCustomDomainResourceId value to set.
+ * @return the AfdDomainUpdatePropertiesParameters object itself.
+ */
+ public AfdDomainUpdatePropertiesParameters withPreValidatedCustomDomainResourceId(
+ ResourceReference preValidatedCustomDomainResourceId) {
+ this.preValidatedCustomDomainResourceId = preValidatedCustomDomainResourceId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (tlsSettings() != null) {
+ tlsSettings().validate();
+ }
+ if (azureDnsZone() != null) {
+ azureDnsZone().validate();
+ }
+ if (preValidatedCustomDomainResourceId() != null) {
+ preValidatedCustomDomainResourceId().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
new file mode 100644
index 0000000000000..1569f60889e96
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointInner.java
@@ -0,0 +1,151 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.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.
+ */
+@Fluent
+public final class AfdEndpointInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdEndpointInner.class);
+
+ /*
+ * The JSON object that contains the properties required to create an
+ * endpoint.
+ */
+ @JsonProperty(value = "properties")
+ private AfdEndpointProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties required to create an endpoint.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdEndpointProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g.
+ * contoso.azureedge.net.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the endpoint.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.innerProperties() == null ? null : this.innerProperties().enabledState();
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdEndpointInner object itself.
+ */
+ public AfdEndpointInner withEnabledState(EnabledState enabledState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdEndpointProperties();
+ }
+ this.innerProperties().withEnabledState(enabledState);
+ return this;
+ }
+
+ /**
+ * 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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdEndpointProperties();
+ }
+ this.innerProperties().withOriginResponseTimeoutSeconds(originResponseTimeoutSeconds);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java
new file mode 100644
index 0000000000000..36bdbc0f8b572
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointProperties.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.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;
+
+/** The JSON object that contains the properties required to create an endpoint. */
+@Fluent
+public final class AfdEndpointProperties extends AfdEndpointPropertiesUpdateParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdEndpointProperties.class);
+
+ /*
+ * The host name of the endpoint structured as {endpointName}.{DNSZone},
+ * e.g. contoso.azureedge.net
+ */
+ @JsonProperty(value = "hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /**
+ * 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 provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointProperties withEnabledState(EnabledState enabledState) {
+ super.withEnabledState(enabledState);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdEndpointProperties withOriginResponseTimeoutSeconds(Integer originResponseTimeoutSeconds) {
+ super.withOriginResponseTimeoutSeconds(originResponseTimeoutSeconds);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java
new file mode 100644
index 0000000000000..d67ee5df316d7
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdEndpointPropertiesUpdateParameters.java
@@ -0,0 +1,97 @@
+// 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.EnabledState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object containing endpoint update parameters. */
+@Fluent
+public class AfdEndpointPropertiesUpdateParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdEndpointPropertiesUpdateParameters.class);
+
+ /*
+ * The name of the profile which holds the endpoint.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * Whether to enable use of this rule. Permitted values are 'Enabled' or
+ * 'Disabled'
+ */
+ @JsonProperty(value = "enabledState")
+ private EnabledState enabledState;
+
+ /*
+ * Send and receive timeout on forwarding request to the origin. When
+ * timeout is reached, the request fails and returns.
+ */
+ @JsonProperty(value = "originResponseTimeoutSeconds")
+ private Integer originResponseTimeoutSeconds;
+
+ /**
+ * Get the profileName property: The name of the profile which holds the endpoint.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.enabledState;
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdEndpointPropertiesUpdateParameters object itself.
+ */
+ public AfdEndpointPropertiesUpdateParameters withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ return this;
+ }
+
+ /**
+ * 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 AfdEndpointPropertiesUpdateParameters object itself.
+ */
+ public AfdEndpointPropertiesUpdateParameters withOriginResponseTimeoutSeconds(
+ Integer originResponseTimeoutSeconds) {
+ this.originResponseTimeoutSeconds = originResponseTimeoutSeconds;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
new file mode 100644
index 0000000000000..e8502ed1a2357
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupInner.java
@@ -0,0 +1,233 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+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.
+ */
+@Fluent
+public final class AfdOriginGroupInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginGroupInner.class);
+
+ /*
+ * The JSON object that contains the properties of the origin group.
+ */
+ @JsonProperty(value = "properties")
+ private AfdOriginGroupProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the origin group.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdOriginGroupProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the profileName property: The name of the profile which holds the origin group.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.innerProperties() == null ? null : this.innerProperties().profileName();
+ }
+
+ /**
+ * Get the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @return the loadBalancingSettings value.
+ */
+ public LoadBalancingSettingsParameters loadBalancingSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().loadBalancingSettings();
+ }
+
+ /**
+ * Set the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @param loadBalancingSettings the loadBalancingSettings value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withLoadBalancingSettings(LoadBalancingSettingsParameters loadBalancingSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withLoadBalancingSettings(loadBalancingSettings);
+ return this;
+ }
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().healthProbeSettings();
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withHealthProbeSettings(healthProbeSettings);
+ return this;
+ }
+
+ /**
+ * Get the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @return the trafficRestorationTimeToHealedOrNewEndpointsInMinutes value.
+ */
+ public Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes() {
+ return this.innerProperties() == null
+ ? null
+ : this.innerProperties().trafficRestorationTimeToHealedOrNewEndpointsInMinutes();
+ }
+
+ /**
+ * Set the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @param trafficRestorationTimeToHealedOrNewEndpointsInMinutes the
+ * trafficRestorationTimeToHealedOrNewEndpointsInMinutes value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this
+ .innerProperties()
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes);
+ return this;
+ }
+
+ /**
+ * Get the 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.innerProperties() == null
+ ? null
+ : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this
+ .innerProperties()
+ .withResponseBasedAfdOriginErrorDetectionSettings(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.innerProperties() == null ? null : this.innerProperties().sessionAffinityState();
+ }
+
+ /**
+ * Set the sessionAffinityState property: Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'.
+ *
+ * @param sessionAffinityState the sessionAffinityState value to set.
+ * @return the AfdOriginGroupInner object itself.
+ */
+ public AfdOriginGroupInner withSessionAffinityState(EnabledState sessionAffinityState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginGroupProperties();
+ }
+ this.innerProperties().withSessionAffinityState(sessionAffinityState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java
new file mode 100644
index 0000000000000..3383b7c0c3291
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupProperties.java
@@ -0,0 +1,101 @@
+// 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.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;
+
+/** The JSON object that contains the properties of the origin group. */
+@Fluent
+public final class AfdOriginGroupProperties extends AfdOriginGroupUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginGroupProperties.class);
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withLoadBalancingSettings(LoadBalancingSettingsParameters loadBalancingSettings) {
+ super.withLoadBalancingSettings(loadBalancingSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ super.withHealthProbeSettings(healthProbeSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ super
+ .withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withResponseBasedAfdOriginErrorDetectionSettings(
+ ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings) {
+ super.withResponseBasedAfdOriginErrorDetectionSettings(responseBasedAfdOriginErrorDetectionSettings);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginGroupProperties withSessionAffinityState(EnabledState sessionAffinityState) {
+ super.withSessionAffinityState(sessionAffinityState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..11ea62442e01d
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginGroupUpdatePropertiesParameters.java
@@ -0,0 +1,203 @@
+// 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.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;
+
+/** The JSON object that contains the properties of the origin group. */
+@Fluent
+public class AfdOriginGroupUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginGroupUpdatePropertiesParameters.class);
+
+ /*
+ * The name of the profile which holds the origin group.
+ */
+ @JsonProperty(value = "profileName", access = JsonProperty.Access.WRITE_ONLY)
+ private String profileName;
+
+ /*
+ * Load balancing settings for a backend pool
+ */
+ @JsonProperty(value = "loadBalancingSettings")
+ private LoadBalancingSettingsParameters loadBalancingSettings;
+
+ /*
+ * Health probe settings to the origin that is used to determine the health
+ * of the origin.
+ */
+ @JsonProperty(value = "healthProbeSettings")
+ private HealthProbeParameters healthProbeSettings;
+
+ /*
+ * Time in minutes to shift the traffic to the endpoint gradually when an
+ * unhealthy endpoint comes healthy or a new endpoint is added. Default is
+ * 10 mins. This property is currently not supported.
+ */
+ @JsonProperty(value = "trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * The JSON object that contains the properties to determine origin health
+ * using real requests/responses. This property is currently not supported.
+ */
+ @JsonProperty(value = "responseBasedAfdOriginErrorDetectionSettings")
+ private ResponseBasedOriginErrorDetectionParameters responseBasedAfdOriginErrorDetectionSettings;
+
+ /*
+ * Whether to allow session affinity on this host. Valid options are
+ * 'Enabled' or 'Disabled'
+ */
+ @JsonProperty(value = "sessionAffinityState")
+ private EnabledState sessionAffinityState;
+
+ /**
+ * Get the profileName property: The name of the profile which holds the origin group.
+ *
+ * @return the profileName value.
+ */
+ public String profileName() {
+ return this.profileName;
+ }
+
+ /**
+ * Get the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @return the loadBalancingSettings value.
+ */
+ public LoadBalancingSettingsParameters loadBalancingSettings() {
+ return this.loadBalancingSettings;
+ }
+
+ /**
+ * Set the loadBalancingSettings property: Load balancing settings for a backend pool.
+ *
+ * @param loadBalancingSettings the loadBalancingSettings value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withLoadBalancingSettings(
+ LoadBalancingSettingsParameters loadBalancingSettings) {
+ this.loadBalancingSettings = loadBalancingSettings;
+ return this;
+ }
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.healthProbeSettings;
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ this.healthProbeSettings = healthProbeSettings;
+ return this;
+ }
+
+ /**
+ * Get the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @return the trafficRestorationTimeToHealedOrNewEndpointsInMinutes value.
+ */
+ public Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes() {
+ return this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ }
+
+ /**
+ * Set the trafficRestorationTimeToHealedOrNewEndpointsInMinutes property: Time in minutes to shift the traffic to
+ * the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins.
+ * This property is currently not supported.
+ *
+ * @param trafficRestorationTimeToHealedOrNewEndpointsInMinutes the
+ * trafficRestorationTimeToHealedOrNewEndpointsInMinutes value to set.
+ * @return the AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withTrafficRestorationTimeToHealedOrNewEndpointsInMinutes(
+ Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes) {
+ this.trafficRestorationTimeToHealedOrNewEndpointsInMinutes =
+ trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+ return this;
+ }
+
+ /**
+ * Get the 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 AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters 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 AfdOriginGroupUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginGroupUpdatePropertiesParameters withSessionAffinityState(EnabledState sessionAffinityState) {
+ this.sessionAffinityState = sessionAffinityState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (loadBalancingSettings() != null) {
+ loadBalancingSettings().validate();
+ }
+ if (healthProbeSettings() != null) {
+ healthProbeSettings().validate();
+ }
+ 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 0000000000000..6fed54a91aa6d
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginInner.java
@@ -0,0 +1,339 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.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.
+ */
+@Fluent
+public final class AfdOriginInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginInner.class);
+
+ /*
+ * The JSON object that contains the properties of the origin.
+ */
+ @JsonProperty(value = "properties")
+ private AfdOriginProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the origin.
+ *
+ * @return the innerProperties value.
+ */
+ private AfdOriginProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().deploymentStatus();
+ }
+
+ /**
+ * Get the originGroupName property: The name of the origin group which contains this origin.
+ *
+ * @return the originGroupName value.
+ */
+ public String originGroupName() {
+ return this.innerProperties() == null ? null : this.innerProperties().originGroupName();
+ }
+
+ /**
+ * Get the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @return the azureOrigin value.
+ */
+ public ResourceReference azureOrigin() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureOrigin();
+ }
+
+ /**
+ * Set the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @param azureOrigin the azureOrigin value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withAzureOrigin(ResourceReference azureOrigin) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withAzureOrigin(azureOrigin);
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @return the httpPort value.
+ */
+ public Integer httpPort() {
+ return this.innerProperties() == null ? null : this.innerProperties().httpPort();
+ }
+
+ /**
+ * Set the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @param httpPort the httpPort value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHttpPort(Integer httpPort) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHttpPort(httpPort);
+ return this;
+ }
+
+ /**
+ * Get the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @return the httpsPort value.
+ */
+ public Integer httpsPort() {
+ return this.innerProperties() == null ? null : this.innerProperties().httpsPort();
+ }
+
+ /**
+ * Set the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @param httpsPort the httpsPort value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withHttpsPort(Integer httpsPort) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withHttpsPort(httpsPort);
+ return this;
+ }
+
+ /**
+ * Get the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure 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.innerProperties() == null ? null : this.innerProperties().originHostHeader();
+ }
+
+ /**
+ * Set the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure 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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withOriginHostHeader(originHostHeader);
+ return this;
+ }
+
+ /**
+ * Get the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @return the priority value.
+ */
+ public Integer priority() {
+ return this.innerProperties() == null ? null : this.innerProperties().priority();
+ }
+
+ /**
+ * Set the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @param priority the priority value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withPriority(Integer priority) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withPriority(priority);
+ return this;
+ }
+
+ /**
+ * Get the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @return the weight value.
+ */
+ public Integer weight() {
+ return this.innerProperties() == null ? null : this.innerProperties().weight();
+ }
+
+ /**
+ * Set the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @param weight the weight value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withWeight(Integer weight) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withWeight(weight);
+ return this;
+ }
+
+ /**
+ * Get the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @return the sharedPrivateLinkResource value.
+ */
+ public Object sharedPrivateLinkResource() {
+ return this.innerProperties() == null ? null : this.innerProperties().sharedPrivateLinkResource();
+ }
+
+ /**
+ * Set the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @param sharedPrivateLinkResource the sharedPrivateLinkResource value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withSharedPrivateLinkResource(Object sharedPrivateLinkResource) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withSharedPrivateLinkResource(sharedPrivateLinkResource);
+ return this;
+ }
+
+ /**
+ * Get the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @return the enabledState value.
+ */
+ public EnabledState enabledState() {
+ return this.innerProperties() == null ? null : this.innerProperties().enabledState();
+ }
+
+ /**
+ * Set the enabledState property: Whether to enable health probes to be made against backends defined under
+ * backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend
+ * pool.
+ *
+ * @param enabledState the enabledState value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withEnabledState(EnabledState enabledState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withEnabledState(enabledState);
+ return this;
+ }
+
+ /**
+ * Get the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @return the enforceCertificateNameCheck value.
+ */
+ public Boolean enforceCertificateNameCheck() {
+ return this.innerProperties() == null ? null : this.innerProperties().enforceCertificateNameCheck();
+ }
+
+ /**
+ * Set the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @param enforceCertificateNameCheck the enforceCertificateNameCheck value to set.
+ * @return the AfdOriginInner object itself.
+ */
+ public AfdOriginInner withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AfdOriginProperties();
+ }
+ this.innerProperties().withEnforceCertificateNameCheck(enforceCertificateNameCheck);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java
new file mode 100644
index 0000000000000..e99e1de89e638
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginProperties.java
@@ -0,0 +1,130 @@
+// 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.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;
+
+/** The JSON object that contains the properties of the origin. */
+@Fluent
+public final class AfdOriginProperties extends AfdOriginUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginProperties.class);
+
+ /*
+ * Provisioning status
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private AfdProvisioningState provisioningState;
+
+ /*
+ * The deploymentStatus property.
+ */
+ @JsonProperty(value = "deploymentStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private DeploymentStatus deploymentStatus;
+
+ /**
+ * Get the provisioningState property: Provisioning status.
+ *
+ * @return the provisioningState value.
+ */
+ public AfdProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the deploymentStatus property: The deploymentStatus property.
+ *
+ * @return the deploymentStatus value.
+ */
+ public DeploymentStatus deploymentStatus() {
+ return this.deploymentStatus;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withAzureOrigin(ResourceReference azureOrigin) {
+ super.withAzureOrigin(azureOrigin);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHostname(String hostname) {
+ super.withHostname(hostname);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHttpPort(Integer httpPort) {
+ super.withHttpPort(httpPort);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withHttpsPort(Integer httpsPort) {
+ super.withHttpsPort(httpsPort);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withOriginHostHeader(String originHostHeader) {
+ super.withOriginHostHeader(originHostHeader);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withPriority(Integer priority) {
+ super.withPriority(priority);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withWeight(Integer weight) {
+ super.withWeight(weight);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withSharedPrivateLinkResource(Object sharedPrivateLinkResource) {
+ super.withSharedPrivateLinkResource(sharedPrivateLinkResource);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withEnabledState(EnabledState enabledState) {
+ super.withEnabledState(enabledState);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AfdOriginProperties withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ super.withEnforceCertificateNameCheck(enforceCertificateNameCheck);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java
new file mode 100644
index 0000000000000..72a49984bca68
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/AfdOriginUpdatePropertiesParameters.java
@@ -0,0 +1,331 @@
+// 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.EnabledState;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the origin. */
+@Fluent
+public class AfdOriginUpdatePropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AfdOriginUpdatePropertiesParameters.class);
+
+ /*
+ * The name of the origin group which contains this origin.
+ */
+ @JsonProperty(value = "originGroupName", access = JsonProperty.Access.WRITE_ONLY)
+ private String originGroupName;
+
+ /*
+ * Resource reference to the Azure origin resource.
+ */
+ @JsonProperty(value = "azureOrigin")
+ private ResourceReference azureOrigin;
+
+ /*
+ * The address of the origin. Domain names, IPv4 addresses, and IPv6
+ * addresses are supported.This should be unique across all origins in an
+ * endpoint.
+ */
+ @JsonProperty(value = "hostName")
+ private String hostname;
+
+ /*
+ * The value of the HTTP port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpPort")
+ private Integer httpPort;
+
+ /*
+ * The value of the HTTPS port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpsPort")
+ private Integer httpsPort;
+
+ /*
+ * The host header value sent to the origin with each request. If you leave
+ * this blank, the request hostname determines this value. Azure 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 = "originHostHeader")
+ private String originHostHeader;
+
+ /*
+ * Priority of origin in given origin group for load balancing. Higher
+ * priorities will not be used for load balancing if any lower priority
+ * origin is healthy.Must be between 1 and 5
+ */
+ @JsonProperty(value = "priority")
+ private Integer priority;
+
+ /*
+ * Weight of the origin in given origin group for load balancing. Must be
+ * between 1 and 1000
+ */
+ @JsonProperty(value = "weight")
+ private Integer weight;
+
+ /*
+ * The properties of the private link resource for private origin.
+ */
+ @JsonProperty(value = "sharedPrivateLinkResource")
+ private 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 = "enabledState")
+ private EnabledState enabledState;
+
+ /*
+ * Whether to enable certificate name check at origin level
+ */
+ @JsonProperty(value = "enforceCertificateNameCheck")
+ private Boolean enforceCertificateNameCheck;
+
+ /**
+ * Get the originGroupName property: The name of the origin group which contains this origin.
+ *
+ * @return the originGroupName value.
+ */
+ public String originGroupName() {
+ return this.originGroupName;
+ }
+
+ /**
+ * Get the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @return the azureOrigin value.
+ */
+ public ResourceReference azureOrigin() {
+ return this.azureOrigin;
+ }
+
+ /**
+ * Set the azureOrigin property: Resource reference to the Azure origin resource.
+ *
+ * @param azureOrigin the azureOrigin value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withAzureOrigin(ResourceReference azureOrigin) {
+ this.azureOrigin = azureOrigin;
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are
+ * supported.This should be unique across all origins in an endpoint.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @return the httpPort value.
+ */
+ public Integer httpPort() {
+ return this.httpPort;
+ }
+
+ /**
+ * Set the httpPort property: The value of the HTTP port. Must be between 1 and 65535.
+ *
+ * @param httpPort the httpPort value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHttpPort(Integer httpPort) {
+ this.httpPort = httpPort;
+ return this;
+ }
+
+ /**
+ * Get the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @return the httpsPort value.
+ */
+ public Integer httpsPort() {
+ return this.httpsPort;
+ }
+
+ /**
+ * Set the httpsPort property: The value of the HTTPS port. Must be between 1 and 65535.
+ *
+ * @param httpsPort the httpsPort value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withHttpsPort(Integer httpsPort) {
+ this.httpsPort = httpsPort;
+ return this;
+ }
+
+ /**
+ * Get the originHostHeader property: The host header value sent to the origin with each request. If you leave this
+ * blank, the request hostname determines this value. Azure 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 AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withOriginHostHeader(String originHostHeader) {
+ this.originHostHeader = originHostHeader;
+ return this;
+ }
+
+ /**
+ * Get the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @return the priority value.
+ */
+ public Integer priority() {
+ return this.priority;
+ }
+
+ /**
+ * Set the priority property: Priority of origin in given origin group for load balancing. Higher priorities will
+ * not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.
+ *
+ * @param priority the priority value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withPriority(Integer priority) {
+ this.priority = priority;
+ return this;
+ }
+
+ /**
+ * Get the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @return the weight value.
+ */
+ public Integer weight() {
+ return this.weight;
+ }
+
+ /**
+ * Set the weight property: Weight of the origin in given origin group for load balancing. Must be between 1 and
+ * 1000.
+ *
+ * @param weight the weight value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withWeight(Integer weight) {
+ this.weight = weight;
+ return this;
+ }
+
+ /**
+ * Get the sharedPrivateLinkResource property: The properties of the private link resource for private origin.
+ *
+ * @return the sharedPrivateLinkResource value.
+ */
+ public 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 AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters 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 AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withEnabledState(EnabledState enabledState) {
+ this.enabledState = enabledState;
+ return this;
+ }
+
+ /**
+ * Get the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @return the enforceCertificateNameCheck value.
+ */
+ public Boolean enforceCertificateNameCheck() {
+ return this.enforceCertificateNameCheck;
+ }
+
+ /**
+ * Set the enforceCertificateNameCheck property: Whether to enable certificate name check at origin level.
+ *
+ * @param enforceCertificateNameCheck the enforceCertificateNameCheck value to set.
+ * @return the AfdOriginUpdatePropertiesParameters object itself.
+ */
+ public AfdOriginUpdatePropertiesParameters withEnforceCertificateNameCheck(Boolean enforceCertificateNameCheck) {
+ this.enforceCertificateNameCheck = enforceCertificateNameCheck;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (azureOrigin() != null) {
+ azureOrigin().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
new file mode 100644
index 0000000000000..076faf27740de
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyInner.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CdnEndpoint;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleList;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSetList;
+import com.azure.resourcemanager.cdn.generated.models.PolicyResourceState;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettings;
+import com.azure.resourcemanager.cdn.generated.models.ProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRuleList;
+import com.azure.resourcemanager.cdn.generated.models.Sku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Defines web application firewall policy for Azure CDN. */
+@Fluent
+public final class CdnWebApplicationFirewallPolicyInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CdnWebApplicationFirewallPolicyInner.class);
+
+ /*
+ * Properties of the web application firewall policy.
+ */
+ @JsonProperty(value = "properties")
+ private CdnWebApplicationFirewallPolicyProperties innerProperties;
+
+ /*
+ * Gets a unique read-only string that changes whenever the resource is
+ * updated.
+ */
+ @JsonProperty(value = "etag")
+ private String etag;
+
+ /*
+ * The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "sku", required = true)
+ private Sku sku;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: Properties of the web application firewall policy.
+ *
+ * @return the innerProperties value.
+ */
+ private CdnWebApplicationFirewallPolicyProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the etag property: Gets a unique read-only string that changes whenever the resource is updated.
+ *
+ * @return the etag value.
+ */
+ public String etag() {
+ return this.etag;
+ }
+
+ /**
+ * Set the etag property: Gets a unique read-only string that changes whenever the resource is updated.
+ *
+ * @param etag the etag value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withEtag(String etag) {
+ this.etag = etag;
+ return this;
+ }
+
+ /**
+ * Get the sku property: The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ *
+ * @return the sku value.
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The pricing tier (defines a CDN provider, feature list and rate) of the
+ * CdnWebApplicationFirewallPolicy.
+ *
+ * @param sku the sku value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public CdnWebApplicationFirewallPolicyInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public CdnWebApplicationFirewallPolicyInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the policySettings property: Describes policySettings for policy.
+ *
+ * @return the policySettings value.
+ */
+ public PolicySettings policySettings() {
+ return this.innerProperties() == null ? null : this.innerProperties().policySettings();
+ }
+
+ /**
+ * Set the policySettings property: Describes policySettings for policy.
+ *
+ * @param policySettings the policySettings value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withPolicySettings(PolicySettings policySettings) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withPolicySettings(policySettings);
+ return this;
+ }
+
+ /**
+ * Get the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @return the rateLimitRules value.
+ */
+ public RateLimitRuleList rateLimitRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().rateLimitRules();
+ }
+
+ /**
+ * Set the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @param rateLimitRules the rateLimitRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withRateLimitRules(RateLimitRuleList rateLimitRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withRateLimitRules(rateLimitRules);
+ return this;
+ }
+
+ /**
+ * Get the customRules property: Describes custom rules inside the policy.
+ *
+ * @return the customRules value.
+ */
+ public CustomRuleList customRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().customRules();
+ }
+
+ /**
+ * Set the customRules property: Describes custom rules inside the policy.
+ *
+ * @param customRules the customRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withCustomRules(CustomRuleList customRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withCustomRules(customRules);
+ return this;
+ }
+
+ /**
+ * Get the managedRules property: Describes managed rules inside the policy.
+ *
+ * @return the managedRules value.
+ */
+ public ManagedRuleSetList managedRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().managedRules();
+ }
+
+ /**
+ * Set the managedRules property: Describes managed rules inside the policy.
+ *
+ * @param managedRules the managedRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyInner object itself.
+ */
+ public CdnWebApplicationFirewallPolicyInner withManagedRules(ManagedRuleSetList managedRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CdnWebApplicationFirewallPolicyProperties();
+ }
+ this.innerProperties().withManagedRules(managedRules);
+ return this;
+ }
+
+ /**
+ * Get the endpointLinks property: Describes Azure CDN endpoints associated with this Web Application Firewall
+ * policy.
+ *
+ * @return the endpointLinks value.
+ */
+ public List endpointLinks() {
+ return this.innerProperties() == null ? null : this.innerProperties().endpointLinks();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the WebApplicationFirewallPolicy.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the policy.
+ *
+ * @return the resourceState value.
+ */
+ public PolicyResourceState resourceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ if (sku() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sku in model CdnWebApplicationFirewallPolicyInner"));
+ } else {
+ sku().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java
new file mode 100644
index 0000000000000..d39f6c0c61b30
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CdnWebApplicationFirewallPolicyProperties.java
@@ -0,0 +1,198 @@
+// 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.CdnEndpoint;
+import com.azure.resourcemanager.cdn.generated.models.CustomRuleList;
+import com.azure.resourcemanager.cdn.generated.models.ManagedRuleSetList;
+import com.azure.resourcemanager.cdn.generated.models.PolicyResourceState;
+import com.azure.resourcemanager.cdn.generated.models.PolicySettings;
+import com.azure.resourcemanager.cdn.generated.models.ProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.RateLimitRuleList;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Defines CDN web application firewall policy properties. */
+@Fluent
+public final class CdnWebApplicationFirewallPolicyProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CdnWebApplicationFirewallPolicyProperties.class);
+
+ /*
+ * Describes policySettings for policy
+ */
+ @JsonProperty(value = "policySettings")
+ private PolicySettings policySettings;
+
+ /*
+ * Describes rate limit rules inside the policy.
+ */
+ @JsonProperty(value = "rateLimitRules")
+ private RateLimitRuleList rateLimitRules;
+
+ /*
+ * Describes custom rules inside the policy.
+ */
+ @JsonProperty(value = "customRules")
+ private CustomRuleList customRules;
+
+ /*
+ * Describes managed rules inside the policy.
+ */
+ @JsonProperty(value = "managedRules")
+ private ManagedRuleSetList managedRules;
+
+ /*
+ * Describes Azure CDN endpoints associated with this Web Application
+ * Firewall policy.
+ */
+ @JsonProperty(value = "endpointLinks", access = JsonProperty.Access.WRITE_ONLY)
+ private List endpointLinks;
+
+ /*
+ * Provisioning state of the WebApplicationFirewallPolicy.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Resource status of the policy.
+ */
+ @JsonProperty(value = "resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private PolicyResourceState resourceState;
+
+ /**
+ * Get the policySettings property: Describes policySettings for policy.
+ *
+ * @return the policySettings value.
+ */
+ public PolicySettings policySettings() {
+ return this.policySettings;
+ }
+
+ /**
+ * Set the policySettings property: Describes policySettings for policy.
+ *
+ * @param policySettings the policySettings value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withPolicySettings(PolicySettings policySettings) {
+ this.policySettings = policySettings;
+ return this;
+ }
+
+ /**
+ * Get the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @return the rateLimitRules value.
+ */
+ public RateLimitRuleList rateLimitRules() {
+ return this.rateLimitRules;
+ }
+
+ /**
+ * Set the rateLimitRules property: Describes rate limit rules inside the policy.
+ *
+ * @param rateLimitRules the rateLimitRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withRateLimitRules(RateLimitRuleList rateLimitRules) {
+ this.rateLimitRules = rateLimitRules;
+ return this;
+ }
+
+ /**
+ * Get the customRules property: Describes custom rules inside the policy.
+ *
+ * @return the customRules value.
+ */
+ public CustomRuleList customRules() {
+ return this.customRules;
+ }
+
+ /**
+ * Set the customRules property: Describes custom rules inside the policy.
+ *
+ * @param customRules the customRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withCustomRules(CustomRuleList customRules) {
+ this.customRules = customRules;
+ return this;
+ }
+
+ /**
+ * Get the managedRules property: Describes managed rules inside the policy.
+ *
+ * @return the managedRules value.
+ */
+ public ManagedRuleSetList managedRules() {
+ return this.managedRules;
+ }
+
+ /**
+ * Set the managedRules property: Describes managed rules inside the policy.
+ *
+ * @param managedRules the managedRules value to set.
+ * @return the CdnWebApplicationFirewallPolicyProperties object itself.
+ */
+ public CdnWebApplicationFirewallPolicyProperties withManagedRules(ManagedRuleSetList managedRules) {
+ this.managedRules = managedRules;
+ return this;
+ }
+
+ /**
+ * Get the endpointLinks property: Describes Azure CDN endpoints associated with this Web Application Firewall
+ * policy.
+ *
+ * @return the endpointLinks value.
+ */
+ public List endpointLinks() {
+ return this.endpointLinks;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the WebApplicationFirewallPolicy.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the policy.
+ *
+ * @return the resourceState value.
+ */
+ public PolicyResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (policySettings() != null) {
+ policySettings().validate();
+ }
+ if (rateLimitRules() != null) {
+ rateLimitRules().validate();
+ }
+ if (customRules() != null) {
+ customRules().validate();
+ }
+ if (managedRules() != null) {
+ managedRules().validate();
+ }
+ if (endpointLinks() != null) {
+ endpointLinks().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CheckNameAvailabilityOutputInner.java
new file mode 100644
index 0000000000000..9073698b836fb
--- /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 0000000000000..8a191d66be346
--- /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 0000000000000..acfc2af450724
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainInner.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainResourceState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningSubstate;
+import com.fasterxml.jackson.annotation.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.
+ */
+@Fluent
+public final class CustomDomainInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CustomDomainInner.class);
+
+ /*
+ * The JSON object that contains the properties of the custom domain to
+ * create.
+ */
+ @JsonProperty(value = "properties")
+ private CustomDomainProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties of the custom domain to create.
+ *
+ * @return the innerProperties value.
+ */
+ private CustomDomainProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withHostname(String hostname) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withHostname(hostname);
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the custom domain.
+ *
+ * @return the resourceState value.
+ */
+ public CustomDomainResourceState resourceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceState();
+ }
+
+ /**
+ * Get the customHttpsProvisioningState property: Provisioning status of Custom Https of the custom domain.
+ *
+ * @return the customHttpsProvisioningState value.
+ */
+ public CustomHttpsProvisioningState customHttpsProvisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsProvisioningState();
+ }
+
+ /**
+ * Get the customHttpsProvisioningSubstate property: Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ *
+ * @return the customHttpsProvisioningSubstate value.
+ */
+ public CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsProvisioningSubstate();
+ }
+
+ /**
+ * Get the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @return the customHttpsParameters value.
+ */
+ public CustomDomainHttpsParameters customHttpsParameters() {
+ return this.innerProperties() == null ? null : this.innerProperties().customHttpsParameters();
+ }
+
+ /**
+ * Set the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @param customHttpsParameters the customHttpsParameters value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withCustomHttpsParameters(CustomDomainHttpsParameters customHttpsParameters) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withCustomHttpsParameters(customHttpsParameters);
+ return this;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.innerProperties() == null ? null : this.innerProperties().validationData();
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the CustomDomainInner object itself.
+ */
+ public CustomDomainInner withValidationData(String validationData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new CustomDomainProperties();
+ }
+ this.innerProperties().withValidationData(validationData);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the custom domain.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java
new file mode 100644
index 0000000000000..e0ac2648b97ed
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainProperties.java
@@ -0,0 +1,182 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainHttpsParameters;
+import com.azure.resourcemanager.cdn.generated.models.CustomDomainResourceState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningState;
+import com.azure.resourcemanager.cdn.generated.models.CustomHttpsProvisioningSubstate;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the custom domain to create. */
+@Fluent
+public final class CustomDomainProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CustomDomainProperties.class);
+
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * Resource status of the custom domain.
+ */
+ @JsonProperty(value = "resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomDomainResourceState resourceState;
+
+ /*
+ * Provisioning status of Custom Https of the custom domain.
+ */
+ @JsonProperty(value = "customHttpsProvisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningState customHttpsProvisioningState;
+
+ /*
+ * Provisioning substate shows the progress of custom HTTPS
+ * enabling/disabling process step by step.
+ */
+ @JsonProperty(value = "customHttpsProvisioningSubstate", access = JsonProperty.Access.WRITE_ONLY)
+ private CustomHttpsProvisioningSubstate customHttpsProvisioningSubstate;
+
+ /*
+ * Certificate parameters for securing custom HTTPS
+ */
+ @JsonProperty(value = "customHttpsParameters")
+ private CustomDomainHttpsParameters customHttpsParameters;
+
+ /*
+ * Special validation or data may be required when delivering CDN to some
+ * regions due to local compliance reasons. E.g. ICP license number of a
+ * custom domain is required to deliver content in China.
+ */
+ @JsonProperty(value = "validationData")
+ private String validationData;
+
+ /*
+ * Provisioning status of the custom domain.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the custom domain.
+ *
+ * @return the resourceState value.
+ */
+ public CustomDomainResourceState resourceState() {
+ return this.resourceState;
+ }
+
+ /**
+ * Get the customHttpsProvisioningState property: Provisioning status of 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 customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @return the customHttpsParameters value.
+ */
+ public CustomDomainHttpsParameters customHttpsParameters() {
+ return this.customHttpsParameters;
+ }
+
+ /**
+ * Set the customHttpsParameters property: Certificate parameters for securing custom HTTPS.
+ *
+ * @param customHttpsParameters the customHttpsParameters value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withCustomHttpsParameters(CustomDomainHttpsParameters customHttpsParameters) {
+ this.customHttpsParameters = customHttpsParameters;
+ return this;
+ }
+
+ /**
+ * Get the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @return the validationData value.
+ */
+ public String validationData() {
+ return this.validationData;
+ }
+
+ /**
+ * Set the validationData property: Special validation or data may be required when delivering CDN to some regions
+ * due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in
+ * China.
+ *
+ * @param validationData the validationData value to set.
+ * @return the CustomDomainProperties object itself.
+ */
+ public CustomDomainProperties withValidationData(String validationData) {
+ this.validationData = validationData;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the custom domain.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (hostname() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property hostname in model CustomDomainProperties"));
+ }
+ if (customHttpsParameters() != null) {
+ customHttpsParameters().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java
new file mode 100644
index 0000000000000..bd75e4cbcc7f3
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/CustomDomainPropertiesParameters.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The JSON object that contains the properties of the custom domain to create. */
+@Fluent
+public final class CustomDomainPropertiesParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CustomDomainPropertiesParameters.class);
+
+ /*
+ * The host name of the custom domain. Must be a domain name.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /**
+ * Get the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The host name of the custom domain. Must be a domain name.
+ *
+ * @param hostname the hostname value to set.
+ * @return the CustomDomainPropertiesParameters object itself.
+ */
+ public CustomDomainPropertiesParameters withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (hostname() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property hostname in model CustomDomainPropertiesParameters"));
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java
new file mode 100644
index 0000000000000..d21dcbd81e438
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginGroupProperties.java
@@ -0,0 +1,163 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.HealthProbeParameters;
+import com.azure.resourcemanager.cdn.generated.models.ResourceReference;
+import com.azure.resourcemanager.cdn.generated.models.ResponseBasedOriginErrorDetectionParameters;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of the origin group created on the CDN endpoint. */
+@Fluent
+public final class DeepCreatedOriginGroupProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DeepCreatedOriginGroupProperties.class);
+
+ /*
+ * Health probe settings to the origin that is used to determine the health
+ * of the origin.
+ */
+ @JsonProperty(value = "healthProbeSettings")
+ private HealthProbeParameters healthProbeSettings;
+
+ /*
+ * The source of the content being delivered via CDN within given origin
+ * group.
+ */
+ @JsonProperty(value = "origins", required = true)
+ private List origins;
+
+ /*
+ * Time in minutes to shift the traffic to the endpoint gradually when an
+ * unhealthy endpoint comes healthy or a new endpoint is added. Default is
+ * 10 mins. This property is currently not supported.
+ */
+ @JsonProperty(value = "trafficRestorationTimeToHealedOrNewEndpointsInMinutes")
+ private Integer trafficRestorationTimeToHealedOrNewEndpointsInMinutes;
+
+ /*
+ * The JSON object that contains the properties to determine origin health
+ * using real requests/responses.This property is currently not supported.
+ */
+ @JsonProperty(value = "responseBasedOriginErrorDetectionSettings")
+ private ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings;
+
+ /**
+ * Get the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @return the healthProbeSettings value.
+ */
+ public HealthProbeParameters healthProbeSettings() {
+ return this.healthProbeSettings;
+ }
+
+ /**
+ * Set the healthProbeSettings property: Health probe settings to the origin that is used to determine the health of
+ * the origin.
+ *
+ * @param healthProbeSettings the healthProbeSettings value to set.
+ * @return the DeepCreatedOriginGroupProperties object itself.
+ */
+ public DeepCreatedOriginGroupProperties withHealthProbeSettings(HealthProbeParameters healthProbeSettings) {
+ this.healthProbeSettings = healthProbeSettings;
+ return this;
+ }
+
+ /**
+ * Get the origins property: The source of the content being delivered via CDN within given origin group.
+ *
+ * @return the origins value.
+ */
+ public List 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 DeepCreatedOriginGroupProperties object itself.
+ */
+ public DeepCreatedOriginGroupProperties 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 DeepCreatedOriginGroupProperties object itself.
+ */
+ public DeepCreatedOriginGroupProperties 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 DeepCreatedOriginGroupProperties object itself.
+ */
+ public DeepCreatedOriginGroupProperties withResponseBasedOriginErrorDetectionSettings(
+ ResponseBasedOriginErrorDetectionParameters responseBasedOriginErrorDetectionSettings) {
+ this.responseBasedOriginErrorDetectionSettings = responseBasedOriginErrorDetectionSettings;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (healthProbeSettings() != null) {
+ healthProbeSettings().validate();
+ }
+ if (origins() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property origins in model DeepCreatedOriginGroupProperties"));
+ } else {
+ 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/DeepCreatedOriginProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginProperties.java
new file mode 100644
index 0000000000000..4f347d24d0583
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/DeepCreatedOriginProperties.java
@@ -0,0 +1,362 @@
+// 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.PrivateEndpointStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties of the origin created on the CDN endpoint. */
+@Fluent
+public final class DeepCreatedOriginProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DeepCreatedOriginProperties.class);
+
+ /*
+ * The address of the origin. It can be a domain name, IPv4 address, or
+ * IPv6 address. This should be unique across all origins in an endpoint.
+ */
+ @JsonProperty(value = "hostName", required = true)
+ private String hostname;
+
+ /*
+ * The value of the HTTP port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpPort")
+ private Integer httpPort;
+
+ /*
+ * The value of the HTTPS port. Must be between 1 and 65535.
+ */
+ @JsonProperty(value = "httpsPort")
+ private Integer httpsPort;
+
+ /*
+ * The host header value sent to the origin with each request. If you leave
+ * this blank, the request hostname determines this value. Azure 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 = "originHostHeader")
+ private String originHostHeader;
+
+ /*
+ * Priority of origin in given origin group for load balancing. Higher
+ * priorities will not be used for load balancing if any lower priority
+ * origin is healthy.Must be between 1 and 5.
+ */
+ @JsonProperty(value = "priority")
+ private Integer priority;
+
+ /*
+ * Weight of the origin in given origin group for load balancing. Must be
+ * between 1 and 1000
+ */
+ @JsonProperty(value = "weight")
+ private Integer weight;
+
+ /*
+ * Origin is enabled for load balancing or not. By default, origin is
+ * always enabled.
+ */
+ @JsonProperty(value = "enabled")
+ private Boolean enabled;
+
+ /*
+ * The Alias of the Private Link resource. Populating this optional field
+ * indicates that this origin is 'Private'
+ */
+ @JsonProperty(value = "privateLinkAlias")
+ private String privateLinkAlias;
+
+ /*
+ * The Resource Id of the Private Link resource. Populating this optional
+ * field indicates that this backend is 'Private'
+ */
+ @JsonProperty(value = "privateLinkResourceId")
+ private String privateLinkResourceId;
+
+ /*
+ * The location of the Private Link resource. Required only if
+ * 'privateLinkResourceId' is populated
+ */
+ @JsonProperty(value = "privateLinkLocation")
+ private String privateLinkLocation;
+
+ /*
+ * A custom message to be included in the approval request to connect to
+ * the Private Link.
+ */
+ @JsonProperty(value = "privateLinkApprovalMessage")
+ private String privateLinkApprovalMessage;
+
+ /*
+ * The approval status for the connection to the Private Link
+ */
+ @JsonProperty(value = "privateEndpointStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private PrivateEndpointStatus privateEndpointStatus;
+
+ /**
+ * Get the hostname property: The address of the origin. It can be a domain name, IPv4 address, or IPv6 address.
+ * 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. It can be a domain name, IPv4 address, or IPv6 address.
+ * This should be unique across all origins in an endpoint.
+ *
+ * @param hostname the hostname value to set.
+ * @return the DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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.
+ *
+ * @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.
+ *
+ * @param originHostHeader the originHostHeader value to set.
+ * @return the DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties withWeight(Integer weight) {
+ this.weight = weight;
+ return this;
+ }
+
+ /**
+ * Get the enabled property: Origin is enabled for load balancing or not. By default, origin is always enabled.
+ *
+ * @return the enabled value.
+ */
+ public Boolean enabled() {
+ return this.enabled;
+ }
+
+ /**
+ * Set the enabled property: Origin is enabled for load balancing or not. By default, origin is always enabled.
+ *
+ * @param enabled the enabled value to set.
+ * @return the DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties 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 DeepCreatedOriginProperties object itself.
+ */
+ public DeepCreatedOriginProperties withPrivateLinkApprovalMessage(String privateLinkApprovalMessage) {
+ this.privateLinkApprovalMessage = privateLinkApprovalMessage;
+ return this;
+ }
+
+ /**
+ * 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() {
+ if (hostname() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property hostname in model DeepCreatedOriginProperties"));
+ }
+ }
+}
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 0000000000000..c676a9c97fd98
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeInner.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.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. */
+@Fluent
+public final class EdgeNodeInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EdgeNodeInner.class);
+
+ /*
+ * The JSON object that contains the properties required to create an
+ * edgenode.
+ */
+ @JsonProperty(value = "properties")
+ private EdgeNodeProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties required to create an edgenode.
+ *
+ * @return the innerProperties value.
+ */
+ private EdgeNodeProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the ipAddressGroups property: List of ip address groups.
+ *
+ * @return the ipAddressGroups value.
+ */
+ public List ipAddressGroups() {
+ return this.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EdgeNodeProperties();
+ }
+ this.innerProperties().withIpAddressGroups(ipAddressGroups);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeProperties.java
new file mode 100644
index 0000000000000..ed4289fa78631
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EdgeNodeProperties.java
@@ -0,0 +1,60 @@
+// 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.IpAddressGroup;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The JSON object that contains the properties required to create an edgenode. */
+@Fluent
+public final class EdgeNodeProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EdgeNodeProperties.class);
+
+ /*
+ * List of ip address groups.
+ */
+ @JsonProperty(value = "ipAddressGroups", required = true)
+ private List ipAddressGroups;
+
+ /**
+ * 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 EdgeNodeProperties object itself.
+ */
+ public EdgeNodeProperties withIpAddressGroups(List ipAddressGroups) {
+ this.ipAddressGroups = ipAddressGroups;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (ipAddressGroups() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property ipAddressGroups in model EdgeNodeProperties"));
+ } else {
+ 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 0000000000000..61262ca88f9e6
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointInner.java
@@ -0,0 +1,529 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.cdn.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.cdn.generated.models.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.
+ */
+@Fluent
+public final class EndpointInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EndpointInner.class);
+
+ /*
+ * The JSON object that contains the properties required to create an
+ * endpoint.
+ */
+ @JsonProperty(value = "properties")
+ private EndpointProperties innerProperties;
+
+ /*
+ * Read only system data
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The JSON object that contains the properties required to create an endpoint.
+ *
+ * @return the innerProperties value.
+ */
+ private EndpointProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: Read only system data.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public EndpointInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public EndpointInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g.
+ * contoso.azureedge.net.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.innerProperties() == null ? null : this.innerProperties().hostname();
+ }
+
+ /**
+ * Get the origins property: The source of the content being delivered via CDN.
+ *
+ * @return the origins value.
+ */
+ public List origins() {
+ return this.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withOrigins(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withOriginGroups(originGroups);
+ return this;
+ }
+
+ /**
+ * Get the customDomains property: The custom domains under the endpoint.
+ *
+ * @return the customDomains value.
+ */
+ public List customDomains() {
+ return this.innerProperties() == null ? null : this.innerProperties().customDomains();
+ }
+
+ /**
+ * Get the resourceState property: Resource status of the endpoint.
+ *
+ * @return the resourceState value.
+ */
+ public EndpointResourceState resourceState() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceState();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning status of the endpoint.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * 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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withOriginPath(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withContentTypesToCompress(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withOriginHostHeader(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withIsCompressionEnabled(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withIsHttpAllowed(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withIsHttpsAllowed(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withQueryStringCachingBehavior(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withOptimizationType(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withProbePath(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withGeoFilters(geoFilters);
+ return this;
+ }
+
+ /**
+ * Get the defaultOriginGroup property: A reference to the origin group.
+ *
+ * @return the defaultOriginGroup value.
+ */
+ public ResourceReference defaultOriginGroup() {
+ return this.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withDefaultOriginGroup(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withUrlSigningKeys(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withDeliveryPolicy(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.innerProperties() == null ? null : this.innerProperties().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) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EndpointProperties();
+ }
+ this.innerProperties().withWebApplicationFirewallPolicyLink(webApplicationFirewallPolicyLink);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointProperties.java b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointProperties.java
new file mode 100644
index 0000000000000..4cbdf28b19aa1
--- /dev/null
+++ b/sdk/cdn/azure-resourcemanager-cdn-generated/src/main/java/com/azure/resourcemanager/cdn/generated/fluent/models/EndpointProperties.java
@@ -0,0 +1,266 @@
+// 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.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;
+
+/** The JSON object that contains the properties required to create an endpoint. */
+@Fluent
+public final class EndpointProperties extends EndpointPropertiesUpdateParameters {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EndpointProperties.class);
+
+ /*
+ * The host name of the endpoint structured as {endpointName}.{DNSZone},
+ * e.g. contoso.azureedge.net
+ */
+ @JsonProperty(value = "hostName", access = JsonProperty.Access.WRITE_ONLY)
+ private String hostname;
+
+ /*
+ * The source of the content being delivered via CDN.
+ */
+ @JsonProperty(value = "origins", required = true)
+ private List origins;
+
+ /*
+ * The origin groups comprising of origins that are used for load balancing
+ * the traffic based on availability.
+ */
+ @JsonProperty(value = "originGroups")
+ private List originGroups;
+
+ /*
+ * The custom domains under the endpoint.
+ */
+ @JsonProperty(value = "customDomains", access = JsonProperty.Access.WRITE_ONLY)
+ private List customDomains;
+
+ /*
+ * Resource status of the endpoint.
+ */
+ @JsonProperty(value = "resourceState", access = JsonProperty.Access.WRITE_ONLY)
+ private EndpointResourceState resourceState;
+
+ /*
+ * Provisioning status of the endpoint.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private String provisioningState;
+
+ /**
+ * 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 EndpointProperties object itself.
+ */
+ public EndpointProperties 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