diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 33acbc6f17a4..6f99136b24d8 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -335,6 +335,7 @@ com.azure.resourcemanager:azure-resourcemanager-automanage;1.0.0-beta.1;1.0.0-be
com.azure.resourcemanager:azure-resourcemanager-edgeorder;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-securityinsights;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-oep;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-mobilenetwork;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 b0c1dafb9f65..52f644bffe9a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -923,6 +923,7 @@
sdk/mediaservices
sdk/metricsadvisor
sdk/mixedreality
+ sdk/mobilenetwork
sdk/modelsrepository
sdk/monitor
sdk/mysql
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/CHANGELOG.md b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/CHANGELOG.md
new file mode 100644
index 000000000000..48d697a794ed
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2022-02-19)
+
+- Azure Resource Manager MobileNetwork client library for Java. This package contains Microsoft Azure SDK for MobileNetwork Management SDK. The resources in this swagger specification will be used to manage attached data network resources in mobile network attached to a particular packet core instance. Package tag package-2022-01-01-preview. 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/mobilenetwork/azure-resourcemanager-mobilenetwork/README.md b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/README.md
new file mode 100644
index 000000000000..d6ceefdc32bd
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager MobileNetwork client library for Java
+
+Azure Resource Manager MobileNetwork client library for Java.
+
+This package contains Microsoft Azure SDK for MobileNetwork Management SDK. The resources in this swagger specification will be used to manage attached data network resources in mobile network attached to a particular packet core instance. Package tag package-2022-01-01-preview. 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-mobilenetwork;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-mobilenetwork
+ 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();
+MobileNetworkManager manager = MobileNetworkManager
+ .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/mobilenetwork/azure-resourcemanager-mobilenetwork/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/mobilenetwork/azure-resourcemanager-mobilenetwork/SAMPLE.md b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/SAMPLE.md
new file mode 100644
index 000000000000..5aba43545e8f
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/SAMPLE.md
@@ -0,0 +1,1658 @@
+# Code snippets and samples
+
+
+## AttachedDataNetworks
+
+- [CreateOrUpdate](#attacheddatanetworks_createorupdate)
+- [Delete](#attacheddatanetworks_delete)
+- [Get](#attacheddatanetworks_get)
+- [ListByPacketCoreDataPlane](#attacheddatanetworks_listbypacketcoredataplane)
+- [UpdateTags](#attacheddatanetworks_updatetags)
+
+## DataNetworks
+
+- [CreateOrUpdate](#datanetworks_createorupdate)
+- [Delete](#datanetworks_delete)
+- [Get](#datanetworks_get)
+- [ListByMobileNetwork](#datanetworks_listbymobilenetwork)
+- [UpdateTags](#datanetworks_updatetags)
+
+## MobileNetworks
+
+- [CreateOrUpdate](#mobilenetworks_createorupdate)
+- [Delete](#mobilenetworks_delete)
+- [GetByResourceGroup](#mobilenetworks_getbyresourcegroup)
+- [List](#mobilenetworks_list)
+- [ListByResourceGroup](#mobilenetworks_listbyresourcegroup)
+- [ListSimIds](#mobilenetworks_listsimids)
+- [UpdateTags](#mobilenetworks_updatetags)
+
+## Operations
+
+- [List](#operations_list)
+
+## PacketCoreControlPlanes
+
+- [CreateOrUpdate](#packetcorecontrolplanes_createorupdate)
+- [Delete](#packetcorecontrolplanes_delete)
+- [GetByResourceGroup](#packetcorecontrolplanes_getbyresourcegroup)
+- [List](#packetcorecontrolplanes_list)
+- [ListByResourceGroup](#packetcorecontrolplanes_listbyresourcegroup)
+- [UpdateTags](#packetcorecontrolplanes_updatetags)
+
+## PacketCoreDataPlanes
+
+- [CreateOrUpdate](#packetcoredataplanes_createorupdate)
+- [Delete](#packetcoredataplanes_delete)
+- [Get](#packetcoredataplanes_get)
+- [ListByPacketCoreControlPlane](#packetcoredataplanes_listbypacketcorecontrolplane)
+- [UpdateTags](#packetcoredataplanes_updatetags)
+
+## Services
+
+- [CreateOrUpdate](#services_createorupdate)
+- [Delete](#services_delete)
+- [Get](#services_get)
+- [ListByMobileNetwork](#services_listbymobilenetwork)
+- [UpdateTags](#services_updatetags)
+
+## SimPolicies
+
+- [CreateOrUpdate](#simpolicies_createorupdate)
+- [Delete](#simpolicies_delete)
+- [Get](#simpolicies_get)
+- [ListByMobileNetwork](#simpolicies_listbymobilenetwork)
+- [UpdateTags](#simpolicies_updatetags)
+
+## Sims
+
+- [CreateOrUpdate](#sims_createorupdate)
+- [Delete](#sims_delete)
+- [GetByResourceGroup](#sims_getbyresourcegroup)
+- [List](#sims_list)
+- [ListByResourceGroup](#sims_listbyresourcegroup)
+- [UpdateTags](#sims_updatetags)
+
+## Sites
+
+- [CreateOrUpdate](#sites_createorupdate)
+- [Delete](#sites_delete)
+- [Get](#sites_get)
+- [ListByMobileNetwork](#sites_listbymobilenetwork)
+- [UpdateTags](#sites_updatetags)
+
+## Slices
+
+- [CreateOrUpdate](#slices_createorupdate)
+- [Delete](#slices_delete)
+- [Get](#slices_get)
+- [ListByMobileNetwork](#slices_listbymobilenetwork)
+- [UpdateTags](#slices_updatetags)
+### AttachedDataNetworks_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.NaptConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.NaptEnabled;
+import com.azure.resourcemanager.mobilenetwork.models.PinholeTimeouts;
+import com.azure.resourcemanager.mobilenetwork.models.PortRange;
+import com.azure.resourcemanager.mobilenetwork.models.PortReuseHoldTimes;
+import java.util.Arrays;
+
+/** Samples for AttachedDataNetworks CreateOrUpdate. */
+public final class AttachedDataNetworksCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/AttachedDataNetworkCreate.json
+ */
+ /**
+ * Sample code: Create attached data network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createAttachedDataNetwork(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .attachedDataNetworks()
+ .define("TestAttachedDataNetwork")
+ .withRegion("eastus")
+ .withExistingPacketCoreDataPlane("rg1", "TestPacketCoreCP", "TestPacketCoreDP")
+ .withUserPlaneDataInterface(new InterfaceProperties().withName("N6"))
+ .withNaptConfiguration(
+ new NaptConfiguration()
+ .withEnabled(NaptEnabled.ENABLED)
+ .withPortRange(new PortRange().withMinPort(1024).withMaxPort(65535))
+ .withPortReuseHoldTime(new PortReuseHoldTimes().withTcp(120).withUdp(60))
+ .withPinholeLimits(65536)
+ .withPinholeTimeouts(new PinholeTimeouts().withTcp(7440).withUdp(300).withIcmp(60)))
+ .withUserEquipmentAddressPoolPrefix(Arrays.asList("2.2.0.0/16"))
+ .withUserEquipmentStaticAddressPoolPrefix(Arrays.asList("2.4.0.0/16"))
+ .create();
+ }
+}
+```
+
+### AttachedDataNetworks_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AttachedDataNetworks Delete. */
+public final class AttachedDataNetworksDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/AttachedDataNetworkDelete.json
+ */
+ /**
+ * Sample code: Delete attached data network resource.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteAttachedDataNetworkResource(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .attachedDataNetworks()
+ .delete("rg1", "TestPacketCoreCP", "TestPacketCoreDP", "TestAttachedDataNetwork", Context.NONE);
+ }
+}
+```
+
+### AttachedDataNetworks_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AttachedDataNetworks Get. */
+public final class AttachedDataNetworksGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/AttachedDataNetworkGet.json
+ */
+ /**
+ * Sample code: Get attached data network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getAttachedDataNetwork(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .attachedDataNetworks()
+ .getWithResponse("rg1", "TestPacketCoreCP", "TestPacketCoreDP", "TestAttachedDataNetwork", Context.NONE);
+ }
+}
+```
+
+### AttachedDataNetworks_ListByPacketCoreDataPlane
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AttachedDataNetworks ListByPacketCoreDataPlane. */
+public final class AttachedDataNetworksListByPacketCoreDataPlaneSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/AttachedDataNetworkListByPacketCoreDataPlane.json
+ */
+ /**
+ * Sample code: List attached data networks in a data plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listAttachedDataNetworksInADataPlane(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .attachedDataNetworks()
+ .listByPacketCoreDataPlane("rg1", "TestPacketCoreCP", "TestPacketCoreDP", Context.NONE);
+ }
+}
+```
+
+### AttachedDataNetworks_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetwork;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for AttachedDataNetworks UpdateTags. */
+public final class AttachedDataNetworksUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/AttachedDataNetworkUpdateTags.json
+ */
+ /**
+ * Sample code: Update attached data network tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateAttachedDataNetworkTags(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ AttachedDataNetwork resource =
+ manager
+ .attachedDataNetworks()
+ .getWithResponse("rg1", "TestPacketCoreCP", "TestPacketCoreDP", "TestAttachedDataNetwork", Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### DataNetworks_CreateOrUpdate
+
+```java
+/** Samples for DataNetworks CreateOrUpdate. */
+public final class DataNetworksCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/DataNetworkCreate.json
+ */
+ /**
+ * Sample code: Create mobile network dataNetwork.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createMobileNetworkDataNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .dataNetworks()
+ .define("testDataNetwork")
+ .withRegion("eastus")
+ .withExistingMobileNetwork("rg1", "testMobileNetwork")
+ .withDescription("myFavouriteDataNetwork")
+ .create();
+ }
+}
+```
+
+### DataNetworks_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataNetworks Delete. */
+public final class DataNetworksDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/DataNetworkDelete.json
+ */
+ /**
+ * Sample code: Delete mobile network dataNetwork.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteMobileNetworkDataNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.dataNetworks().delete("rg1", "testMobileNetwork", "testDataNetwork", Context.NONE);
+ }
+}
+```
+
+### DataNetworks_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataNetworks Get. */
+public final class DataNetworksGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/DataNetworkGet.json
+ */
+ /**
+ * Sample code: Get mobile network dataNetwork.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getMobileNetworkDataNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.dataNetworks().getWithResponse("rg1", "testMobileNetwork", "testDataNetwork", Context.NONE);
+ }
+}
+```
+
+### DataNetworks_ListByMobileNetwork
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DataNetworks ListByMobileNetwork. */
+public final class DataNetworksListByMobileNetworkSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/DataNetworkListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List mobile network dataNetworks in a mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listMobileNetworkDataNetworksInAMobileNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.dataNetworks().listByMobileNetwork("rg1", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### DataNetworks_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetwork;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for DataNetworks UpdateTags. */
+public final class DataNetworksUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/DataNetworkUpdateTags.json
+ */
+ /**
+ * Sample code: Update data network tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateDataNetworkTags(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ DataNetwork resource =
+ manager
+ .dataNetworks()
+ .getWithResponse("rg1", "testMobileNetwork", "testDataNetwork", Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### MobileNetworks_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.PlmnId;
+
+/** Samples for MobileNetworks CreateOrUpdate. */
+public final class MobileNetworksCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkCreate.json
+ */
+ /**
+ * Sample code: Create mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createMobileNetwork(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .mobileNetworks()
+ .define("testMobileNetwork")
+ .withRegion("eastus")
+ .withExistingResourceGroup("rg1")
+ .withPublicLandMobileNetworkIdentifier(new PlmnId().withMcc("001").withMnc("01"))
+ .create();
+ }
+}
+```
+
+### MobileNetworks_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MobileNetworks Delete. */
+public final class MobileNetworksDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkDelete.json
+ */
+ /**
+ * Sample code: Delete mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteMobileNetwork(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.mobileNetworks().delete("rg1", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### MobileNetworks_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MobileNetworks GetByResourceGroup. */
+public final class MobileNetworksGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkGet.json
+ */
+ /**
+ * Sample code: Get mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getMobileNetwork(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.mobileNetworks().getByResourceGroupWithResponse("rg1", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### MobileNetworks_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MobileNetworks List. */
+public final class MobileNetworksListSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkListBySubscription.json
+ */
+ /**
+ * Sample code: List mobile networks in a subscription.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listMobileNetworksInASubscription(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.mobileNetworks().list(Context.NONE);
+ }
+}
+```
+
+### MobileNetworks_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MobileNetworks ListByResourceGroup. */
+public final class MobileNetworksListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkListByResourceGroup.json
+ */
+ /**
+ * Sample code: List mobile networks in resource group.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listMobileNetworksInResourceGroup(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.mobileNetworks().listByResourceGroup("rg1", Context.NONE);
+ }
+}
+```
+
+### MobileNetworks_ListSimIds
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for MobileNetworks ListSimIds. */
+public final class MobileNetworksListSimIdsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimIdListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List sim profile ids by network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listSimProfileIdsByNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.mobileNetworks().listSimIds("rg", "testMobileNetworkName", Context.NONE);
+ }
+}
+```
+
+### MobileNetworks_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetwork;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for MobileNetworks UpdateTags. */
+public final class MobileNetworksUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/MobileNetworkUpdateTags.json
+ */
+ /**
+ * Sample code: Update mobile network tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateMobileNetworkTags(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ MobileNetwork resource =
+ manager
+ .mobileNetworks()
+ .getByResourceGroupWithResponse("rg1", "testMobileNetwork", Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### Operations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Operations List. */
+public final class OperationsListSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/OperationList.json
+ */
+ /**
+ * Sample code: Get Registration Operations.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getRegistrationOperations(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+}
+```
+
+### PacketCoreControlPlanes_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.CoreNetworkType;
+import com.azure.resourcemanager.mobilenetwork.models.CustomLocationResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+
+/** Samples for PacketCoreControlPlanes CreateOrUpdate. */
+public final class PacketCoreControlPlanesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneCreate.json
+ */
+ /**
+ * Sample code: Create packet core control plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createPacketCoreControlPlane(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .packetCoreControlPlanes()
+ .define("TestPacketCoreCP")
+ .withRegion("eastus")
+ .withExistingResourceGroup("rg1")
+ .withMobileNetwork(
+ new MobileNetworkResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork"))
+ .withControlPlaneAccessInterface(new InterfaceProperties().withName("N2"))
+ .withCustomLocation(
+ new CustomLocationResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation"))
+ .withCoreNetworkTechnology(CoreNetworkType.FIVE_GC)
+ .withVersion("0.2.0")
+ .create();
+ }
+}
+```
+
+### PacketCoreControlPlanes_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreControlPlanes Delete. */
+public final class PacketCoreControlPlanesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneDelete.json
+ */
+ /**
+ * Sample code: Delete packet core control plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deletePacketCoreControlPlane(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreControlPlanes().delete("rg1", "TestPacketCoreCP", Context.NONE);
+ }
+}
+```
+
+### PacketCoreControlPlanes_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreControlPlanes GetByResourceGroup. */
+public final class PacketCoreControlPlanesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneGet.json
+ */
+ /**
+ * Sample code: Get packet core control plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getPacketCoreControlPlane(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreControlPlanes().getByResourceGroupWithResponse("rg1", "TestPacketCoreCP", Context.NONE);
+ }
+}
+```
+
+### PacketCoreControlPlanes_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreControlPlanes List. */
+public final class PacketCoreControlPlanesListSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneListBySubscription.json
+ */
+ /**
+ * Sample code: List packet core control planes in a subscription.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listPacketCoreControlPlanesInASubscription(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreControlPlanes().list(Context.NONE);
+ }
+}
+```
+
+### PacketCoreControlPlanes_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreControlPlanes ListByResourceGroup. */
+public final class PacketCoreControlPlanesListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneListByResourceGroup.json
+ */
+ /**
+ * Sample code: List packet core control planes in resource group.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listPacketCoreControlPlanesInResourceGroup(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreControlPlanes().listByResourceGroup("rg1", Context.NONE);
+ }
+}
+```
+
+### PacketCoreControlPlanes_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.PacketCoreControlPlane;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for PacketCoreControlPlanes UpdateTags. */
+public final class PacketCoreControlPlanesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreControlPlaneUpdateTags.json
+ */
+ /**
+ * Sample code: Update packet core control plane tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updatePacketCoreControlPlaneTags(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ PacketCoreControlPlane resource =
+ manager
+ .packetCoreControlPlanes()
+ .getByResourceGroupWithResponse("rg1", "TestPacketCoreCP", Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### PacketCoreDataPlanes_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+
+/** Samples for PacketCoreDataPlanes CreateOrUpdate. */
+public final class PacketCoreDataPlanesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreDataPlaneCreate.json
+ */
+ /**
+ * Sample code: Create packet core data plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createPacketCoreDataPlane(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .packetCoreDataPlanes()
+ .define("testPacketCoreDP")
+ .withRegion("eastus")
+ .withExistingPacketCoreControlPlane("rg1", "testPacketCoreCP")
+ .withUserPlaneAccessInterface(new InterfaceProperties().withName("N3"))
+ .create();
+ }
+}
+```
+
+### PacketCoreDataPlanes_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreDataPlanes Delete. */
+public final class PacketCoreDataPlanesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreDataPlaneDelete.json
+ */
+ /**
+ * Sample code: Delete packet core data plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deletePacketCoreDataPlane(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreDataPlanes().delete("rg1", "testPacketCoreCP", "testPacketCoreDP", Context.NONE);
+ }
+}
+```
+
+### PacketCoreDataPlanes_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreDataPlanes Get. */
+public final class PacketCoreDataPlanesGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreDataPlaneGet.json
+ */
+ /**
+ * Sample code: Get packet core data plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getPacketCoreDataPlane(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreDataPlanes().getWithResponse("rg1", "testPacketCoreCP", "testPacketCoreDP", Context.NONE);
+ }
+}
+```
+
+### PacketCoreDataPlanes_ListByPacketCoreControlPlane
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PacketCoreDataPlanes ListByPacketCoreControlPlane. */
+public final class PacketCoreDataPlanesListByPacketCoreControlPlaneSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreDataPlaneListByPacketCoreControlPlane.json
+ */
+ /**
+ * Sample code: List packet core data planes in a control plane.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listPacketCoreDataPlanesInAControlPlane(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.packetCoreDataPlanes().listByPacketCoreControlPlane("rg1", "testPacketCoreCP", Context.NONE);
+ }
+}
+```
+
+### PacketCoreDataPlanes_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.PacketCoreDataPlane;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for PacketCoreDataPlanes UpdateTags. */
+public final class PacketCoreDataPlanesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/PacketCoreDataPlaneUpdateTags.json
+ */
+ /**
+ * Sample code: Update packet core data plane tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updatePacketCoreDataPlaneTags(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ PacketCoreDataPlane resource =
+ manager
+ .packetCoreDataPlanes()
+ .getWithResponse("rg1", "testPacketCoreCP", "testPacketCoreDP", Context.NONE)
+ .getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### Services_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.Ambr;
+import com.azure.resourcemanager.mobilenetwork.models.PccRuleConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.PccRuleQosPolicy;
+import com.azure.resourcemanager.mobilenetwork.models.PreemptionCapability;
+import com.azure.resourcemanager.mobilenetwork.models.PreemptionVulnerability;
+import com.azure.resourcemanager.mobilenetwork.models.QosPolicy;
+import com.azure.resourcemanager.mobilenetwork.models.SdfDirection;
+import com.azure.resourcemanager.mobilenetwork.models.ServiceDataFlowTemplate;
+import com.azure.resourcemanager.mobilenetwork.models.TrafficControlPermission;
+import java.util.Arrays;
+
+/** Samples for Services CreateOrUpdate. */
+public final class ServicesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/ServiceCreate.json
+ */
+ /**
+ * Sample code: Create service.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createService(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .services()
+ .define("TestService")
+ .withRegion("eastus")
+ .withExistingMobileNetwork("rg1", "testMobileNetwork")
+ .withServicePrecedence(255)
+ .withPccRules(
+ Arrays
+ .asList(
+ new PccRuleConfiguration()
+ .withRuleName("default-rule")
+ .withRulePrecedence(255)
+ .withRuleQosPolicy(
+ new PccRuleQosPolicy()
+ .withFiveQi(9)
+ .withAllocationAndRetentionPriorityLevel(9)
+ .withPreemptionCapability(PreemptionCapability.NOT_PREEMPT)
+ .withPreemptionVulnerability(PreemptionVulnerability.PREEMPTABLE)
+ .withMaximumBitRate(new Ambr().withUplink("500 Mbps").withDownlink("1 Gbps")))
+ .withTrafficControl(TrafficControlPermission.ENABLED)
+ .withServiceDataFlowTemplates(
+ Arrays
+ .asList(
+ new ServiceDataFlowTemplate()
+ .withTemplateName("IP-to-server")
+ .withDirection(SdfDirection.UPLINK)
+ .withProtocol(Arrays.asList("ip"))
+ .withRemoteIpList(Arrays.asList("10.3.4.0/24"))
+ .withPorts(Arrays.asList())))))
+ .withServiceQosPolicy(
+ new QosPolicy()
+ .withFiveQi(9)
+ .withAllocationAndRetentionPriorityLevel(9)
+ .withPreemptionCapability(PreemptionCapability.NOT_PREEMPT)
+ .withPreemptionVulnerability(PreemptionVulnerability.PREEMPTABLE)
+ .withMaximumBitRate(new Ambr().withUplink("500 Mbps").withDownlink("1 Gbps")))
+ .create();
+ }
+}
+```
+
+### Services_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Services Delete. */
+public final class ServicesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/ServiceDelete.json
+ */
+ /**
+ * Sample code: Delete service.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteService(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.services().delete("rg1", "testMobileNetwork", "TestService", Context.NONE);
+ }
+}
+```
+
+### Services_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Services Get. */
+public final class ServicesGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/ServiceGet.json
+ */
+ /**
+ * Sample code: Get service.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getService(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.services().getWithResponse("rg1", "testMobileNetwork", "TestService", Context.NONE);
+ }
+}
+```
+
+### Services_ListByMobileNetwork
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Services ListByMobileNetwork. */
+public final class ServicesListByMobileNetworkSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/ServiceListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List services in a mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listServicesInAMobileNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.services().listByMobileNetwork("testResourceGroupName", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### Services_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.Service;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Services UpdateTags. */
+public final class ServicesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/ServiceUpdateTags.json
+ */
+ /**
+ * Sample code: Update service tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateServiceTags(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ Service resource =
+ manager.services().getWithResponse("rg1", "testMobileNetwork", "TestService", Context.NONE).getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### SimPolicies_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.Ambr;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetworkConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.PduSessionType;
+import com.azure.resourcemanager.mobilenetwork.models.PreemptionCapability;
+import com.azure.resourcemanager.mobilenetwork.models.PreemptionVulnerability;
+import com.azure.resourcemanager.mobilenetwork.models.ServiceResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.SliceConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.SliceResourceId;
+import java.util.Arrays;
+
+/** Samples for SimPolicies CreateOrUpdate. */
+public final class SimPoliciesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimPolicyCreate.json
+ */
+ /**
+ * Sample code: Create sim policy.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createSimPolicy(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .simPolicies()
+ .define("testPolicy")
+ .withRegion("eastus")
+ .withExistingMobileNetwork("rg1", "testMobileNetwork")
+ .withUeAmbr(new Ambr().withUplink("500 Mbps").withDownlink("1 Gbps"))
+ .withDefaultSlice(
+ new SliceResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice"))
+ .withSliceConfigurations(
+ Arrays
+ .asList(
+ new SliceConfiguration()
+ .withSlice(
+ new SliceResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice"))
+ .withDefaultDataNetwork(
+ new DataNetworkResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork"))
+ .withDataNetworkConfigurations(
+ Arrays
+ .asList(
+ new DataNetworkConfiguration()
+ .withDataNetwork(
+ new DataNetworkResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork"))
+ .withSessionAmbr(new Ambr().withUplink("500 Mbps").withDownlink("1 Gbps"))
+ .withFiveQi(9)
+ .withAllocationAndRetentionPriorityLevel(9)
+ .withPreemptionCapability(PreemptionCapability.NOT_PREEMPT)
+ .withPreemptionVulnerability(PreemptionVulnerability.PREEMPTABLE)
+ .withDefaultSessionType(PduSessionType.IPV4)
+ .withAdditionalAllowedSessionTypes(Arrays.asList())
+ .withAllowedServices(
+ Arrays
+ .asList(
+ new ServiceResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService")))))))
+ .withRegistrationTimer(3240)
+ .create();
+ }
+}
+```
+
+### SimPolicies_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SimPolicies Delete. */
+public final class SimPoliciesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimPolicyDelete.json
+ */
+ /**
+ * Sample code: Delete sim policy.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteSimPolicy(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.simPolicies().delete("rg1", "testMobileNetwork", "testPolicy", Context.NONE);
+ }
+}
+```
+
+### SimPolicies_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SimPolicies Get. */
+public final class SimPoliciesGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimPolicyGet.json
+ */
+ /**
+ * Sample code: Get sim policy.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getSimPolicy(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.simPolicies().getWithResponse("rg1", "testMobileNetwork", "testPolicy", Context.NONE);
+ }
+}
+```
+
+### SimPolicies_ListByMobileNetwork
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SimPolicies ListByMobileNetwork. */
+public final class SimPoliciesListByMobileNetworkSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimPolicyListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List sim policies in a mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listSimPoliciesInAMobileNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.simPolicies().listByMobileNetwork("testResourceGroupName", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### SimPolicies_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.SimPolicy;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for SimPolicies UpdateTags. */
+public final class SimPoliciesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimPolicyUpdateTags.json
+ */
+ /**
+ * Sample code: Update sim policy tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateSimPolicyTags(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ SimPolicy resource =
+ manager.simPolicies().getWithResponse("rg1", "testMobileNetwork", "testPolicy", Context.NONE).getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### Sims_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.SimPolicyResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.SimStaticIpProperties;
+import com.azure.resourcemanager.mobilenetwork.models.SimStaticIpPropertiesStaticIp;
+import com.azure.resourcemanager.mobilenetwork.models.SliceResourceId;
+import java.util.Arrays;
+
+/** Samples for Sims CreateOrUpdate. */
+public final class SimsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimCreate.json
+ */
+ /**
+ * Sample code: Create sim.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createSim(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .sims()
+ .define("testSim")
+ .withRegion("testLocation")
+ .withExistingResourceGroup("rg1")
+ .withInternationalMobileSubscriberIdentity("00000")
+ .withIntegratedCircuitCardIdentifier("8900000000000000000")
+ .withAuthenticationKey("00000000000000000000000000000000")
+ .withOperatorKeyCode("00000000000000000000000000000000")
+ .withMobileNetwork(
+ new MobileNetworkResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork"))
+ .withDeviceType("Video camera")
+ .withSimPolicy(
+ new SimPolicyResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy"))
+ .withStaticIpConfiguration(
+ Arrays
+ .asList(
+ new SimStaticIpProperties()
+ .withAttachedDataNetwork(
+ new AttachedDataNetworkResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork"))
+ .withSlice(
+ new SliceResourceId()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice"))
+ .withStaticIp(new SimStaticIpPropertiesStaticIp().withIpv4Address("2.4.0.1"))))
+ .create();
+ }
+}
+```
+
+### Sims_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sims Delete. */
+public final class SimsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimDelete.json
+ */
+ /**
+ * Sample code: Delete sim.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteSim(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sims().delete("testResourceGroupName", "testSim", Context.NONE);
+ }
+}
+```
+
+### Sims_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sims GetByResourceGroup. */
+public final class SimsGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimGet.json
+ */
+ /**
+ * Sample code: Get sim.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getSim(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sims().getByResourceGroupWithResponse("testResourceGroupName", "testSimName", Context.NONE);
+ }
+}
+```
+
+### Sims_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sims List. */
+public final class SimsListSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimListBySubscription.json
+ */
+ /**
+ * Sample code: List sims in a subscription.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listSimsInASubscription(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sims().list(Context.NONE);
+ }
+}
+```
+
+### Sims_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sims ListByResourceGroup. */
+public final class SimsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimListByResourceGroup.json
+ */
+ /**
+ * Sample code: List sims in a resource group.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listSimsInAResourceGroup(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sims().listByResourceGroup("rg1", Context.NONE);
+ }
+}
+```
+
+### Sims_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.Sim;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Sims UpdateTags. */
+public final class SimsUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SimUpdateTags.json
+ */
+ /**
+ * Sample code: Update sim tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateSimTags(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ Sim resource = manager.sims().getByResourceGroupWithResponse("rg1", "testSim", Context.NONE).getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### Sites_CreateOrUpdate
+
+```java
+import com.azure.core.management.SubResource;
+import java.util.Arrays;
+
+/** Samples for Sites CreateOrUpdate. */
+public final class SitesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SiteCreate.json
+ */
+ /**
+ * Sample code: Create mobile network site.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createMobileNetworkSite(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .sites()
+ .define("testSite")
+ .withRegion("testLocation")
+ .withExistingMobileNetwork("rg1", "testMobileNetwork")
+ .withNetworkFunctions(
+ Arrays
+ .asList(
+ new SubResource()
+ .withId(
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf")))
+ .create();
+ }
+}
+```
+
+### Sites_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sites Delete. */
+public final class SitesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SiteDelete.json
+ */
+ /**
+ * Sample code: Delete mobile network site.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteMobileNetworkSite(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sites().delete("rg1", "testMobileNetwork", "testSite", Context.NONE);
+ }
+}
+```
+
+### Sites_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sites Get. */
+public final class SitesGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SiteGet.json
+ */
+ /**
+ * Sample code: Get mobile network site.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getMobileNetworkSite(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sites().getWithResponse("rg1", "testMobileNetwork", "testSite", Context.NONE);
+ }
+}
+```
+
+### Sites_ListByMobileNetwork
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Sites ListByMobileNetwork. */
+public final class SitesListByMobileNetworkSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SiteListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List mobile network sites in a mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listMobileNetworkSitesInAMobileNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.sites().listByMobileNetwork("rg1", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### Sites_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.Site;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Sites UpdateTags. */
+public final class SitesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SiteUpdateTags.json
+ */
+ /**
+ * Sample code: Update mobile network site tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateMobileNetworkSiteTags(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ Site resource =
+ manager.sites().getWithResponse("rg1", "testMobileNetwork", "testSite", Context.NONE).getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
+### Slices_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.mobilenetwork.models.Snssai;
+
+/** Samples for Slices CreateOrUpdate. */
+public final class SlicesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SliceCreate.json
+ */
+ /**
+ * Sample code: Create mobile network slice.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void createMobileNetworkSlice(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager
+ .slices()
+ .define("testSlice")
+ .withRegion("eastus")
+ .withExistingMobileNetwork("rg1", "testMobileNetwork")
+ .withSnssai(new Snssai().withSst(1).withSd("1abcde"))
+ .withDescription("myFavouriteSlice")
+ .create();
+ }
+}
+```
+
+### Slices_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Slices Delete. */
+public final class SlicesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SliceDelete.json
+ */
+ /**
+ * Sample code: Delete mobile network slice.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void deleteMobileNetworkSlice(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.slices().delete("rg1", "testMobileNetwork", "testSlice", Context.NONE);
+ }
+}
+```
+
+### Slices_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Slices Get. */
+public final class SlicesGetSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SliceGet.json
+ */
+ /**
+ * Sample code: Get mobile network slice.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void getMobileNetworkSlice(com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.slices().getWithResponse("rg1", "testMobileNetwork", "testSlice", Context.NONE);
+ }
+}
+```
+
+### Slices_ListByMobileNetwork
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Slices ListByMobileNetwork. */
+public final class SlicesListByMobileNetworkSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SliceListByMobileNetwork.json
+ */
+ /**
+ * Sample code: List mobile network slices in a mobile network.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void listMobileNetworkSlicesInAMobileNetwork(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ manager.slices().listByMobileNetwork("rg1", "testMobileNetwork", Context.NONE);
+ }
+}
+```
+
+### Slices_UpdateTags
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.models.Slice;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Slices UpdateTags. */
+public final class SlicesUpdateTagsSamples {
+ /*
+ * x-ms-original-file: specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/examples/SliceUpdateTags.json
+ */
+ /**
+ * Sample code: Update mobile network slice tags.
+ *
+ * @param manager Entry point to MobileNetworkManager.
+ */
+ public static void updateMobileNetworkSliceTags(
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager) {
+ Slice resource =
+ manager.slices().getWithResponse("rg1", "testMobileNetwork", "testSlice", Context.NONE).getValue();
+ resource.update().withTags(mapOf("tag1", "value1", "tag2", "value2")).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;
+ }
+}
+```
+
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/pom.xml b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/pom.xml
new file mode 100644
index 000000000000..376d7719d4e9
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/pom.xml
@@ -0,0 +1,55 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-mobilenetwork
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for MobileNetwork Management
+ This package contains Microsoft Azure SDK for MobileNetwork Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The resources in this swagger specification will be used to manage attached data network resources in mobile network attached to a particular packet core instance. Package tag package-2022-01-01-preview.
+ 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
+
+
+
+ com.azure
+ azure-core
+ 1.25.0
+
+
+ com.azure
+ azure-core-management
+ 1.5.2
+
+
+
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/MobileNetworkManager.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/MobileNetworkManager.java
new file mode 100644
index 000000000000..ac92671ac18d
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/MobileNetworkManager.java
@@ -0,0 +1,366 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork;
+
+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.mobilenetwork.fluent.MobileNetworkManagementClient;
+import com.azure.resourcemanager.mobilenetwork.implementation.AttachedDataNetworksImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.DataNetworksImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.MobileNetworkManagementClientBuilder;
+import com.azure.resourcemanager.mobilenetwork.implementation.MobileNetworksImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.OperationsImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.PacketCoreControlPlanesImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.PacketCoreDataPlanesImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.ServicesImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.SimPoliciesImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.SimsImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.SitesImpl;
+import com.azure.resourcemanager.mobilenetwork.implementation.SlicesImpl;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetworks;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetworks;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworks;
+import com.azure.resourcemanager.mobilenetwork.models.Operations;
+import com.azure.resourcemanager.mobilenetwork.models.PacketCoreControlPlanes;
+import com.azure.resourcemanager.mobilenetwork.models.PacketCoreDataPlanes;
+import com.azure.resourcemanager.mobilenetwork.models.Services;
+import com.azure.resourcemanager.mobilenetwork.models.SimPolicies;
+import com.azure.resourcemanager.mobilenetwork.models.Sims;
+import com.azure.resourcemanager.mobilenetwork.models.Sites;
+import com.azure.resourcemanager.mobilenetwork.models.Slices;
+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 MobileNetworkManager. The resources in this swagger specification will be used to manage attached data
+ * network resources in mobile network attached to a particular packet core instance.
+ */
+public final class MobileNetworkManager {
+ private AttachedDataNetworks attachedDataNetworks;
+
+ private DataNetworks dataNetworks;
+
+ private MobileNetworks mobileNetworks;
+
+ private Sites sites;
+
+ private Sims sims;
+
+ private Operations operations;
+
+ private PacketCoreControlPlanes packetCoreControlPlanes;
+
+ private PacketCoreDataPlanes packetCoreDataPlanes;
+
+ private Services services;
+
+ private SimPolicies simPolicies;
+
+ private Slices slices;
+
+ private final MobileNetworkManagementClient clientObject;
+
+ private MobileNetworkManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new MobileNetworkManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of MobileNetwork service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the MobileNetwork service API instance.
+ */
+ public static MobileNetworkManager 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 MobileNetworkManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new MobileNetworkManager.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 MobileNetwork service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the MobileNetwork service API instance.
+ */
+ public MobileNetworkManager 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.mobilenetwork")
+ .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 MobileNetworkManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of AttachedDataNetworks. */
+ public AttachedDataNetworks attachedDataNetworks() {
+ if (this.attachedDataNetworks == null) {
+ this.attachedDataNetworks = new AttachedDataNetworksImpl(clientObject.getAttachedDataNetworks(), this);
+ }
+ return attachedDataNetworks;
+ }
+
+ /** @return Resource collection API of DataNetworks. */
+ public DataNetworks dataNetworks() {
+ if (this.dataNetworks == null) {
+ this.dataNetworks = new DataNetworksImpl(clientObject.getDataNetworks(), this);
+ }
+ return dataNetworks;
+ }
+
+ /** @return Resource collection API of MobileNetworks. */
+ public MobileNetworks mobileNetworks() {
+ if (this.mobileNetworks == null) {
+ this.mobileNetworks = new MobileNetworksImpl(clientObject.getMobileNetworks(), this);
+ }
+ return mobileNetworks;
+ }
+
+ /** @return Resource collection API of Sites. */
+ public Sites sites() {
+ if (this.sites == null) {
+ this.sites = new SitesImpl(clientObject.getSites(), this);
+ }
+ return sites;
+ }
+
+ /** @return Resource collection API of Sims. */
+ public Sims sims() {
+ if (this.sims == null) {
+ this.sims = new SimsImpl(clientObject.getSims(), this);
+ }
+ return sims;
+ }
+
+ /** @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 PacketCoreControlPlanes. */
+ public PacketCoreControlPlanes packetCoreControlPlanes() {
+ if (this.packetCoreControlPlanes == null) {
+ this.packetCoreControlPlanes =
+ new PacketCoreControlPlanesImpl(clientObject.getPacketCoreControlPlanes(), this);
+ }
+ return packetCoreControlPlanes;
+ }
+
+ /** @return Resource collection API of PacketCoreDataPlanes. */
+ public PacketCoreDataPlanes packetCoreDataPlanes() {
+ if (this.packetCoreDataPlanes == null) {
+ this.packetCoreDataPlanes = new PacketCoreDataPlanesImpl(clientObject.getPacketCoreDataPlanes(), this);
+ }
+ return packetCoreDataPlanes;
+ }
+
+ /** @return Resource collection API of Services. */
+ public Services services() {
+ if (this.services == null) {
+ this.services = new ServicesImpl(clientObject.getServices(), this);
+ }
+ return services;
+ }
+
+ /** @return Resource collection API of SimPolicies. */
+ public SimPolicies simPolicies() {
+ if (this.simPolicies == null) {
+ this.simPolicies = new SimPoliciesImpl(clientObject.getSimPolicies(), this);
+ }
+ return simPolicies;
+ }
+
+ /** @return Resource collection API of Slices. */
+ public Slices slices() {
+ if (this.slices == null) {
+ this.slices = new SlicesImpl(clientObject.getSlices(), this);
+ }
+ return slices;
+ }
+
+ /**
+ * @return Wrapped service client MobileNetworkManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public MobileNetworkManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/AttachedDataNetworksClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/AttachedDataNetworksClient.java
new file mode 100644
index 000000000000..b08c538d6d73
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/AttachedDataNetworksClient.java
@@ -0,0 +1,301 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.AttachedDataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in AttachedDataNetworksClient. */
+public interface AttachedDataNetworksClient {
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName);
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context);
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName);
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context);
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDataNetworkInner get(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName);
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context);
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AttachedDataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters);
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AttachedDataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDataNetworkInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters);
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDataNetworkInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context);
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDataNetworkInner updateTags(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters);
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters,
+ Context context);
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName);
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/DataNetworksClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/DataNetworksClient.java
new file mode 100644
index 000000000000..39f1b7b4a320
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/DataNetworksClient.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.DataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in DataNetworksClient. */
+public interface DataNetworksClient {
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName);
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context);
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String dataNetworkName);
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String dataNetworkName, Context context);
+
+ /**
+ * Gets information about the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network dataNetwork.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataNetworkInner get(String resourceGroupName, String mobileNetworkName, String dataNetworkName);
+
+ /**
+ * Gets information about the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network dataNetwork along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context);
+
+ /**
+ * Creates or updates a mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to the create or update mobile network dataNetwork operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, DataNetworkInner parameters);
+
+ /**
+ * Creates or updates a mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to the create or update mobile network dataNetwork operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String dataNetworkName,
+ DataNetworkInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to the create or update mobile network dataNetwork operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataNetworkInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, DataNetworkInner parameters);
+
+ /**
+ * Creates or updates a mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to the create or update mobile network dataNetwork operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataNetworkInner createOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String dataNetworkName,
+ DataNetworkInner parameters,
+ Context context);
+
+ /**
+ * Update data network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to update data network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataNetworkInner updateTags(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, TagsObject parameters);
+
+ /**
+ * Update data network tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param parameters Parameters supplied to update data network tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return data network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String dataNetworkName,
+ TagsObject parameters,
+ Context context);
+
+ /**
+ * Lists all dataNetworks in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for data network API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Lists all dataNetworks in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for data network API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(
+ String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworkManagementClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworkManagementClient.java
new file mode 100644
index 000000000000..14ba0ecd5fc7
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworkManagementClient.java
@@ -0,0 +1,123 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for MobileNetworkManagementClient class. */
+public interface MobileNetworkManagementClient {
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @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 AttachedDataNetworksClient object to access its operations.
+ *
+ * @return the AttachedDataNetworksClient object.
+ */
+ AttachedDataNetworksClient getAttachedDataNetworks();
+
+ /**
+ * Gets the DataNetworksClient object to access its operations.
+ *
+ * @return the DataNetworksClient object.
+ */
+ DataNetworksClient getDataNetworks();
+
+ /**
+ * Gets the MobileNetworksClient object to access its operations.
+ *
+ * @return the MobileNetworksClient object.
+ */
+ MobileNetworksClient getMobileNetworks();
+
+ /**
+ * Gets the SitesClient object to access its operations.
+ *
+ * @return the SitesClient object.
+ */
+ SitesClient getSites();
+
+ /**
+ * Gets the SimsClient object to access its operations.
+ *
+ * @return the SimsClient object.
+ */
+ SimsClient getSims();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the PacketCoreControlPlanesClient object to access its operations.
+ *
+ * @return the PacketCoreControlPlanesClient object.
+ */
+ PacketCoreControlPlanesClient getPacketCoreControlPlanes();
+
+ /**
+ * Gets the PacketCoreDataPlanesClient object to access its operations.
+ *
+ * @return the PacketCoreDataPlanesClient object.
+ */
+ PacketCoreDataPlanesClient getPacketCoreDataPlanes();
+
+ /**
+ * Gets the ServicesClient object to access its operations.
+ *
+ * @return the ServicesClient object.
+ */
+ ServicesClient getServices();
+
+ /**
+ * Gets the SimPoliciesClient object to access its operations.
+ *
+ * @return the SimPoliciesClient object.
+ */
+ SimPoliciesClient getSimPolicies();
+
+ /**
+ * Gets the SlicesClient object to access its operations.
+ *
+ * @return the SlicesClient object.
+ */
+ SlicesClient getSlices();
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworksClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworksClient.java
new file mode 100644
index 000000000000..97fd6dd1bdff
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/MobileNetworksClient.java
@@ -0,0 +1,294 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.MobileNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.SimIdListResultInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in MobileNetworksClient. */
+public interface MobileNetworksClient {
+ /**
+ * Deletes the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Deletes the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String mobileNetworkName, Context context);
+
+ /**
+ * Deletes the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName);
+
+ /**
+ * Deletes the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, Context context);
+
+ /**
+ * Gets information about the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MobileNetworkInner getByResourceGroup(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Gets information about the specified mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String mobileNetworkName, Context context);
+
+ /**
+ * Creates or updates a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to the create or update mobile network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of mobile network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MobileNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, MobileNetworkInner parameters);
+
+ /**
+ * Creates or updates a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to the create or update mobile network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of mobile network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MobileNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, MobileNetworkInner parameters, Context context);
+
+ /**
+ * Creates or updates a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to the create or update mobile network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return mobile network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MobileNetworkInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, MobileNetworkInner parameters);
+
+ /**
+ * Creates or updates a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to the create or update mobile network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return mobile network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MobileNetworkInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, MobileNetworkInner parameters, Context context);
+
+ /**
+ * Updates a mobile network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to update mobile network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return mobile network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MobileNetworkInner updateTags(String resourceGroupName, String mobileNetworkName, TagsObject parameters);
+
+ /**
+ * Updates a mobile network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param parameters Parameters supplied to update mobile network tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return mobile network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String mobileNetworkName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all the mobile networks in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for mobile networks API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the mobile networks in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for mobile networks API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all the mobile networks in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for mobile networks API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the mobile networks in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for mobile networks API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List sim ids under a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response for list sim ids API service call.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimIdListResultInner> beginListSimIds(
+ String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * List sim ids under a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of response for list sim ids API service call.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimIdListResultInner> beginListSimIds(
+ String resourceGroupName, String mobileNetworkName, Context context);
+
+ /**
+ * List sim ids under a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for list sim ids API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimIdListResultInner listSimIds(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * List sim ids under a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for list sim ids API service call.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimIdListResultInner listSimIds(String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/OperationsClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/OperationsClient.java
new file mode 100644
index 000000000000..1178375ea3c2
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/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.mobilenetwork.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.mobilenetwork.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Gets a list of the 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 a list of the operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of the 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 a list of the operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreControlPlanesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreControlPlanesClient.java
new file mode 100644
index 000000000000..371f24168cd6
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreControlPlanesClient.java
@@ -0,0 +1,249 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.PacketCoreControlPlaneInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in PacketCoreControlPlanesClient. */
+public interface PacketCoreControlPlanesClient {
+ /**
+ * Deletes the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String packetCoreControlPlaneName);
+
+ /**
+ * Deletes the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String packetCoreControlPlaneName, Context context);
+
+ /**
+ * Deletes the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName);
+
+ /**
+ * Deletes the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName, Context context);
+
+ /**
+ * Gets information about the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified packet core control plane.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreControlPlaneInner getByResourceGroup(String resourceGroupName, String packetCoreControlPlaneName);
+
+ /**
+ * Gets information about the specified packet core control plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified packet core control plane along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String packetCoreControlPlaneName, Context context);
+
+ /**
+ * Creates or updates a PacketCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to the create or update packet core control plane operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of packet core control plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PacketCoreControlPlaneInner> beginCreateOrUpdate(
+ String resourceGroupName, String packetCoreControlPlaneName, PacketCoreControlPlaneInner parameters);
+
+ /**
+ * Creates or updates a PacketCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to the create or update packet core control plane operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of packet core control plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PacketCoreControlPlaneInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ PacketCoreControlPlaneInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a PacketCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to the create or update packet core control plane operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core control plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreControlPlaneInner createOrUpdate(
+ String resourceGroupName, String packetCoreControlPlaneName, PacketCoreControlPlaneInner parameters);
+
+ /**
+ * Creates or updates a PacketCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to the create or update packet core control plane operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core control plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreControlPlaneInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ PacketCoreControlPlaneInner parameters,
+ Context context);
+
+ /**
+ * Updates a PacketCoreControlPlane update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to update PacketCoreControlPlane tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core control plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreControlPlaneInner updateTags(
+ String resourceGroupName, String packetCoreControlPlaneName, TagsObject parameters);
+
+ /**
+ * Updates a PacketCoreControlPlane update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param parameters Parameters supplied to update PacketCoreControlPlane tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core control plane resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String packetCoreControlPlaneName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all the packetCoreControlPlanes in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core control planes API service call as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the packetCoreControlPlanes in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core control planes API service call as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists all the packetCoreControlPlanes in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core control planes API service call as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists all the packetCoreControlPlanes in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core control planes API service call as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreDataPlanesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreDataPlanesClient.java
new file mode 100644
index 000000000000..496d9bc0ffbd
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/PacketCoreDataPlanesClient.java
@@ -0,0 +1,257 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.PacketCoreDataPlaneInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in PacketCoreDataPlanesClient. */
+public interface PacketCoreDataPlanesClient {
+ /**
+ * Deletes the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName);
+
+ /**
+ * Deletes the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context);
+
+ /**
+ * Deletes the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName, String packetCoreDataPlaneName);
+
+ /**
+ * Deletes the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context);
+
+ /**
+ * Gets information about the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified packet core data plane.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreDataPlaneInner get(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName);
+
+ /**
+ * Gets information about the specified packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified packet core data plane along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context);
+
+ /**
+ * Creates or updates a PacketCoreDataPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to the create or update packet core data plane operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of packet core data plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PacketCoreDataPlaneInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ PacketCoreDataPlaneInner parameters);
+
+ /**
+ * Creates or updates a PacketCoreDataPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to the create or update packet core data plane operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of packet core data plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PacketCoreDataPlaneInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ PacketCoreDataPlaneInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a PacketCoreDataPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to the create or update packet core data plane operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core data plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreDataPlaneInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ PacketCoreDataPlaneInner parameters);
+
+ /**
+ * Creates or updates a PacketCoreDataPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to the create or update packet core data plane operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core data plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreDataPlaneInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ PacketCoreDataPlaneInner parameters,
+ Context context);
+
+ /**
+ * Updates a PacketCoreDataPlane update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to update PacketCoreDataPlane tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core data plane resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PacketCoreDataPlaneInner updateTags(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ TagsObject parameters);
+
+ /**
+ * Updates a PacketCoreDataPlane update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param parameters Parameters supplied to update PacketCoreDataPlane tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return packet core data plane resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ TagsObject parameters,
+ Context context);
+
+ /**
+ * Lists all the packetCoreDataPlanes associated with a packetCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core data planes API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPacketCoreControlPlane(
+ String resourceGroupName, String packetCoreControlPlaneName);
+
+ /**
+ * Lists all the packetCoreDataPlanes associated with a packetCoreControlPlane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for packet core data planes API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPacketCoreControlPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/ServicesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/ServicesClient.java
new file mode 100644
index 000000000000..25182b3c2a42
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/ServicesClient.java
@@ -0,0 +1,253 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.ServiceInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in ServicesClient. */
+public interface ServicesClient {
+ /**
+ * Deletes the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String serviceName);
+
+ /**
+ * Deletes the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String serviceName, Context context);
+
+ /**
+ * Deletes the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String serviceName);
+
+ /**
+ * Deletes the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String serviceName, Context context);
+
+ /**
+ * Gets information about the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified service.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceInner get(String resourceGroupName, String mobileNetworkName, String serviceName);
+
+ /**
+ * Gets information about the specified service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified service along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String mobileNetworkName, String serviceName, Context context);
+
+ /**
+ * Creates or updates a Service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to the create or update service operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of service resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ServiceInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String serviceName, ServiceInner parameters);
+
+ /**
+ * Creates or updates a Service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to the create or update service operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of service resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ServiceInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String serviceName,
+ ServiceInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a Service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to the create or update service operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return service resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String serviceName, ServiceInner parameters);
+
+ /**
+ * Creates or updates a Service.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to the create or update service operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return service resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceInner createOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String serviceName,
+ ServiceInner parameters,
+ Context context);
+
+ /**
+ * Update service tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to update service tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return service resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceInner updateTags(
+ String resourceGroupName, String mobileNetworkName, String serviceName, TagsObject parameters);
+
+ /**
+ * Update service tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param serviceName The name of the service. You must not use any of the following reserved strings - `default`,
+ * `requested` or `service`.
+ * @param parameters Parameters supplied to update service tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return service resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String mobileNetworkName, String serviceName, TagsObject parameters, Context context);
+
+ /**
+ * Gets all the services in a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the services in a mobile network as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Gets all the services in a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the services in a mobile network as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(
+ String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimPoliciesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimPoliciesClient.java
new file mode 100644
index 000000000000..5f6603ebb7bb
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimPoliciesClient.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.SimPolicyInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in SimPoliciesClient. */
+public interface SimPoliciesClient {
+ /**
+ * Deletes the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName);
+
+ /**
+ * Deletes the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName, Context context);
+
+ /**
+ * Deletes the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String mobileNetworkName, String simPolicyName);
+
+ /**
+ * Deletes the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String mobileNetworkName, String simPolicyName, Context context);
+
+ /**
+ * Gets information about the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified sim policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimPolicyInner get(String resourceGroupName, String mobileNetworkName, String simPolicyName);
+
+ /**
+ * Gets information about the specified sim policy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified sim policy along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName, Context context);
+
+ /**
+ * Creates or updates a SimPolicy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to the create or update sim policy operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of sim policy resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName, SimPolicyInner parameters);
+
+ /**
+ * Creates or updates a SimPolicy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to the create or update sim policy operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of sim policy resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String simPolicyName,
+ SimPolicyInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a SimPolicy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to the create or update sim policy operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim policy resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimPolicyInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName, SimPolicyInner parameters);
+
+ /**
+ * Creates or updates a SimPolicy.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to the create or update sim policy operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim policy resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String simPolicyName,
+ SimPolicyInner parameters,
+ Context context);
+
+ /**
+ * Update sim policy tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to update Sim Policy tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim policy resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimPolicyInner updateTags(
+ String resourceGroupName, String mobileNetworkName, String simPolicyName, TagsObject parameters);
+
+ /**
+ * Update sim policy tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param simPolicyName The name of the SIM policy.
+ * @param parameters Parameters supplied to update Sim Policy tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim policy resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName,
+ String mobileNetworkName,
+ String simPolicyName,
+ TagsObject parameters,
+ Context context);
+
+ /**
+ * Gets all the simPolicies in a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the simPolicies in a mobile network as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Gets all the simPolicies in a mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the simPolicies in a mobile network as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(
+ String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimsClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimsClient.java
new file mode 100644
index 000000000000..29f27360460d
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SimsClient.java
@@ -0,0 +1,234 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.SimInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in SimsClient. */
+public interface SimsClient {
+ /**
+ * Deletes the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String simName);
+
+ /**
+ * Deletes the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String simName, Context context);
+
+ /**
+ * Deletes the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 simName);
+
+ /**
+ * Deletes the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 simName, Context context);
+
+ /**
+ * Gets information about the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified sim.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimInner getByResourceGroup(String resourceGroupName, String simName);
+
+ /**
+ * Gets information about the specified sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified sim along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String simName, Context context);
+
+ /**
+ * Creates or updates a Sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to the create or update sim operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of sim resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimInner> beginCreateOrUpdate(
+ String resourceGroupName, String simName, SimInner parameters);
+
+ /**
+ * Creates or updates a Sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to the create or update sim operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of sim resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SimInner> beginCreateOrUpdate(
+ String resourceGroupName, String simName, SimInner parameters, Context context);
+
+ /**
+ * Creates or updates a Sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to the create or update sim operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimInner createOrUpdate(String resourceGroupName, String simName, SimInner parameters);
+
+ /**
+ * Creates or updates a Sim.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to the create or update sim operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimInner createOrUpdate(String resourceGroupName, String simName, SimInner parameters, Context context);
+
+ /**
+ * Updates a sim update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to update sim tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SimInner updateTags(String resourceGroupName, String simName, TagsObject parameters);
+
+ /**
+ * Updates a sim update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param simName The name of the SIM.
+ * @param parameters Parameters supplied to update sim tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return sim resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String simName, TagsObject parameters, Context context);
+
+ /**
+ * Gets all the sims in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the sims in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all the sims in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the sims in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets all the Sims in a subscription.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Sims in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all the Sims in a subscription.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Sims in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SitesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SitesClient.java
new file mode 100644
index 000000000000..abc2f3fbedc1
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SitesClient.java
@@ -0,0 +1,229 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.SiteInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in SitesClient. */
+public interface SitesClient {
+ /**
+ * Deletes the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String mobileNetworkName, String siteName);
+
+ /**
+ * Deletes the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String siteName, Context context);
+
+ /**
+ * Deletes the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String siteName);
+
+ /**
+ * Deletes the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String siteName, Context context);
+
+ /**
+ * Gets information about the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network site.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SiteInner get(String resourceGroupName, String mobileNetworkName, String siteName);
+
+ /**
+ * Gets information about the specified mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network site along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String mobileNetworkName, String siteName, Context context);
+
+ /**
+ * Creates or updates a mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to the create or update mobile network site operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of site resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SiteInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String siteName, SiteInner parameters);
+
+ /**
+ * Creates or updates a mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to the create or update mobile network site operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of site resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SiteInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String siteName, SiteInner parameters, Context context);
+
+ /**
+ * Creates or updates a mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to the create or update mobile network site operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return site resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SiteInner createOrUpdate(String resourceGroupName, String mobileNetworkName, String siteName, SiteInner parameters);
+
+ /**
+ * Creates or updates a mobile network site.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to the create or update mobile network site operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return site resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SiteInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String siteName, SiteInner parameters, Context context);
+
+ /**
+ * Updates a site update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to update network site tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return site resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SiteInner updateTags(String resourceGroupName, String mobileNetworkName, String siteName, TagsObject parameters);
+
+ /**
+ * Updates a site update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param siteName The name of the mobile network site.
+ * @param parameters Parameters supplied to update network site tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return site resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String mobileNetworkName, String siteName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all sites in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for sites API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Lists all sites in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for sites API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SlicesClient.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SlicesClient.java
new file mode 100644
index 000000000000..5f58299b8986
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/SlicesClient.java
@@ -0,0 +1,231 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.fluent.models.SliceInner;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+
+/** An instance of this class provides access to all the operations defined in SlicesClient. */
+public interface SlicesClient {
+ /**
+ * Deletes the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String sliceName);
+
+ /**
+ * Deletes the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String sliceName, Context context);
+
+ /**
+ * Deletes the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String sliceName);
+
+ /**
+ * Deletes the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 mobileNetworkName, String sliceName, Context context);
+
+ /**
+ * Gets information about the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network slice.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SliceInner get(String resourceGroupName, String mobileNetworkName, String sliceName);
+
+ /**
+ * Gets information about the specified mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network slice along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String mobileNetworkName, String sliceName, Context context);
+
+ /**
+ * Creates or updates a mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to the create or update mobile network slice operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of network slice resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SliceInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String sliceName, SliceInner parameters);
+
+ /**
+ * Creates or updates a mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to the create or update mobile network slice operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of network slice resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SliceInner> beginCreateOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String sliceName, SliceInner parameters, Context context);
+
+ /**
+ * Creates or updates a mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to the create or update mobile network slice operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network slice resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SliceInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String sliceName, SliceInner parameters);
+
+ /**
+ * Creates or updates a mobile network slice.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to the create or update mobile network slice operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network slice resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SliceInner createOrUpdate(
+ String resourceGroupName, String mobileNetworkName, String sliceName, SliceInner parameters, Context context);
+
+ /**
+ * Update slice tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to update mobile network slice tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network slice resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SliceInner updateTags(String resourceGroupName, String mobileNetworkName, String sliceName, TagsObject parameters);
+
+ /**
+ * Update slice tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param sliceName The name of the mobile network slice.
+ * @param parameters Parameters supplied to update mobile network slice tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return network slice resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateTagsWithResponse(
+ String resourceGroupName, String mobileNetworkName, String sliceName, TagsObject parameters, Context context);
+
+ /**
+ * Lists all slices in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for attached data network API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName);
+
+ /**
+ * Lists all slices in the mobile network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for attached data network API service call as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByMobileNetwork(String resourceGroupName, String mobileNetworkName, Context context);
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkInner.java
new file mode 100644
index 000000000000..899667f47aca
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkInner.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.mobilenetwork.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.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.NaptConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Attached data network resource. */
+@Fluent
+public final class AttachedDataNetworkInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AttachedDataNetworkInner.class);
+
+ /*
+ * Data network properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private AttachedDataNetworkPropertiesFormat innerProperties = new AttachedDataNetworkPropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Data network properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AttachedDataNetworkPropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AttachedDataNetworkInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public AttachedDataNetworkInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the attached data network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the userPlaneDataInterface property: The user plane interface on the data network. In 5G networks this is
+ * called as N6 interface whereas in 4G networks this is called as SGi interface.
+ *
+ * @return the userPlaneDataInterface value.
+ */
+ public InterfaceProperties userPlaneDataInterface() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPlaneDataInterface();
+ }
+
+ /**
+ * Set the userPlaneDataInterface property: The user plane interface on the data network. In 5G networks this is
+ * called as N6 interface whereas in 4G networks this is called as SGi interface.
+ *
+ * @param userPlaneDataInterface the userPlaneDataInterface value to set.
+ * @return the AttachedDataNetworkInner object itself.
+ */
+ public AttachedDataNetworkInner withUserPlaneDataInterface(InterfaceProperties userPlaneDataInterface) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AttachedDataNetworkPropertiesFormat();
+ }
+ this.innerProperties().withUserPlaneDataInterface(userPlaneDataInterface);
+ return this;
+ }
+
+ /**
+ * Get the naptConfiguration property: The Network Address and Port Translation configuration. If not specified the
+ * attached data network uses a default NAPT configuration with NAPT enabled.
+ *
+ * @return the naptConfiguration value.
+ */
+ public NaptConfiguration naptConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().naptConfiguration();
+ }
+
+ /**
+ * Set the naptConfiguration property: The Network Address and Port Translation configuration. If not specified the
+ * attached data network uses a default NAPT configuration with NAPT enabled.
+ *
+ * @param naptConfiguration the naptConfiguration value to set.
+ * @return the AttachedDataNetworkInner object itself.
+ */
+ public AttachedDataNetworkInner withNaptConfiguration(NaptConfiguration naptConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AttachedDataNetworkPropertiesFormat();
+ }
+ this.innerProperties().withNaptConfiguration(naptConfiguration);
+ return this;
+ }
+
+ /**
+ * Get the userEquipmentAddressPoolPrefix property: The user equipment address pool prefixes for the attached data
+ * network that are dynamically assigned by the core to UEs when they set up a PDU session. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @return the userEquipmentAddressPoolPrefix value.
+ */
+ public List userEquipmentAddressPoolPrefix() {
+ return this.innerProperties() == null ? null : this.innerProperties().userEquipmentAddressPoolPrefix();
+ }
+
+ /**
+ * Set the userEquipmentAddressPoolPrefix property: The user equipment address pool prefixes for the attached data
+ * network that are dynamically assigned by the core to UEs when they set up a PDU session. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @param userEquipmentAddressPoolPrefix the userEquipmentAddressPoolPrefix value to set.
+ * @return the AttachedDataNetworkInner object itself.
+ */
+ public AttachedDataNetworkInner withUserEquipmentAddressPoolPrefix(List userEquipmentAddressPoolPrefix) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AttachedDataNetworkPropertiesFormat();
+ }
+ this.innerProperties().withUserEquipmentAddressPoolPrefix(userEquipmentAddressPoolPrefix);
+ return this;
+ }
+
+ /**
+ * Get the userEquipmentStaticAddressPoolPrefix property: The user equipment address pool prefixes for the attached
+ * data network that are statically assigned by the core to UEs when they set up a PDU session. The mapping of
+ * static IP to sim is configured in staticIpConfiguration on the sim resource. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @return the userEquipmentStaticAddressPoolPrefix value.
+ */
+ public List userEquipmentStaticAddressPoolPrefix() {
+ return this.innerProperties() == null ? null : this.innerProperties().userEquipmentStaticAddressPoolPrefix();
+ }
+
+ /**
+ * Set the userEquipmentStaticAddressPoolPrefix property: The user equipment address pool prefixes for the attached
+ * data network that are statically assigned by the core to UEs when they set up a PDU session. The mapping of
+ * static IP to sim is configured in staticIpConfiguration on the sim resource. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @param userEquipmentStaticAddressPoolPrefix the userEquipmentStaticAddressPoolPrefix value to set.
+ * @return the AttachedDataNetworkInner object itself.
+ */
+ public AttachedDataNetworkInner withUserEquipmentStaticAddressPoolPrefix(
+ List userEquipmentStaticAddressPoolPrefix) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AttachedDataNetworkPropertiesFormat();
+ }
+ this.innerProperties().withUserEquipmentStaticAddressPoolPrefix(userEquipmentStaticAddressPoolPrefix);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model AttachedDataNetworkInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkPropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkPropertiesFormat.java
new file mode 100644
index 000000000000..300a51d6555c
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/AttachedDataNetworkPropertiesFormat.java
@@ -0,0 +1,195 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.NaptConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Data network properties. */
+@Fluent
+public final class AttachedDataNetworkPropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AttachedDataNetworkPropertiesFormat.class);
+
+ /*
+ * The provisioning state of the attached data network resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The user plane interface on the data network. In 5G networks this is
+ * called as N6 interface whereas in 4G networks this is called as SGi
+ * interface.
+ */
+ @JsonProperty(value = "userPlaneDataInterface", required = true)
+ private InterfaceProperties userPlaneDataInterface;
+
+ /*
+ * The Network Address and Port Translation configuration.
+ * If not specified the attached data network uses a default NAPT
+ * configuration with NAPT enabled.
+ */
+ @JsonProperty(value = "naptConfiguration")
+ private NaptConfiguration naptConfiguration;
+
+ /*
+ * The user equipment address pool prefixes for the attached data network
+ * that are dynamically assigned by the core to UEs when they set up a PDU
+ * session.
+ * At least one of userEquipmentAddressPoolPrefix and
+ * userEquipmentStaticAddressPoolPrefix must be defined. If both are
+ * defined then they must be the same size.
+ */
+ @JsonProperty(value = "userEquipmentAddressPoolPrefix")
+ private List userEquipmentAddressPoolPrefix;
+
+ /*
+ * The user equipment address pool prefixes for the attached data network
+ * that are statically assigned by the core to UEs when they set up a PDU
+ * session.
+ * The mapping of static IP to sim is configured in staticIpConfiguration
+ * on the sim resource.
+ * At least one of userEquipmentAddressPoolPrefix and
+ * userEquipmentStaticAddressPoolPrefix must be defined. If both are
+ * defined then they must be the same size.
+ */
+ @JsonProperty(value = "userEquipmentStaticAddressPoolPrefix")
+ private List userEquipmentStaticAddressPoolPrefix;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the attached data network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the userPlaneDataInterface property: The user plane interface on the data network. In 5G networks this is
+ * called as N6 interface whereas in 4G networks this is called as SGi interface.
+ *
+ * @return the userPlaneDataInterface value.
+ */
+ public InterfaceProperties userPlaneDataInterface() {
+ return this.userPlaneDataInterface;
+ }
+
+ /**
+ * Set the userPlaneDataInterface property: The user plane interface on the data network. In 5G networks this is
+ * called as N6 interface whereas in 4G networks this is called as SGi interface.
+ *
+ * @param userPlaneDataInterface the userPlaneDataInterface value to set.
+ * @return the AttachedDataNetworkPropertiesFormat object itself.
+ */
+ public AttachedDataNetworkPropertiesFormat withUserPlaneDataInterface(InterfaceProperties userPlaneDataInterface) {
+ this.userPlaneDataInterface = userPlaneDataInterface;
+ return this;
+ }
+
+ /**
+ * Get the naptConfiguration property: The Network Address and Port Translation configuration. If not specified the
+ * attached data network uses a default NAPT configuration with NAPT enabled.
+ *
+ * @return the naptConfiguration value.
+ */
+ public NaptConfiguration naptConfiguration() {
+ return this.naptConfiguration;
+ }
+
+ /**
+ * Set the naptConfiguration property: The Network Address and Port Translation configuration. If not specified the
+ * attached data network uses a default NAPT configuration with NAPT enabled.
+ *
+ * @param naptConfiguration the naptConfiguration value to set.
+ * @return the AttachedDataNetworkPropertiesFormat object itself.
+ */
+ public AttachedDataNetworkPropertiesFormat withNaptConfiguration(NaptConfiguration naptConfiguration) {
+ this.naptConfiguration = naptConfiguration;
+ return this;
+ }
+
+ /**
+ * Get the userEquipmentAddressPoolPrefix property: The user equipment address pool prefixes for the attached data
+ * network that are dynamically assigned by the core to UEs when they set up a PDU session. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @return the userEquipmentAddressPoolPrefix value.
+ */
+ public List userEquipmentAddressPoolPrefix() {
+ return this.userEquipmentAddressPoolPrefix;
+ }
+
+ /**
+ * Set the userEquipmentAddressPoolPrefix property: The user equipment address pool prefixes for the attached data
+ * network that are dynamically assigned by the core to UEs when they set up a PDU session. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @param userEquipmentAddressPoolPrefix the userEquipmentAddressPoolPrefix value to set.
+ * @return the AttachedDataNetworkPropertiesFormat object itself.
+ */
+ public AttachedDataNetworkPropertiesFormat withUserEquipmentAddressPoolPrefix(
+ List userEquipmentAddressPoolPrefix) {
+ this.userEquipmentAddressPoolPrefix = userEquipmentAddressPoolPrefix;
+ return this;
+ }
+
+ /**
+ * Get the userEquipmentStaticAddressPoolPrefix property: The user equipment address pool prefixes for the attached
+ * data network that are statically assigned by the core to UEs when they set up a PDU session. The mapping of
+ * static IP to sim is configured in staticIpConfiguration on the sim resource. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @return the userEquipmentStaticAddressPoolPrefix value.
+ */
+ public List userEquipmentStaticAddressPoolPrefix() {
+ return this.userEquipmentStaticAddressPoolPrefix;
+ }
+
+ /**
+ * Set the userEquipmentStaticAddressPoolPrefix property: The user equipment address pool prefixes for the attached
+ * data network that are statically assigned by the core to UEs when they set up a PDU session. The mapping of
+ * static IP to sim is configured in staticIpConfiguration on the sim resource. At least one of
+ * userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then
+ * they must be the same size.
+ *
+ * @param userEquipmentStaticAddressPoolPrefix the userEquipmentStaticAddressPoolPrefix value to set.
+ * @return the AttachedDataNetworkPropertiesFormat object itself.
+ */
+ public AttachedDataNetworkPropertiesFormat withUserEquipmentStaticAddressPoolPrefix(
+ List userEquipmentStaticAddressPoolPrefix) {
+ this.userEquipmentStaticAddressPoolPrefix = userEquipmentStaticAddressPoolPrefix;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (userPlaneDataInterface() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property userPlaneDataInterface in model"
+ + " AttachedDataNetworkPropertiesFormat"));
+ } else {
+ userPlaneDataInterface().validate();
+ }
+ if (naptConfiguration() != null) {
+ naptConfiguration().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkInner.java
new file mode 100644
index 000000000000..36dee2b3e7b3
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkInner.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Data network resource. */
+@Fluent
+public final class DataNetworkInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataNetworkInner.class);
+
+ /*
+ * Data network properties.
+ */
+ @JsonProperty(value = "properties")
+ private DataNetworkPropertiesFormat innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Data network properties.
+ *
+ * @return the innerProperties value.
+ */
+ private DataNetworkPropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataNetworkInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public DataNetworkInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the data network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the description property: An optional description for this data network.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: An optional description for this data network.
+ *
+ * @param description the description value to set.
+ * @return the DataNetworkInner object itself.
+ */
+ public DataNetworkInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DataNetworkPropertiesFormat();
+ }
+ this.innerProperties().withDescription(description);
+ 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/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkPropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkPropertiesFormat.java
new file mode 100644
index 000000000000..cb6b8484a164
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/DataNetworkPropertiesFormat.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Data network properties. */
+@Fluent
+public final class DataNetworkPropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataNetworkPropertiesFormat.class);
+
+ /*
+ * The provisioning state of the data network resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * An optional description for this data network.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the data network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the description property: An optional description for this data network.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: An optional description for this data network.
+ *
+ * @param description the description value to set.
+ * @return the DataNetworkPropertiesFormat object itself.
+ */
+ public DataNetworkPropertiesFormat withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkInner.java
new file mode 100644
index 000000000000..dbcbbb7ef139
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.PlmnId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Mobile network resource. */
+@Fluent
+public final class MobileNetworkInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MobileNetworkInner.class);
+
+ /*
+ * Mobile network properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private MobileNetworkPropertiesFormat innerProperties = new MobileNetworkPropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Mobile network properties.
+ *
+ * @return the innerProperties value.
+ */
+ private MobileNetworkPropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MobileNetworkInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MobileNetworkInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the mobile network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the publicLandMobileNetworkIdentifier property: The unique public land mobile network identifier for the
+ * network. This is made up of the Mobile Country Code and Mobile Network Code, as defined in
+ * https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99
+ * and 999-999 can be used on internal private networks.
+ *
+ * @return the publicLandMobileNetworkIdentifier value.
+ */
+ public PlmnId publicLandMobileNetworkIdentifier() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicLandMobileNetworkIdentifier();
+ }
+
+ /**
+ * Set the publicLandMobileNetworkIdentifier property: The unique public land mobile network identifier for the
+ * network. This is made up of the Mobile Country Code and Mobile Network Code, as defined in
+ * https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99
+ * and 999-999 can be used on internal private networks.
+ *
+ * @param publicLandMobileNetworkIdentifier the publicLandMobileNetworkIdentifier value to set.
+ * @return the MobileNetworkInner object itself.
+ */
+ public MobileNetworkInner withPublicLandMobileNetworkIdentifier(PlmnId publicLandMobileNetworkIdentifier) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MobileNetworkPropertiesFormat();
+ }
+ this.innerProperties().withPublicLandMobileNetworkIdentifier(publicLandMobileNetworkIdentifier);
+ return this;
+ }
+
+ /**
+ * Get the serviceKey property: The mobile network resource identifier.
+ *
+ * @return the serviceKey value.
+ */
+ public String serviceKey() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceKey();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model MobileNetworkInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkPropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkPropertiesFormat.java
new file mode 100644
index 000000000000..cf9735dc7282
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/MobileNetworkPropertiesFormat.java
@@ -0,0 +1,102 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.PlmnId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Mobile network properties. */
+@Fluent
+public final class MobileNetworkPropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(MobileNetworkPropertiesFormat.class);
+
+ /*
+ * The provisioning state of the mobile network resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The unique public land mobile network identifier for the network. This
+ * is made up of the Mobile Country Code and Mobile Network Code, as
+ * defined in https://www.itu.int/rec/T-REC-E.212. The values 001-01 and
+ * 001-001 can be used for testing and the values 999-99 and 999-999 can be
+ * used on internal private networks.
+ */
+ @JsonProperty(value = "publicLandMobileNetworkIdentifier", required = true)
+ private PlmnId publicLandMobileNetworkIdentifier;
+
+ /*
+ * The mobile network resource identifier
+ */
+ @JsonProperty(value = "serviceKey", access = JsonProperty.Access.WRITE_ONLY)
+ private String serviceKey;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the mobile network resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the publicLandMobileNetworkIdentifier property: The unique public land mobile network identifier for the
+ * network. This is made up of the Mobile Country Code and Mobile Network Code, as defined in
+ * https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99
+ * and 999-999 can be used on internal private networks.
+ *
+ * @return the publicLandMobileNetworkIdentifier value.
+ */
+ public PlmnId publicLandMobileNetworkIdentifier() {
+ return this.publicLandMobileNetworkIdentifier;
+ }
+
+ /**
+ * Set the publicLandMobileNetworkIdentifier property: The unique public land mobile network identifier for the
+ * network. This is made up of the Mobile Country Code and Mobile Network Code, as defined in
+ * https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99
+ * and 999-999 can be used on internal private networks.
+ *
+ * @param publicLandMobileNetworkIdentifier the publicLandMobileNetworkIdentifier value to set.
+ * @return the MobileNetworkPropertiesFormat object itself.
+ */
+ public MobileNetworkPropertiesFormat withPublicLandMobileNetworkIdentifier(
+ PlmnId publicLandMobileNetworkIdentifier) {
+ this.publicLandMobileNetworkIdentifier = publicLandMobileNetworkIdentifier;
+ return this;
+ }
+
+ /**
+ * Get the serviceKey property: The mobile network resource identifier.
+ *
+ * @return the serviceKey value.
+ */
+ public String serviceKey() {
+ return this.serviceKey;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (publicLandMobileNetworkIdentifier() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property publicLandMobileNetworkIdentifier in model"
+ + " MobileNetworkPropertiesFormat"));
+ } else {
+ publicLandMobileNetworkIdentifier().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/OperationInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..feb28a701284
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/OperationInner.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Object that describes a single Microsoft.MobileNetwork operation. */
+@Fluent
+public final class OperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class);
+
+ /*
+ * Indicates whether the operation applies to data-plane.
+ */
+ @JsonProperty(value = "isDataAction")
+ private Boolean isDataAction;
+
+ /*
+ * Operation name: {provider}/{resource}/{operation}
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The object that represents the operation.
+ */
+ @JsonProperty(value = "display", access = JsonProperty.Access.WRITE_ONLY)
+ private OperationDisplay display;
+
+ /**
+ * Get the isDataAction property: Indicates whether the operation applies to data-plane.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set the isDataAction property: Indicates whether the operation applies to data-plane.
+ *
+ * @param isDataAction the isDataAction value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the name property: Operation name: {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the display property: The object that represents the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlaneInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlaneInner.java
new file mode 100644
index 000000000000..2194a06dcbd1
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlaneInner.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.CoreNetworkType;
+import com.azure.resourcemanager.mobilenetwork.models.CustomLocationResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Packet core control plane resource. */
+@Fluent
+public final class PacketCoreControlPlaneInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PacketCoreControlPlaneInner.class);
+
+ /*
+ * Packet core control plane Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private PacketCoreControlPlanePropertiesFormat innerProperties = new PacketCoreControlPlanePropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Packet core control plane Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PacketCoreControlPlanePropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public PacketCoreControlPlaneInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public PacketCoreControlPlaneInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the packet core control plane resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the mobileNetwork property: Mobile network that this packet core control plane belongs to.
+ *
+ * @return the mobileNetwork value.
+ */
+ public MobileNetworkResourceId mobileNetwork() {
+ return this.innerProperties() == null ? null : this.innerProperties().mobileNetwork();
+ }
+
+ /**
+ * Set the mobileNetwork property: Mobile network that this packet core control plane belongs to.
+ *
+ * @param mobileNetwork the mobileNetwork value to set.
+ * @return the PacketCoreControlPlaneInner object itself.
+ */
+ public PacketCoreControlPlaneInner withMobileNetwork(MobileNetworkResourceId mobileNetwork) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreControlPlanePropertiesFormat();
+ }
+ this.innerProperties().withMobileNetwork(mobileNetwork);
+ return this;
+ }
+
+ /**
+ * Get the customLocation property: Azure ARC custom location where the packet core is deployed.
+ *
+ * @return the customLocation value.
+ */
+ public CustomLocationResourceId customLocation() {
+ return this.innerProperties() == null ? null : this.innerProperties().customLocation();
+ }
+
+ /**
+ * Set the customLocation property: Azure ARC custom location where the packet core is deployed.
+ *
+ * @param customLocation the customLocation value to set.
+ * @return the PacketCoreControlPlaneInner object itself.
+ */
+ public PacketCoreControlPlaneInner withCustomLocation(CustomLocationResourceId customLocation) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreControlPlanePropertiesFormat();
+ }
+ this.innerProperties().withCustomLocation(customLocation);
+ return this;
+ }
+
+ /**
+ * Get the coreNetworkTechnology property: The core network technology generation.
+ *
+ * @return the coreNetworkTechnology value.
+ */
+ public CoreNetworkType coreNetworkTechnology() {
+ return this.innerProperties() == null ? null : this.innerProperties().coreNetworkTechnology();
+ }
+
+ /**
+ * Set the coreNetworkTechnology property: The core network technology generation.
+ *
+ * @param coreNetworkTechnology the coreNetworkTechnology value to set.
+ * @return the PacketCoreControlPlaneInner object itself.
+ */
+ public PacketCoreControlPlaneInner withCoreNetworkTechnology(CoreNetworkType coreNetworkTechnology) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreControlPlanePropertiesFormat();
+ }
+ this.innerProperties().withCoreNetworkTechnology(coreNetworkTechnology);
+ return this;
+ }
+
+ /**
+ * Get the version property: The version of the packet core software that is deployed.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.innerProperties() == null ? null : this.innerProperties().version();
+ }
+
+ /**
+ * Set the version property: The version of the packet core software that is deployed.
+ *
+ * @param version the version value to set.
+ * @return the PacketCoreControlPlaneInner object itself.
+ */
+ public PacketCoreControlPlaneInner withVersion(String version) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreControlPlanePropertiesFormat();
+ }
+ this.innerProperties().withVersion(version);
+ return this;
+ }
+
+ /**
+ * Get the controlPlaneAccessInterface property: The control plane interface on the access network. In 5G networks
+ * this is called as N2 interface whereas in 4G networks this is called as S1-MME interface.
+ *
+ * @return the controlPlaneAccessInterface value.
+ */
+ public InterfaceProperties controlPlaneAccessInterface() {
+ return this.innerProperties() == null ? null : this.innerProperties().controlPlaneAccessInterface();
+ }
+
+ /**
+ * Set the controlPlaneAccessInterface property: The control plane interface on the access network. In 5G networks
+ * this is called as N2 interface whereas in 4G networks this is called as S1-MME interface.
+ *
+ * @param controlPlaneAccessInterface the controlPlaneAccessInterface value to set.
+ * @return the PacketCoreControlPlaneInner object itself.
+ */
+ public PacketCoreControlPlaneInner withControlPlaneAccessInterface(
+ InterfaceProperties controlPlaneAccessInterface) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreControlPlanePropertiesFormat();
+ }
+ this.innerProperties().withControlPlaneAccessInterface(controlPlaneAccessInterface);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model PacketCoreControlPlaneInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlanePropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlanePropertiesFormat.java
new file mode 100644
index 000000000000..2bf92c787d12
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreControlPlanePropertiesFormat.java
@@ -0,0 +1,199 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.CoreNetworkType;
+import com.azure.resourcemanager.mobilenetwork.models.CustomLocationResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** PacketCoreControlPlane properties. */
+@Fluent
+public final class PacketCoreControlPlanePropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PacketCoreControlPlanePropertiesFormat.class);
+
+ /*
+ * The provisioning state of the packet core control plane resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Mobile network that this packet core control plane belongs to
+ */
+ @JsonProperty(value = "mobileNetwork", required = true)
+ private MobileNetworkResourceId mobileNetwork;
+
+ /*
+ * Azure ARC custom location where the packet core is deployed.
+ */
+ @JsonProperty(value = "customLocation")
+ private CustomLocationResourceId customLocation;
+
+ /*
+ * The core network technology generation.
+ */
+ @JsonProperty(value = "coreNetworkTechnology")
+ private CoreNetworkType coreNetworkTechnology;
+
+ /*
+ * The version of the packet core software that is deployed.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * The control plane interface on the access network. In 5G networks this
+ * is called as N2 interface whereas in 4G networks this is called as
+ * S1-MME interface.
+ */
+ @JsonProperty(value = "controlPlaneAccessInterface", required = true)
+ private InterfaceProperties controlPlaneAccessInterface;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the packet core control plane resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the mobileNetwork property: Mobile network that this packet core control plane belongs to.
+ *
+ * @return the mobileNetwork value.
+ */
+ public MobileNetworkResourceId mobileNetwork() {
+ return this.mobileNetwork;
+ }
+
+ /**
+ * Set the mobileNetwork property: Mobile network that this packet core control plane belongs to.
+ *
+ * @param mobileNetwork the mobileNetwork value to set.
+ * @return the PacketCoreControlPlanePropertiesFormat object itself.
+ */
+ public PacketCoreControlPlanePropertiesFormat withMobileNetwork(MobileNetworkResourceId mobileNetwork) {
+ this.mobileNetwork = mobileNetwork;
+ return this;
+ }
+
+ /**
+ * Get the customLocation property: Azure ARC custom location where the packet core is deployed.
+ *
+ * @return the customLocation value.
+ */
+ public CustomLocationResourceId customLocation() {
+ return this.customLocation;
+ }
+
+ /**
+ * Set the customLocation property: Azure ARC custom location where the packet core is deployed.
+ *
+ * @param customLocation the customLocation value to set.
+ * @return the PacketCoreControlPlanePropertiesFormat object itself.
+ */
+ public PacketCoreControlPlanePropertiesFormat withCustomLocation(CustomLocationResourceId customLocation) {
+ this.customLocation = customLocation;
+ return this;
+ }
+
+ /**
+ * Get the coreNetworkTechnology property: The core network technology generation.
+ *
+ * @return the coreNetworkTechnology value.
+ */
+ public CoreNetworkType coreNetworkTechnology() {
+ return this.coreNetworkTechnology;
+ }
+
+ /**
+ * Set the coreNetworkTechnology property: The core network technology generation.
+ *
+ * @param coreNetworkTechnology the coreNetworkTechnology value to set.
+ * @return the PacketCoreControlPlanePropertiesFormat object itself.
+ */
+ public PacketCoreControlPlanePropertiesFormat withCoreNetworkTechnology(CoreNetworkType coreNetworkTechnology) {
+ this.coreNetworkTechnology = coreNetworkTechnology;
+ return this;
+ }
+
+ /**
+ * Get the version property: The version of the packet core software that is deployed.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: The version of the packet core software that is deployed.
+ *
+ * @param version the version value to set.
+ * @return the PacketCoreControlPlanePropertiesFormat object itself.
+ */
+ public PacketCoreControlPlanePropertiesFormat withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the controlPlaneAccessInterface property: The control plane interface on the access network. In 5G networks
+ * this is called as N2 interface whereas in 4G networks this is called as S1-MME interface.
+ *
+ * @return the controlPlaneAccessInterface value.
+ */
+ public InterfaceProperties controlPlaneAccessInterface() {
+ return this.controlPlaneAccessInterface;
+ }
+
+ /**
+ * Set the controlPlaneAccessInterface property: The control plane interface on the access network. In 5G networks
+ * this is called as N2 interface whereas in 4G networks this is called as S1-MME interface.
+ *
+ * @param controlPlaneAccessInterface the controlPlaneAccessInterface value to set.
+ * @return the PacketCoreControlPlanePropertiesFormat object itself.
+ */
+ public PacketCoreControlPlanePropertiesFormat withControlPlaneAccessInterface(
+ InterfaceProperties controlPlaneAccessInterface) {
+ this.controlPlaneAccessInterface = controlPlaneAccessInterface;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (mobileNetwork() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property mobileNetwork in model PacketCoreControlPlanePropertiesFormat"));
+ } else {
+ mobileNetwork().validate();
+ }
+ if (customLocation() != null) {
+ customLocation().validate();
+ }
+ if (controlPlaneAccessInterface() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property controlPlaneAccessInterface in model"
+ + " PacketCoreControlPlanePropertiesFormat"));
+ } else {
+ controlPlaneAccessInterface().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlaneInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlaneInner.java
new file mode 100644
index 000000000000..2fa290135076
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlaneInner.java
@@ -0,0 +1,115 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Packet core data plane resource. */
+@Fluent
+public final class PacketCoreDataPlaneInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PacketCoreDataPlaneInner.class);
+
+ /*
+ * Packet core data plane Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private PacketCoreDataPlanePropertiesFormat innerProperties = new PacketCoreDataPlanePropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Packet core data plane Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PacketCoreDataPlanePropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public PacketCoreDataPlaneInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public PacketCoreDataPlaneInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the packet core data plane resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the userPlaneAccessInterface property: The user plane interface on the access network. In 5G networks this is
+ * called as N3 interface whereas in 4G networks this is called the S1-U interface.
+ *
+ * @return the userPlaneAccessInterface value.
+ */
+ public InterfaceProperties userPlaneAccessInterface() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPlaneAccessInterface();
+ }
+
+ /**
+ * Set the userPlaneAccessInterface property: The user plane interface on the access network. In 5G networks this is
+ * called as N3 interface whereas in 4G networks this is called the S1-U interface.
+ *
+ * @param userPlaneAccessInterface the userPlaneAccessInterface value to set.
+ * @return the PacketCoreDataPlaneInner object itself.
+ */
+ public PacketCoreDataPlaneInner withUserPlaneAccessInterface(InterfaceProperties userPlaneAccessInterface) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PacketCoreDataPlanePropertiesFormat();
+ }
+ this.innerProperties().withUserPlaneAccessInterface(userPlaneAccessInterface);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model PacketCoreDataPlaneInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlanePropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlanePropertiesFormat.java
new file mode 100644
index 000000000000..687ccc33af00
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/PacketCoreDataPlanePropertiesFormat.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** PacketCoreDataPlane properties. */
+@Fluent
+public final class PacketCoreDataPlanePropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PacketCoreDataPlanePropertiesFormat.class);
+
+ /*
+ * The provisioning state of the packet core data plane resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The user plane interface on the access network. In 5G networks this is
+ * called as N3 interface whereas in 4G networks this is called the S1-U
+ * interface.
+ */
+ @JsonProperty(value = "userPlaneAccessInterface", required = true)
+ private InterfaceProperties userPlaneAccessInterface;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the packet core data plane resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the userPlaneAccessInterface property: The user plane interface on the access network. In 5G networks this is
+ * called as N3 interface whereas in 4G networks this is called the S1-U interface.
+ *
+ * @return the userPlaneAccessInterface value.
+ */
+ public InterfaceProperties userPlaneAccessInterface() {
+ return this.userPlaneAccessInterface;
+ }
+
+ /**
+ * Set the userPlaneAccessInterface property: The user plane interface on the access network. In 5G networks this is
+ * called as N3 interface whereas in 4G networks this is called the S1-U interface.
+ *
+ * @param userPlaneAccessInterface the userPlaneAccessInterface value to set.
+ * @return the PacketCoreDataPlanePropertiesFormat object itself.
+ */
+ public PacketCoreDataPlanePropertiesFormat withUserPlaneAccessInterface(
+ InterfaceProperties userPlaneAccessInterface) {
+ this.userPlaneAccessInterface = userPlaneAccessInterface;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (userPlaneAccessInterface() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property userPlaneAccessInterface in model"
+ + " PacketCoreDataPlanePropertiesFormat"));
+ } else {
+ userPlaneAccessInterface().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServiceInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServiceInner.java
new file mode 100644
index 000000000000..c876cc348faa
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServiceInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.PccRuleConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.QosPolicy;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Service resource. */
+@Fluent
+public final class ServiceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ServiceInner.class);
+
+ /*
+ * Service Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ServicePropertiesFormat innerProperties = new ServicePropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Service Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private ServicePropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the service resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the servicePrecedence property: A precedence value that is used to decide between services when identifying
+ * the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique
+ * among all services configured in the Mobile Network.
+ *
+ * @return the servicePrecedence value.
+ */
+ public int servicePrecedence() {
+ return this.innerProperties() == null ? 0 : this.innerProperties().servicePrecedence();
+ }
+
+ /**
+ * Set the servicePrecedence property: A precedence value that is used to decide between services when identifying
+ * the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique
+ * among all services configured in the Mobile Network.
+ *
+ * @param servicePrecedence the servicePrecedence value to set.
+ * @return the ServiceInner object itself.
+ */
+ public ServiceInner withServicePrecedence(int servicePrecedence) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServicePropertiesFormat();
+ }
+ this.innerProperties().withServicePrecedence(servicePrecedence);
+ return this;
+ }
+
+ /**
+ * Get the serviceQosPolicy property: The QoS policy to use for packets matching this service. This can be
+ * overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null
+ * then the UE's simPolicy will define the QoS settings.
+ *
+ * @return the serviceQosPolicy value.
+ */
+ public QosPolicy serviceQosPolicy() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceQosPolicy();
+ }
+
+ /**
+ * Set the serviceQosPolicy property: The QoS policy to use for packets matching this service. This can be
+ * overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null
+ * then the UE's simPolicy will define the QoS settings.
+ *
+ * @param serviceQosPolicy the serviceQosPolicy value to set.
+ * @return the ServiceInner object itself.
+ */
+ public ServiceInner withServiceQosPolicy(QosPolicy serviceQosPolicy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServicePropertiesFormat();
+ }
+ this.innerProperties().withServiceQosPolicy(serviceQosPolicy);
+ return this;
+ }
+
+ /**
+ * Get the pccRules property: The set of PCC Rules that make up this service.
+ *
+ * @return the pccRules value.
+ */
+ public List pccRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().pccRules();
+ }
+
+ /**
+ * Set the pccRules property: The set of PCC Rules that make up this service.
+ *
+ * @param pccRules the pccRules value to set.
+ * @return the ServiceInner object itself.
+ */
+ public ServiceInner withPccRules(List pccRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServicePropertiesFormat();
+ }
+ this.innerProperties().withPccRules(pccRules);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model ServiceInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServicePropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServicePropertiesFormat.java
new file mode 100644
index 000000000000..d74a906b90df
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/ServicePropertiesFormat.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.PccRuleConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.QosPolicy;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Service properties. */
+@Fluent
+public final class ServicePropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ServicePropertiesFormat.class);
+
+ /*
+ * The provisioning state of the service resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * A precedence value that is used to decide between services when
+ * identifying the QoS values to use for a particular Sim. A lower value
+ * means a higher priority. This value should be unique among all services
+ * configured in the Mobile Network.
+ */
+ @JsonProperty(value = "servicePrecedence", required = true)
+ private int servicePrecedence;
+
+ /*
+ * The QoS policy to use for packets matching this service. This can be
+ * overridden for particular flows using the ruleQosPolicy field in a
+ * PccRuleConfiguration. If this field is null then the UE's simPolicy will
+ * define the QoS settings.
+ */
+ @JsonProperty(value = "serviceQosPolicy")
+ private QosPolicy serviceQosPolicy;
+
+ /*
+ * The set of PCC Rules that make up this service.
+ */
+ @JsonProperty(value = "pccRules", required = true)
+ private List pccRules;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the service resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the servicePrecedence property: A precedence value that is used to decide between services when identifying
+ * the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique
+ * among all services configured in the Mobile Network.
+ *
+ * @return the servicePrecedence value.
+ */
+ public int servicePrecedence() {
+ return this.servicePrecedence;
+ }
+
+ /**
+ * Set the servicePrecedence property: A precedence value that is used to decide between services when identifying
+ * the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique
+ * among all services configured in the Mobile Network.
+ *
+ * @param servicePrecedence the servicePrecedence value to set.
+ * @return the ServicePropertiesFormat object itself.
+ */
+ public ServicePropertiesFormat withServicePrecedence(int servicePrecedence) {
+ this.servicePrecedence = servicePrecedence;
+ return this;
+ }
+
+ /**
+ * Get the serviceQosPolicy property: The QoS policy to use for packets matching this service. This can be
+ * overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null
+ * then the UE's simPolicy will define the QoS settings.
+ *
+ * @return the serviceQosPolicy value.
+ */
+ public QosPolicy serviceQosPolicy() {
+ return this.serviceQosPolicy;
+ }
+
+ /**
+ * Set the serviceQosPolicy property: The QoS policy to use for packets matching this service. This can be
+ * overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null
+ * then the UE's simPolicy will define the QoS settings.
+ *
+ * @param serviceQosPolicy the serviceQosPolicy value to set.
+ * @return the ServicePropertiesFormat object itself.
+ */
+ public ServicePropertiesFormat withServiceQosPolicy(QosPolicy serviceQosPolicy) {
+ this.serviceQosPolicy = serviceQosPolicy;
+ return this;
+ }
+
+ /**
+ * Get the pccRules property: The set of PCC Rules that make up this service.
+ *
+ * @return the pccRules value.
+ */
+ public List pccRules() {
+ return this.pccRules;
+ }
+
+ /**
+ * Set the pccRules property: The set of PCC Rules that make up this service.
+ *
+ * @param pccRules the pccRules value to set.
+ * @return the ServicePropertiesFormat object itself.
+ */
+ public ServicePropertiesFormat withPccRules(List pccRules) {
+ this.pccRules = pccRules;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (serviceQosPolicy() != null) {
+ serviceQosPolicy().validate();
+ }
+ if (pccRules() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property pccRules in model ServicePropertiesFormat"));
+ } else {
+ pccRules().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimIdListResultInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimIdListResultInner.java
new file mode 100644
index 000000000000..b024976bea45
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimIdListResultInner.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.SubResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Response for list sim ids API service call. */
+@Fluent
+public final class SimIdListResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SimIdListResultInner.class);
+
+ /*
+ * A list of sim profile ids in a resource group.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * The URL to get the next set of results.
+ */
+ @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String nextLink;
+
+ /**
+ * Get the value property: A list of sim profile ids in a resource group.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: A list of sim profile ids in a resource group.
+ *
+ * @param value the value value to set.
+ * @return the SimIdListResultInner object itself.
+ */
+ public SimIdListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: The URL to get the next set of results.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimInner.java
new file mode 100644
index 000000000000..638208aa010c
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimInner.java
@@ -0,0 +1,294 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.ConfigurationState;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.SimPolicyResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.SimStaticIpProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Sim resource. */
+@Fluent
+public final class SimInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SimInner.class);
+
+ /*
+ * Sim Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private SimPropertiesFormat innerProperties = new SimPropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Sim Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private SimPropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SimInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SimInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the sim resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the configurationState property: The configuration state of the sim resource - complete or incomplete.
+ *
+ * @return the configurationState value.
+ */
+ public ConfigurationState configurationState() {
+ return this.innerProperties() == null ? null : this.innerProperties().configurationState();
+ }
+
+ /**
+ * Get the internationalMobileSubscriberIdentity property: The International Mobile Subscriber Identity (IMSI) for
+ * the sim.
+ *
+ * @return the internationalMobileSubscriberIdentity value.
+ */
+ public String internationalMobileSubscriberIdentity() {
+ return this.innerProperties() == null ? null : this.innerProperties().internationalMobileSubscriberIdentity();
+ }
+
+ /**
+ * Set the internationalMobileSubscriberIdentity property: The International Mobile Subscriber Identity (IMSI) for
+ * the sim.
+ *
+ * @param internationalMobileSubscriberIdentity the internationalMobileSubscriberIdentity value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withInternationalMobileSubscriberIdentity(String internationalMobileSubscriberIdentity) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withInternationalMobileSubscriberIdentity(internationalMobileSubscriberIdentity);
+ return this;
+ }
+
+ /**
+ * Get the integratedCircuitCardIdentifier property: The Integrated Circuit Card ID (ICC Id) for the sim.
+ *
+ * @return the integratedCircuitCardIdentifier value.
+ */
+ public String integratedCircuitCardIdentifier() {
+ return this.innerProperties() == null ? null : this.innerProperties().integratedCircuitCardIdentifier();
+ }
+
+ /**
+ * Set the integratedCircuitCardIdentifier property: The Integrated Circuit Card ID (ICC Id) for the sim.
+ *
+ * @param integratedCircuitCardIdentifier the integratedCircuitCardIdentifier value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withIntegratedCircuitCardIdentifier(String integratedCircuitCardIdentifier) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withIntegratedCircuitCardIdentifier(integratedCircuitCardIdentifier);
+ return this;
+ }
+
+ /**
+ * Get the authenticationKey property: The ki value for the sim.
+ *
+ * @return the authenticationKey value.
+ */
+ public String authenticationKey() {
+ return this.innerProperties() == null ? null : this.innerProperties().authenticationKey();
+ }
+
+ /**
+ * Set the authenticationKey property: The ki value for the sim.
+ *
+ * @param authenticationKey the authenticationKey value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withAuthenticationKey(String authenticationKey) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withAuthenticationKey(authenticationKey);
+ return this;
+ }
+
+ /**
+ * Get the operatorKeyCode property: The Opc value for the sim.
+ *
+ * @return the operatorKeyCode value.
+ */
+ public String operatorKeyCode() {
+ return this.innerProperties() == null ? null : this.innerProperties().operatorKeyCode();
+ }
+
+ /**
+ * Set the operatorKeyCode property: The Opc value for the sim.
+ *
+ * @param operatorKeyCode the operatorKeyCode value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withOperatorKeyCode(String operatorKeyCode) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withOperatorKeyCode(operatorKeyCode);
+ return this;
+ }
+
+ /**
+ * Get the mobileNetwork property: Mobile network that this sim belongs to.
+ *
+ * @return the mobileNetwork value.
+ */
+ public MobileNetworkResourceId mobileNetwork() {
+ return this.innerProperties() == null ? null : this.innerProperties().mobileNetwork();
+ }
+
+ /**
+ * Set the mobileNetwork property: Mobile network that this sim belongs to.
+ *
+ * @param mobileNetwork the mobileNetwork value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withMobileNetwork(MobileNetworkResourceId mobileNetwork) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withMobileNetwork(mobileNetwork);
+ return this;
+ }
+
+ /**
+ * Get the deviceType property: An optional free-form text field that can be used to record the device type this sim
+ * is associated with, for example 'Video camera'. The Azure portal allows Sims to be grouped and filtered based on
+ * this value.
+ *
+ * @return the deviceType value.
+ */
+ public String deviceType() {
+ return this.innerProperties() == null ? null : this.innerProperties().deviceType();
+ }
+
+ /**
+ * Set the deviceType property: An optional free-form text field that can be used to record the device type this sim
+ * is associated with, for example 'Video camera'. The Azure portal allows Sims to be grouped and filtered based on
+ * this value.
+ *
+ * @param deviceType the deviceType value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withDeviceType(String deviceType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withDeviceType(deviceType);
+ return this;
+ }
+
+ /**
+ * Get the simPolicy property: The simPolicy used by this sim.
+ *
+ * @return the simPolicy value.
+ */
+ public SimPolicyResourceId simPolicy() {
+ return this.innerProperties() == null ? null : this.innerProperties().simPolicy();
+ }
+
+ /**
+ * Set the simPolicy property: The simPolicy used by this sim.
+ *
+ * @param simPolicy the simPolicy value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withSimPolicy(SimPolicyResourceId simPolicy) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withSimPolicy(simPolicy);
+ return this;
+ }
+
+ /**
+ * Get the staticIpConfiguration property: A list of static IP addresses assigned to this sim. Each address is
+ * assigned at a defined network scope, made up of {attached data network, slice}.
+ *
+ * @return the staticIpConfiguration value.
+ */
+ public List staticIpConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().staticIpConfiguration();
+ }
+
+ /**
+ * Set the staticIpConfiguration property: A list of static IP addresses assigned to this sim. Each address is
+ * assigned at a defined network scope, made up of {attached data network, slice}.
+ *
+ * @param staticIpConfiguration the staticIpConfiguration value to set.
+ * @return the SimInner object itself.
+ */
+ public SimInner withStaticIpConfiguration(List staticIpConfiguration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPropertiesFormat();
+ }
+ this.innerProperties().withStaticIpConfiguration(staticIpConfiguration);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model SimInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyInner.java
new file mode 100644
index 000000000000..04067d412b32
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyInner.java
@@ -0,0 +1,215 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.Ambr;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.SliceConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.SliceResourceId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Sim policy resource. */
+@Fluent
+public final class SimPolicyInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SimPolicyInner.class);
+
+ /*
+ * Sim policy Properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private SimPolicyPropertiesFormat innerProperties = new SimPolicyPropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Sim policy Properties.
+ *
+ * @return the innerProperties value.
+ */
+ private SimPolicyPropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SimPolicyInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SimPolicyInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the sim policy resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the ueAmbr property: Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given
+ * UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.
+ *
+ * @return the ueAmbr value.
+ */
+ public Ambr ueAmbr() {
+ return this.innerProperties() == null ? null : this.innerProperties().ueAmbr();
+ }
+
+ /**
+ * Set the ueAmbr property: Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given
+ * UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.
+ *
+ * @param ueAmbr the ueAmbr value to set.
+ * @return the SimPolicyInner object itself.
+ */
+ public SimPolicyInner withUeAmbr(Ambr ueAmbr) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPolicyPropertiesFormat();
+ }
+ this.innerProperties().withUeAmbr(ueAmbr);
+ return this;
+ }
+
+ /**
+ * Get the defaultSlice property: The default slice to use if the UE does not explicitly specify it. This slice must
+ * exist in the `sliceConfigurations` map.
+ *
+ * @return the defaultSlice value.
+ */
+ public SliceResourceId defaultSlice() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultSlice();
+ }
+
+ /**
+ * Set the defaultSlice property: The default slice to use if the UE does not explicitly specify it. This slice must
+ * exist in the `sliceConfigurations` map.
+ *
+ * @param defaultSlice the defaultSlice value to set.
+ * @return the SimPolicyInner object itself.
+ */
+ public SimPolicyInner withDefaultSlice(SliceResourceId defaultSlice) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPolicyPropertiesFormat();
+ }
+ this.innerProperties().withDefaultSlice(defaultSlice);
+ return this;
+ }
+
+ /**
+ * Get the rfspIndex property: RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an
+ * optional setting and by default is unspecified.
+ *
+ * @return the rfspIndex value.
+ */
+ public Integer rfspIndex() {
+ return this.innerProperties() == null ? null : this.innerProperties().rfspIndex();
+ }
+
+ /**
+ * Set the rfspIndex property: RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an
+ * optional setting and by default is unspecified.
+ *
+ * @param rfspIndex the rfspIndex value to set.
+ * @return the SimPolicyInner object itself.
+ */
+ public SimPolicyInner withRfspIndex(Integer rfspIndex) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPolicyPropertiesFormat();
+ }
+ this.innerProperties().withRfspIndex(rfspIndex);
+ return this;
+ }
+
+ /**
+ * Get the registrationTimer property: Interval for the UE periodic registration update procedure, in seconds.
+ *
+ * @return the registrationTimer value.
+ */
+ public Integer registrationTimer() {
+ return this.innerProperties() == null ? null : this.innerProperties().registrationTimer();
+ }
+
+ /**
+ * Set the registrationTimer property: Interval for the UE periodic registration update procedure, in seconds.
+ *
+ * @param registrationTimer the registrationTimer value to set.
+ * @return the SimPolicyInner object itself.
+ */
+ public SimPolicyInner withRegistrationTimer(Integer registrationTimer) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPolicyPropertiesFormat();
+ }
+ this.innerProperties().withRegistrationTimer(registrationTimer);
+ return this;
+ }
+
+ /**
+ * Get the sliceConfigurations property: The allowed slices and the settings to use for them. The list must not
+ * contain duplicate items and must contain at least one item.
+ *
+ * @return the sliceConfigurations value.
+ */
+ public List sliceConfigurations() {
+ return this.innerProperties() == null ? null : this.innerProperties().sliceConfigurations();
+ }
+
+ /**
+ * Set the sliceConfigurations property: The allowed slices and the settings to use for them. The list must not
+ * contain duplicate items and must contain at least one item.
+ *
+ * @param sliceConfigurations the sliceConfigurations value to set.
+ * @return the SimPolicyInner object itself.
+ */
+ public SimPolicyInner withSliceConfigurations(List sliceConfigurations) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SimPolicyPropertiesFormat();
+ }
+ this.innerProperties().withSliceConfigurations(sliceConfigurations);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model SimPolicyInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyPropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyPropertiesFormat.java
new file mode 100644
index 000000000000..86f494ac1747
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPolicyPropertiesFormat.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.Ambr;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.SliceConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.SliceResourceId;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** SimPolicy properties. */
+@Fluent
+public final class SimPolicyPropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SimPolicyPropertiesFormat.class);
+
+ /*
+ * The provisioning state of the sim policy resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * Aggregate maximum bit rate across all non-GBR QoS flows of all PDU
+ * sessions of a given UE. See 3GPP TS23.501 section 5.7.2.6 for a full
+ * description of the UE-AMBR.
+ */
+ @JsonProperty(value = "ueAmbr", required = true)
+ private Ambr ueAmbr;
+
+ /*
+ * The default slice to use if the UE does not explicitly specify it. This
+ * slice must exist in the `sliceConfigurations` map.
+ */
+ @JsonProperty(value = "defaultSlice", required = true)
+ private SliceResourceId defaultSlice;
+
+ /*
+ * RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This
+ * is an optional setting and by default is unspecified.
+ */
+ @JsonProperty(value = "rfspIndex")
+ private Integer rfspIndex;
+
+ /*
+ * Interval for the UE periodic registration update procedure, in seconds.
+ */
+ @JsonProperty(value = "registrationTimer")
+ private Integer registrationTimer;
+
+ /*
+ * The allowed slices and the settings to use for them. The list must not
+ * contain duplicate items and must contain at least one item.
+ */
+ @JsonProperty(value = "sliceConfigurations", required = true)
+ private List sliceConfigurations;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the sim policy resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the ueAmbr property: Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given
+ * UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.
+ *
+ * @return the ueAmbr value.
+ */
+ public Ambr ueAmbr() {
+ return this.ueAmbr;
+ }
+
+ /**
+ * Set the ueAmbr property: Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given
+ * UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.
+ *
+ * @param ueAmbr the ueAmbr value to set.
+ * @return the SimPolicyPropertiesFormat object itself.
+ */
+ public SimPolicyPropertiesFormat withUeAmbr(Ambr ueAmbr) {
+ this.ueAmbr = ueAmbr;
+ return this;
+ }
+
+ /**
+ * Get the defaultSlice property: The default slice to use if the UE does not explicitly specify it. This slice must
+ * exist in the `sliceConfigurations` map.
+ *
+ * @return the defaultSlice value.
+ */
+ public SliceResourceId defaultSlice() {
+ return this.defaultSlice;
+ }
+
+ /**
+ * Set the defaultSlice property: The default slice to use if the UE does not explicitly specify it. This slice must
+ * exist in the `sliceConfigurations` map.
+ *
+ * @param defaultSlice the defaultSlice value to set.
+ * @return the SimPolicyPropertiesFormat object itself.
+ */
+ public SimPolicyPropertiesFormat withDefaultSlice(SliceResourceId defaultSlice) {
+ this.defaultSlice = defaultSlice;
+ return this;
+ }
+
+ /**
+ * Get the rfspIndex property: RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an
+ * optional setting and by default is unspecified.
+ *
+ * @return the rfspIndex value.
+ */
+ public Integer rfspIndex() {
+ return this.rfspIndex;
+ }
+
+ /**
+ * Set the rfspIndex property: RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an
+ * optional setting and by default is unspecified.
+ *
+ * @param rfspIndex the rfspIndex value to set.
+ * @return the SimPolicyPropertiesFormat object itself.
+ */
+ public SimPolicyPropertiesFormat withRfspIndex(Integer rfspIndex) {
+ this.rfspIndex = rfspIndex;
+ return this;
+ }
+
+ /**
+ * Get the registrationTimer property: Interval for the UE periodic registration update procedure, in seconds.
+ *
+ * @return the registrationTimer value.
+ */
+ public Integer registrationTimer() {
+ return this.registrationTimer;
+ }
+
+ /**
+ * Set the registrationTimer property: Interval for the UE periodic registration update procedure, in seconds.
+ *
+ * @param registrationTimer the registrationTimer value to set.
+ * @return the SimPolicyPropertiesFormat object itself.
+ */
+ public SimPolicyPropertiesFormat withRegistrationTimer(Integer registrationTimer) {
+ this.registrationTimer = registrationTimer;
+ return this;
+ }
+
+ /**
+ * Get the sliceConfigurations property: The allowed slices and the settings to use for them. The list must not
+ * contain duplicate items and must contain at least one item.
+ *
+ * @return the sliceConfigurations value.
+ */
+ public List sliceConfigurations() {
+ return this.sliceConfigurations;
+ }
+
+ /**
+ * Set the sliceConfigurations property: The allowed slices and the settings to use for them. The list must not
+ * contain duplicate items and must contain at least one item.
+ *
+ * @param sliceConfigurations the sliceConfigurations value to set.
+ * @return the SimPolicyPropertiesFormat object itself.
+ */
+ public SimPolicyPropertiesFormat withSliceConfigurations(List sliceConfigurations) {
+ this.sliceConfigurations = sliceConfigurations;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (ueAmbr() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property ueAmbr in model SimPolicyPropertiesFormat"));
+ } else {
+ ueAmbr().validate();
+ }
+ if (defaultSlice() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property defaultSlice in model SimPolicyPropertiesFormat"));
+ } else {
+ defaultSlice().validate();
+ }
+ if (sliceConfigurations() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sliceConfigurations in model SimPolicyPropertiesFormat"));
+ } else {
+ sliceConfigurations().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPropertiesFormat.java
new file mode 100644
index 000000000000..8548cf0c8f7e
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SimPropertiesFormat.java
@@ -0,0 +1,296 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.ConfigurationState;
+import com.azure.resourcemanager.mobilenetwork.models.MobileNetworkResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.SimPolicyResourceId;
+import com.azure.resourcemanager.mobilenetwork.models.SimStaticIpProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Sim properties. */
+@Fluent
+public final class SimPropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SimPropertiesFormat.class);
+
+ /*
+ * The provisioning state of the sim resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The configuration state of the sim resource - complete or incomplete.
+ */
+ @JsonProperty(value = "configurationState", access = JsonProperty.Access.WRITE_ONLY)
+ private ConfigurationState configurationState;
+
+ /*
+ * The International Mobile Subscriber Identity (IMSI) for the sim.
+ */
+ @JsonProperty(value = "internationalMobileSubscriberIdentity", required = true)
+ private String internationalMobileSubscriberIdentity;
+
+ /*
+ * The Integrated Circuit Card ID (ICC Id) for the sim.
+ */
+ @JsonProperty(value = "integratedCircuitCardIdentifier")
+ private String integratedCircuitCardIdentifier;
+
+ /*
+ * The ki value for the sim.
+ */
+ @JsonProperty(value = "authenticationKey")
+ private String authenticationKey;
+
+ /*
+ * The Opc value for the sim.
+ */
+ @JsonProperty(value = "operatorKeyCode")
+ private String operatorKeyCode;
+
+ /*
+ * Mobile network that this sim belongs to
+ */
+ @JsonProperty(value = "mobileNetwork")
+ private MobileNetworkResourceId mobileNetwork;
+
+ /*
+ * An optional free-form text field that can be used to record the device
+ * type this sim is associated with, for example 'Video camera'. The Azure
+ * portal allows Sims to be grouped and filtered based on this value.
+ */
+ @JsonProperty(value = "deviceType")
+ private String deviceType;
+
+ /*
+ * The simPolicy used by this sim.
+ */
+ @JsonProperty(value = "simPolicy")
+ private SimPolicyResourceId simPolicy;
+
+ /*
+ * A list of static IP addresses assigned to this sim. Each address is
+ * assigned at a defined network scope, made up of {attached data network,
+ * slice}.
+ */
+ @JsonProperty(value = "staticIpConfiguration")
+ private List staticIpConfiguration;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the sim resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the configurationState property: The configuration state of the sim resource - complete or incomplete.
+ *
+ * @return the configurationState value.
+ */
+ public ConfigurationState configurationState() {
+ return this.configurationState;
+ }
+
+ /**
+ * Get the internationalMobileSubscriberIdentity property: The International Mobile Subscriber Identity (IMSI) for
+ * the sim.
+ *
+ * @return the internationalMobileSubscriberIdentity value.
+ */
+ public String internationalMobileSubscriberIdentity() {
+ return this.internationalMobileSubscriberIdentity;
+ }
+
+ /**
+ * Set the internationalMobileSubscriberIdentity property: The International Mobile Subscriber Identity (IMSI) for
+ * the sim.
+ *
+ * @param internationalMobileSubscriberIdentity the internationalMobileSubscriberIdentity value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withInternationalMobileSubscriberIdentity(String internationalMobileSubscriberIdentity) {
+ this.internationalMobileSubscriberIdentity = internationalMobileSubscriberIdentity;
+ return this;
+ }
+
+ /**
+ * Get the integratedCircuitCardIdentifier property: The Integrated Circuit Card ID (ICC Id) for the sim.
+ *
+ * @return the integratedCircuitCardIdentifier value.
+ */
+ public String integratedCircuitCardIdentifier() {
+ return this.integratedCircuitCardIdentifier;
+ }
+
+ /**
+ * Set the integratedCircuitCardIdentifier property: The Integrated Circuit Card ID (ICC Id) for the sim.
+ *
+ * @param integratedCircuitCardIdentifier the integratedCircuitCardIdentifier value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withIntegratedCircuitCardIdentifier(String integratedCircuitCardIdentifier) {
+ this.integratedCircuitCardIdentifier = integratedCircuitCardIdentifier;
+ return this;
+ }
+
+ /**
+ * Get the authenticationKey property: The ki value for the sim.
+ *
+ * @return the authenticationKey value.
+ */
+ public String authenticationKey() {
+ return this.authenticationKey;
+ }
+
+ /**
+ * Set the authenticationKey property: The ki value for the sim.
+ *
+ * @param authenticationKey the authenticationKey value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withAuthenticationKey(String authenticationKey) {
+ this.authenticationKey = authenticationKey;
+ return this;
+ }
+
+ /**
+ * Get the operatorKeyCode property: The Opc value for the sim.
+ *
+ * @return the operatorKeyCode value.
+ */
+ public String operatorKeyCode() {
+ return this.operatorKeyCode;
+ }
+
+ /**
+ * Set the operatorKeyCode property: The Opc value for the sim.
+ *
+ * @param operatorKeyCode the operatorKeyCode value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withOperatorKeyCode(String operatorKeyCode) {
+ this.operatorKeyCode = operatorKeyCode;
+ return this;
+ }
+
+ /**
+ * Get the mobileNetwork property: Mobile network that this sim belongs to.
+ *
+ * @return the mobileNetwork value.
+ */
+ public MobileNetworkResourceId mobileNetwork() {
+ return this.mobileNetwork;
+ }
+
+ /**
+ * Set the mobileNetwork property: Mobile network that this sim belongs to.
+ *
+ * @param mobileNetwork the mobileNetwork value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withMobileNetwork(MobileNetworkResourceId mobileNetwork) {
+ this.mobileNetwork = mobileNetwork;
+ return this;
+ }
+
+ /**
+ * Get the deviceType property: An optional free-form text field that can be used to record the device type this sim
+ * is associated with, for example 'Video camera'. The Azure portal allows Sims to be grouped and filtered based on
+ * this value.
+ *
+ * @return the deviceType value.
+ */
+ public String deviceType() {
+ return this.deviceType;
+ }
+
+ /**
+ * Set the deviceType property: An optional free-form text field that can be used to record the device type this sim
+ * is associated with, for example 'Video camera'. The Azure portal allows Sims to be grouped and filtered based on
+ * this value.
+ *
+ * @param deviceType the deviceType value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withDeviceType(String deviceType) {
+ this.deviceType = deviceType;
+ return this;
+ }
+
+ /**
+ * Get the simPolicy property: The simPolicy used by this sim.
+ *
+ * @return the simPolicy value.
+ */
+ public SimPolicyResourceId simPolicy() {
+ return this.simPolicy;
+ }
+
+ /**
+ * Set the simPolicy property: The simPolicy used by this sim.
+ *
+ * @param simPolicy the simPolicy value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withSimPolicy(SimPolicyResourceId simPolicy) {
+ this.simPolicy = simPolicy;
+ return this;
+ }
+
+ /**
+ * Get the staticIpConfiguration property: A list of static IP addresses assigned to this sim. Each address is
+ * assigned at a defined network scope, made up of {attached data network, slice}.
+ *
+ * @return the staticIpConfiguration value.
+ */
+ public List staticIpConfiguration() {
+ return this.staticIpConfiguration;
+ }
+
+ /**
+ * Set the staticIpConfiguration property: A list of static IP addresses assigned to this sim. Each address is
+ * assigned at a defined network scope, made up of {attached data network, slice}.
+ *
+ * @param staticIpConfiguration the staticIpConfiguration value to set.
+ * @return the SimPropertiesFormat object itself.
+ */
+ public SimPropertiesFormat withStaticIpConfiguration(List staticIpConfiguration) {
+ this.staticIpConfiguration = staticIpConfiguration;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (internationalMobileSubscriberIdentity() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property internationalMobileSubscriberIdentity in model"
+ + " SimPropertiesFormat"));
+ }
+ if (mobileNetwork() != null) {
+ mobileNetwork().validate();
+ }
+ if (simPolicy() != null) {
+ simPolicy().validate();
+ }
+ if (staticIpConfiguration() != null) {
+ staticIpConfiguration().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SiteInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SiteInner.java
new file mode 100644
index 000000000000..fa69d3718f4a
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SiteInner.java
@@ -0,0 +1,112 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SubResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** Site resource. */
+@Fluent
+public final class SiteInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SiteInner.class);
+
+ /*
+ * Site properties.
+ */
+ @JsonProperty(value = "properties")
+ private SitePropertiesFormat innerProperties;
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Site properties.
+ *
+ * @return the innerProperties value.
+ */
+ private SitePropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SiteInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SiteInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the site resource. **TODO**: Confirm if this is
+ * needed.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the networkFunctions property: An array of ids of the network functions deployed on the site, maintained by
+ * the user.
+ *
+ * @return the networkFunctions value.
+ */
+ public List networkFunctions() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkFunctions();
+ }
+
+ /**
+ * Set the networkFunctions property: An array of ids of the network functions deployed on the site, maintained by
+ * the user.
+ *
+ * @param networkFunctions the networkFunctions value to set.
+ * @return the SiteInner object itself.
+ */
+ public SiteInner withNetworkFunctions(List networkFunctions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SitePropertiesFormat();
+ }
+ this.innerProperties().withNetworkFunctions(networkFunctions);
+ 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/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SitePropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SitePropertiesFormat.java
new file mode 100644
index 000000000000..f135aae7e9a9
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SitePropertiesFormat.java
@@ -0,0 +1,73 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.SubResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Site properties. */
+@Fluent
+public final class SitePropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SitePropertiesFormat.class);
+
+ /*
+ * The provisioning state of the site resource. **TODO**: Confirm if this
+ * is needed
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * An array of ids of the network functions deployed on the site,
+ * maintained by the user.
+ */
+ @JsonProperty(value = "networkFunctions")
+ private List networkFunctions;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the site resource. **TODO**: Confirm if this is
+ * needed.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the networkFunctions property: An array of ids of the network functions deployed on the site, maintained by
+ * the user.
+ *
+ * @return the networkFunctions value.
+ */
+ public List networkFunctions() {
+ return this.networkFunctions;
+ }
+
+ /**
+ * Set the networkFunctions property: An array of ids of the network functions deployed on the site, maintained by
+ * the user.
+ *
+ * @param networkFunctions the networkFunctions value to set.
+ * @return the SitePropertiesFormat object itself.
+ */
+ public SitePropertiesFormat withNetworkFunctions(List networkFunctions) {
+ this.networkFunctions = networkFunctions;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SliceInner.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SliceInner.java
new file mode 100644
index 000000000000..98040e864730
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SliceInner.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.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.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.Snssai;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Network slice resource. */
+@Fluent
+public final class SliceInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SliceInner.class);
+
+ /*
+ * Slice properties.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private SlicePropertiesFormat innerProperties = new SlicePropertiesFormat();
+
+ /*
+ * Metadata pertaining to creation and last modification of the resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData innerSystemData;
+
+ /**
+ * Get the innerProperties property: Slice properties.
+ *
+ * @return the innerProperties value.
+ */
+ private SlicePropertiesFormat innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the innerSystemData property: Metadata pertaining to creation and last modification of the resource.
+ *
+ * @return the innerSystemData value.
+ */
+ private SystemData innerSystemData() {
+ return this.innerSystemData;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SliceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SliceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioning state of the network slice resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the snssai property: The S-NSSAI (single network slice selection assistance information). Unique at the scope
+ * of a MobileNetwork.
+ *
+ * @return the snssai value.
+ */
+ public Snssai snssai() {
+ return this.innerProperties() == null ? null : this.innerProperties().snssai();
+ }
+
+ /**
+ * Set the snssai property: The S-NSSAI (single network slice selection assistance information). Unique at the scope
+ * of a MobileNetwork.
+ *
+ * @param snssai the snssai value to set.
+ * @return the SliceInner object itself.
+ */
+ public SliceInner withSnssai(Snssai snssai) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SlicePropertiesFormat();
+ }
+ this.innerProperties().withSnssai(snssai);
+ return this;
+ }
+
+ /**
+ * Get the description property: An optional description for this network slice.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: An optional description for this network slice.
+ *
+ * @param description the description value to set.
+ * @return the SliceInner object itself.
+ */
+ public SliceInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SlicePropertiesFormat();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model SliceInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SlicePropertiesFormat.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SlicePropertiesFormat.java
new file mode 100644
index 000000000000..cb6cef3faa77
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/SlicePropertiesFormat.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.Snssai;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Network slice properties. */
+@Fluent
+public final class SlicePropertiesFormat {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SlicePropertiesFormat.class);
+
+ /*
+ * The provisioning state of the network slice resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /*
+ * The S-NSSAI (single network slice selection assistance information).
+ * Unique at the scope of a MobileNetwork.
+ */
+ @JsonProperty(value = "snssai", required = true)
+ private Snssai snssai;
+
+ /*
+ * An optional description for this network slice.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get the provisioningState property: The provisioning state of the network slice resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the snssai property: The S-NSSAI (single network slice selection assistance information). Unique at the scope
+ * of a MobileNetwork.
+ *
+ * @return the snssai value.
+ */
+ public Snssai snssai() {
+ return this.snssai;
+ }
+
+ /**
+ * Set the snssai property: The S-NSSAI (single network slice selection assistance information). Unique at the scope
+ * of a MobileNetwork.
+ *
+ * @param snssai the snssai value to set.
+ * @return the SlicePropertiesFormat object itself.
+ */
+ public SlicePropertiesFormat withSnssai(Snssai snssai) {
+ this.snssai = snssai;
+ return this;
+ }
+
+ /**
+ * Get the description property: An optional description for this network slice.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: An optional description for this network slice.
+ *
+ * @param description the description value to set.
+ * @return the SlicePropertiesFormat object itself.
+ */
+ public SlicePropertiesFormat withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (snssai() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property snssai in model SlicePropertiesFormat"));
+ } else {
+ snssai().validate();
+ }
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/package-info.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/package-info.java
new file mode 100644
index 000000000000..bc49da853353
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/models/package-info.java
@@ -0,0 +1,10 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for MobileNetworkManagementClient. The resources in this swagger
+ * specification will be used to manage attached data network resources in mobile network attached to a particular
+ * packet core instance.
+ */
+package com.azure.resourcemanager.mobilenetwork.fluent.models;
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/package-info.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/package-info.java
new file mode 100644
index 000000000000..a7beb7674680
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/fluent/package-info.java
@@ -0,0 +1,10 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for MobileNetworkManagementClient. The resources in this swagger specification
+ * will be used to manage attached data network resources in mobile network attached to a particular packet core
+ * instance.
+ */
+package com.azure.resourcemanager.mobilenetwork.fluent;
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworkImpl.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworkImpl.java
new file mode 100644
index 000000000000..b84c5a055d5b
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworkImpl.java
@@ -0,0 +1,272 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.AttachedDataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetwork;
+import com.azure.resourcemanager.mobilenetwork.models.InterfaceProperties;
+import com.azure.resourcemanager.mobilenetwork.models.NaptConfiguration;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class AttachedDataNetworkImpl
+ implements AttachedDataNetwork, AttachedDataNetwork.Definition, AttachedDataNetwork.Update {
+ private AttachedDataNetworkInner innerObject;
+
+ private final com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public InterfaceProperties userPlaneDataInterface() {
+ return this.innerModel().userPlaneDataInterface();
+ }
+
+ public NaptConfiguration naptConfiguration() {
+ return this.innerModel().naptConfiguration();
+ }
+
+ public List userEquipmentAddressPoolPrefix() {
+ List inner = this.innerModel().userEquipmentAddressPoolPrefix();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List userEquipmentStaticAddressPoolPrefix() {
+ List inner = this.innerModel().userEquipmentStaticAddressPoolPrefix();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public AttachedDataNetworkInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String packetCoreControlPlaneName;
+
+ private String packetCoreDataPlaneName;
+
+ private String attachedDataNetworkName;
+
+ private TagsObject updateParameters;
+
+ public AttachedDataNetworkImpl withExistingPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName) {
+ this.resourceGroupName = resourceGroupName;
+ this.packetCoreControlPlaneName = packetCoreControlPlaneName;
+ this.packetCoreDataPlaneName = packetCoreDataPlaneName;
+ return this;
+ }
+
+ public AttachedDataNetwork create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .createOrUpdate(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.innerModel(),
+ Context.NONE);
+ return this;
+ }
+
+ public AttachedDataNetwork create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .createOrUpdate(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.innerModel(),
+ context);
+ return this;
+ }
+
+ AttachedDataNetworkImpl(String name, com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager) {
+ this.innerObject = new AttachedDataNetworkInner();
+ this.serviceManager = serviceManager;
+ this.attachedDataNetworkName = name;
+ }
+
+ public AttachedDataNetworkImpl update() {
+ this.updateParameters = new TagsObject();
+ return this;
+ }
+
+ public AttachedDataNetwork apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .updateTagsWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ updateParameters,
+ Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AttachedDataNetwork apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .updateTagsWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ updateParameters,
+ context)
+ .getValue();
+ return this;
+ }
+
+ AttachedDataNetworkImpl(
+ AttachedDataNetworkInner innerObject,
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.packetCoreControlPlaneName = Utils.getValueFromIdByName(innerObject.id(), "packetCoreControlPlanes");
+ this.packetCoreDataPlaneName = Utils.getValueFromIdByName(innerObject.id(), "packetCoreDataPlanes");
+ this.attachedDataNetworkName = Utils.getValueFromIdByName(innerObject.id(), "attachedDataNetworks");
+ }
+
+ public AttachedDataNetwork refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .getWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AttachedDataNetwork refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAttachedDataNetworks()
+ .getWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context)
+ .getValue();
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withUserPlaneDataInterface(InterfaceProperties userPlaneDataInterface) {
+ this.innerModel().withUserPlaneDataInterface(userPlaneDataInterface);
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateParameters.withTags(tags);
+ return this;
+ }
+ }
+
+ public AttachedDataNetworkImpl withNaptConfiguration(NaptConfiguration naptConfiguration) {
+ this.innerModel().withNaptConfiguration(naptConfiguration);
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withUserEquipmentAddressPoolPrefix(List userEquipmentAddressPoolPrefix) {
+ this.innerModel().withUserEquipmentAddressPoolPrefix(userEquipmentAddressPoolPrefix);
+ return this;
+ }
+
+ public AttachedDataNetworkImpl withUserEquipmentStaticAddressPoolPrefix(
+ List userEquipmentStaticAddressPoolPrefix) {
+ this.innerModel().withUserEquipmentStaticAddressPoolPrefix(userEquipmentStaticAddressPoolPrefix);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksClientImpl.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksClientImpl.java
new file mode 100644
index 000000000000..ede96456744e
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksClientImpl.java
@@ -0,0 +1,1699 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.mobilenetwork.fluent.AttachedDataNetworksClient;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.AttachedDataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetworkListResult;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AttachedDataNetworksClient. */
+public final class AttachedDataNetworksClientImpl implements AttachedDataNetworksClient {
+ private final ClientLogger logger = new ClientLogger(AttachedDataNetworksClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final AttachedDataNetworksService service;
+
+ /** The service client containing this operation class. */
+ private final MobileNetworkManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AttachedDataNetworksClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AttachedDataNetworksClientImpl(MobileNetworkManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(AttachedDataNetworksService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for MobileNetworkManagementClientAttachedDataNetworks to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "MobileNetworkManagem")
+ private interface AttachedDataNetworksService {
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}"
+ + "/attachedDataNetworks/{attachedDataNetworkName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("packetCoreControlPlaneName") String packetCoreControlPlaneName,
+ @PathParam("packetCoreDataPlaneName") String packetCoreDataPlaneName,
+ @PathParam("attachedDataNetworkName") String attachedDataNetworkName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}"
+ + "/attachedDataNetworks/{attachedDataNetworkName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("packetCoreControlPlaneName") String packetCoreControlPlaneName,
+ @PathParam("packetCoreDataPlaneName") String packetCoreDataPlaneName,
+ @PathParam("attachedDataNetworkName") String attachedDataNetworkName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}"
+ + "/attachedDataNetworks/{attachedDataNetworkName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("packetCoreControlPlaneName") String packetCoreControlPlaneName,
+ @PathParam("packetCoreDataPlaneName") String packetCoreDataPlaneName,
+ @PathParam("attachedDataNetworkName") String attachedDataNetworkName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") AttachedDataNetworkInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}"
+ + "/attachedDataNetworks/{attachedDataNetworkName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> updateTags(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("packetCoreControlPlaneName") String packetCoreControlPlaneName,
+ @PathParam("packetCoreDataPlaneName") String packetCoreDataPlaneName,
+ @PathParam("attachedDataNetworkName") String attachedDataNetworkName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") TagsObject parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}"
+ + "/attachedDataNetworks")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByPacketCoreDataPlane(
+ @HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("packetCoreControlPlaneName") String packetCoreControlPlaneName,
+ @PathParam("packetCoreDataPlaneName") String packetCoreDataPlaneName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByPacketCoreDataPlaneNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ Mono>> mono =
+ deleteWithResponseAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ return beginDeleteAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName)
+ .getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ return beginDeleteAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ return beginDeleteAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ return beginDeleteAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ deleteAsync(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName)
+ .block();
+ }
+
+ /**
+ * Deletes the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ deleteAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context)
+ .block();
+ }
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ return getWithResponseAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AttachedDataNetworkInner get(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ return getAsync(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName)
+ .block();
+ }
+
+ /**
+ * Gets information about the specified attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified attached data network along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ return getWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context)
+ .block();
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .createOrUpdate(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AttachedDataNetworkInner> beginCreateOrUpdateAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters) {
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ AttachedDataNetworkInner.class,
+ AttachedDataNetworkInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AttachedDataNetworkInner> beginCreateOrUpdateAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ createOrUpdateWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters,
+ context);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ AttachedDataNetworkInner.class,
+ AttachedDataNetworkInner.class,
+ context);
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AttachedDataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters) {
+ return beginCreateOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters)
+ .getSyncPoller();
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AttachedDataNetworkInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context) {
+ return beginCreateOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters,
+ context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters) {
+ return beginCreateOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context) {
+ return beginCreateOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters,
+ context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AttachedDataNetworkInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters) {
+ return createOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters)
+ .block();
+ }
+
+ /**
+ * Creates or updates an attached data network.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to the create or update attached data network operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AttachedDataNetworkInner createOrUpdate(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ AttachedDataNetworkInner parameters,
+ Context context) {
+ return createOrUpdateAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters,
+ context)
+ .block();
+ }
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateTagsWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .updateTags(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateTagsWithResponseAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (attachedDataNetworkName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter attachedDataNetworkName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .updateTags(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ parameters,
+ accept,
+ context);
+ }
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateTagsAsync(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters) {
+ return updateTagsWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AttachedDataNetworkInner updateTags(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters) {
+ return updateTagsAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters)
+ .block();
+ }
+
+ /**
+ * Updates an attached data network update tags.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param attachedDataNetworkName The name of the attached data network.
+ * @param parameters Parameters supplied to update attached data network tags.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return attached data network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateTagsWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ TagsObject parameters,
+ Context context) {
+ return updateTagsWithResponseAsync(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ parameters,
+ context)
+ .block();
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByPacketCoreDataPlaneSinglePageAsync(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByPacketCoreDataPlane(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByPacketCoreDataPlaneSinglePageAsync(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (packetCoreControlPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter packetCoreControlPlaneName is required and cannot be null."));
+ }
+ if (packetCoreDataPlaneName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter packetCoreDataPlaneName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByPacketCoreDataPlane(
+ this.client.getEndpoint(),
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByPacketCoreDataPlaneAsync(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName) {
+ return new PagedFlux<>(
+ () ->
+ listByPacketCoreDataPlaneSinglePageAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName),
+ nextLink -> listByPacketCoreDataPlaneNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByPacketCoreDataPlaneAsync(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context) {
+ return new PagedFlux<>(
+ () ->
+ listByPacketCoreDataPlaneSinglePageAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, context),
+ nextLink -> listByPacketCoreDataPlaneNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName) {
+ return new PagedIterable<>(
+ listByPacketCoreDataPlaneAsync(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName));
+ }
+
+ /**
+ * Gets all the data networks associated with a packet core data plane.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param packetCoreControlPlaneName The name of the packet core control plane.
+ * @param packetCoreDataPlaneName The name of the packet core data plane.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the data networks associated with a packet core data plane as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context) {
+ return new PagedIterable<>(
+ listByPacketCoreDataPlaneAsync(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for attached data network API service call along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByPacketCoreDataPlaneNextSinglePageAsync(
+ String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByPacketCoreDataPlaneNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response for attached data network API service call along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByPacketCoreDataPlaneNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByPacketCoreDataPlaneNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksImpl.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksImpl.java
new file mode 100644
index 000000000000..4a543d73d846
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/AttachedDataNetworksImpl.java
@@ -0,0 +1,323 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.mobilenetwork.fluent.AttachedDataNetworksClient;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.AttachedDataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetwork;
+import com.azure.resourcemanager.mobilenetwork.models.AttachedDataNetworks;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class AttachedDataNetworksImpl implements AttachedDataNetworks {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AttachedDataNetworksImpl.class);
+
+ private final AttachedDataNetworksClient innerClient;
+
+ private final com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager;
+
+ public AttachedDataNetworksImpl(
+ AttachedDataNetworksClient innerClient,
+ com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public void delete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ this
+ .serviceClient()
+ .delete(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName);
+ }
+
+ public void delete(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ this
+ .serviceClient()
+ .delete(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context);
+ }
+
+ public AttachedDataNetwork get(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName) {
+ AttachedDataNetworkInner inner =
+ this
+ .serviceClient()
+ .get(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, attachedDataNetworkName);
+ if (inner != null) {
+ return new AttachedDataNetworkImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName,
+ String packetCoreControlPlaneName,
+ String packetCoreDataPlaneName,
+ String attachedDataNetworkName,
+ Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AttachedDataNetworkImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName) {
+ PagedIterable inner =
+ this
+ .serviceClient()
+ .listByPacketCoreDataPlane(resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName);
+ return Utils.mapPage(inner, inner1 -> new AttachedDataNetworkImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByPacketCoreDataPlane(
+ String resourceGroupName, String packetCoreControlPlaneName, String packetCoreDataPlaneName, Context context) {
+ PagedIterable inner =
+ this
+ .serviceClient()
+ .listByPacketCoreDataPlane(
+ resourceGroupName, packetCoreControlPlaneName, packetCoreDataPlaneName, context);
+ return Utils.mapPage(inner, inner1 -> new AttachedDataNetworkImpl(inner1, this.manager()));
+ }
+
+ public AttachedDataNetwork getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String packetCoreControlPlaneName = Utils.getValueFromIdByName(id, "packetCoreControlPlanes");
+ if (packetCoreControlPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreControlPlanes'.",
+ id)));
+ }
+ String packetCoreDataPlaneName = Utils.getValueFromIdByName(id, "packetCoreDataPlanes");
+ if (packetCoreDataPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreDataPlanes'.",
+ id)));
+ }
+ String attachedDataNetworkName = Utils.getValueFromIdByName(id, "attachedDataNetworks");
+ if (attachedDataNetworkName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'attachedDataNetworks'.",
+ id)));
+ }
+ return this
+ .getWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ Context.NONE)
+ .getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String packetCoreControlPlaneName = Utils.getValueFromIdByName(id, "packetCoreControlPlanes");
+ if (packetCoreControlPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreControlPlanes'.",
+ id)));
+ }
+ String packetCoreDataPlaneName = Utils.getValueFromIdByName(id, "packetCoreDataPlanes");
+ if (packetCoreDataPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreDataPlanes'.",
+ id)));
+ }
+ String attachedDataNetworkName = Utils.getValueFromIdByName(id, "attachedDataNetworks");
+ if (attachedDataNetworkName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'attachedDataNetworks'.",
+ id)));
+ }
+ return this
+ .getWithResponse(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String packetCoreControlPlaneName = Utils.getValueFromIdByName(id, "packetCoreControlPlanes");
+ if (packetCoreControlPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreControlPlanes'.",
+ id)));
+ }
+ String packetCoreDataPlaneName = Utils.getValueFromIdByName(id, "packetCoreDataPlanes");
+ if (packetCoreDataPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreDataPlanes'.",
+ id)));
+ }
+ String attachedDataNetworkName = Utils.getValueFromIdByName(id, "attachedDataNetworks");
+ if (attachedDataNetworkName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'attachedDataNetworks'.",
+ id)));
+ }
+ this
+ .delete(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String packetCoreControlPlaneName = Utils.getValueFromIdByName(id, "packetCoreControlPlanes");
+ if (packetCoreControlPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreControlPlanes'.",
+ id)));
+ }
+ String packetCoreDataPlaneName = Utils.getValueFromIdByName(id, "packetCoreDataPlanes");
+ if (packetCoreDataPlaneName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'packetCoreDataPlanes'.",
+ id)));
+ }
+ String attachedDataNetworkName = Utils.getValueFromIdByName(id, "attachedDataNetworks");
+ if (attachedDataNetworkName == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'attachedDataNetworks'.",
+ id)));
+ }
+ this
+ .delete(
+ resourceGroupName,
+ packetCoreControlPlaneName,
+ packetCoreDataPlaneName,
+ attachedDataNetworkName,
+ context);
+ }
+
+ private AttachedDataNetworksClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager() {
+ return this.serviceManager;
+ }
+
+ public AttachedDataNetworkImpl define(String name) {
+ return new AttachedDataNetworkImpl(name, this.manager());
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworkImpl.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworkImpl.java
new file mode 100644
index 000000000000..40896fe4b2fc
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworkImpl.java
@@ -0,0 +1,192 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.DataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetwork;
+import com.azure.resourcemanager.mobilenetwork.models.ProvisioningState;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+import java.util.Collections;
+import java.util.Map;
+
+public final class DataNetworkImpl implements DataNetwork, DataNetwork.Definition, DataNetwork.Update {
+ private DataNetworkInner innerObject;
+
+ private final com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public ProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public String description() {
+ return this.innerModel().description();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public DataNetworkInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.mobilenetwork.MobileNetworkManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String mobileNetworkName;
+
+ private String dataNetworkName;
+
+ private TagsObject updateParameters;
+
+ public DataNetworkImpl withExistingMobileNetwork(String resourceGroupName, String mobileNetworkName) {
+ this.resourceGroupName = resourceGroupName;
+ this.mobileNetworkName = mobileNetworkName;
+ return this;
+ }
+
+ public DataNetwork create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .createOrUpdate(resourceGroupName, mobileNetworkName, dataNetworkName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public DataNetwork create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .createOrUpdate(resourceGroupName, mobileNetworkName, dataNetworkName, this.innerModel(), context);
+ return this;
+ }
+
+ DataNetworkImpl(String name, com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager) {
+ this.innerObject = new DataNetworkInner();
+ this.serviceManager = serviceManager;
+ this.dataNetworkName = name;
+ }
+
+ public DataNetworkImpl update() {
+ this.updateParameters = new TagsObject();
+ return this;
+ }
+
+ public DataNetwork apply() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .updateTagsWithResponse(
+ resourceGroupName, mobileNetworkName, dataNetworkName, updateParameters, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public DataNetwork apply(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .updateTagsWithResponse(
+ resourceGroupName, mobileNetworkName, dataNetworkName, updateParameters, context)
+ .getValue();
+ return this;
+ }
+
+ DataNetworkImpl(
+ DataNetworkInner innerObject, com.azure.resourcemanager.mobilenetwork.MobileNetworkManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = Utils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.mobileNetworkName = Utils.getValueFromIdByName(innerObject.id(), "mobileNetworks");
+ this.dataNetworkName = Utils.getValueFromIdByName(innerObject.id(), "dataNetworks");
+ }
+
+ public DataNetwork refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .getWithResponse(resourceGroupName, mobileNetworkName, dataNetworkName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public DataNetwork refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getDataNetworks()
+ .getWithResponse(resourceGroupName, mobileNetworkName, dataNetworkName, context)
+ .getValue();
+ return this;
+ }
+
+ public DataNetworkImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public DataNetworkImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public DataNetworkImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateParameters.withTags(tags);
+ return this;
+ }
+ }
+
+ public DataNetworkImpl withDescription(String description) {
+ this.innerModel().withDescription(description);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworksClientImpl.java b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworksClientImpl.java
new file mode 100644
index 000000000000..1489a96acb2c
--- /dev/null
+++ b/sdk/mobilenetwork/azure-resourcemanager-mobilenetwork/src/main/java/com/azure/resourcemanager/mobilenetwork/implementation/DataNetworksClientImpl.java
@@ -0,0 +1,1353 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.mobilenetwork.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.mobilenetwork.fluent.DataNetworksClient;
+import com.azure.resourcemanager.mobilenetwork.fluent.models.DataNetworkInner;
+import com.azure.resourcemanager.mobilenetwork.models.DataNetworkListResult;
+import com.azure.resourcemanager.mobilenetwork.models.TagsObject;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in DataNetworksClient. */
+public final class DataNetworksClientImpl implements DataNetworksClient {
+ private final ClientLogger logger = new ClientLogger(DataNetworksClientImpl.class);
+
+ /** The proxy service used to perform REST calls. */
+ private final DataNetworksService service;
+
+ /** The service client containing this operation class. */
+ private final MobileNetworkManagementClientImpl client;
+
+ /**
+ * Initializes an instance of DataNetworksClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ DataNetworksClientImpl(MobileNetworkManagementClientImpl client) {
+ this.service =
+ RestProxy.create(DataNetworksService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for MobileNetworkManagementClientDataNetworks to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "MobileNetworkManagem")
+ private interface DataNetworksService {
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("mobileNetworkName") String mobileNetworkName,
+ @PathParam("dataNetworkName") String dataNetworkName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("mobileNetworkName") String mobileNetworkName,
+ @PathParam("dataNetworkName") String dataNetworkName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("mobileNetworkName") String mobileNetworkName,
+ @PathParam("dataNetworkName") String dataNetworkName,
+ @BodyParam("application/json") DataNetworkInner parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> updateTags(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("mobileNetworkName") String mobileNetworkName,
+ @PathParam("dataNetworkName") String dataNetworkName,
+ @BodyParam("application/json") TagsObject parameters,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork"
+ + "/mobileNetworks/{mobileNetworkName}/dataNetworks")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByMobileNetwork(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("mobileNetworkName") String mobileNetworkName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByMobileNetworkNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (mobileNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter mobileNetworkName is required and cannot be null."));
+ }
+ if (dataNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataNetworkName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ mobileNetworkName,
+ dataNetworkName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (mobileNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter mobileNetworkName is required and cannot be null."));
+ }
+ if (dataNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataNetworkName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ mobileNetworkName,
+ dataNetworkName,
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, mobileNetworkName, dataNetworkName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, mobileNetworkName, dataNetworkName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ return beginDeleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName).getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context) {
+ return beginDeleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ return beginDeleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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 {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context) {
+ return beginDeleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ deleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName).block();
+ }
+
+ /**
+ * Deletes the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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)
+ public void delete(String resourceGroupName, String mobileNetworkName, String dataNetworkName, Context context) {
+ deleteAsync(resourceGroupName, mobileNetworkName, dataNetworkName, context).block();
+ }
+
+ /**
+ * Gets information about the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network dataNetwork along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String mobileNetworkName, String dataNetworkName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (mobileNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter mobileNetworkName is required and cannot be null."));
+ }
+ if (dataNetworkName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter dataNetworkName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ mobileNetworkName,
+ dataNetworkName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets information about the specified mobile network dataNetwork.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param mobileNetworkName The name of the mobile network.
+ * @param dataNetworkName The name of the mobile network dataNetwork.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about the specified mobile network dataNetwork along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono