diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index e87862c74dc6..3af2315ec3ac 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -340,6 +340,7 @@ com.azure.resourcemanager:azure-resourcemanager-servicelinker;1.0.0-beta.1;1.0.0
com.azure.resourcemanager:azure-resourcemanager-appcontainers;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-scvmm;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-hardwaresecuritymodules;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-dynatrace;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
com.azure.tools:azure-sdk-build-tool;1.0.0-beta.1;1.0.0-beta.2
diff --git a/pom.xml b/pom.xml
index b1f52a5607a6..7018e227300d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -893,6 +893,7 @@
sdk/devtestlabssdk/digitaltwinssdk/dnsresolver
+ sdk/dynatracesdk/edgeordersdk/elasticsdk/eventgrid
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/CHANGELOG.md b/sdk/dynatrace/azure-resourcemanager-dynatrace/CHANGELOG.md
new file mode 100644
index 000000000000..b1ea89cd5c5e
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2022-05-10)
+
+- Azure Resource Manager Dynatrace client library for Java. This package contains Microsoft Azure SDK for Dynatrace Management SDK. Package tag package-2021-09-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/dynatrace/azure-resourcemanager-dynatrace/README.md b/sdk/dynatrace/azure-resourcemanager-dynatrace/README.md
new file mode 100644
index 000000000000..e39a9b8b469d
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager Dynatrace client library for Java
+
+Azure Resource Manager Dynatrace client library for Java.
+
+This package contains Microsoft Azure SDK for Dynatrace Management SDK. Package tag package-2021-09-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-dynatrace;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-dynatrace
+ 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();
+DynatraceManager manager = DynatraceManager
+ .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/dynatrace/azure-resourcemanager-dynatrace/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/dynatrace/azure-resourcemanager-dynatrace/SAMPLE.md b/sdk/dynatrace/azure-resourcemanager-dynatrace/SAMPLE.md
new file mode 100644
index 000000000000..cd99711eb420
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/SAMPLE.md
@@ -0,0 +1,1001 @@
+# Code snippets and samples
+
+
+## Monitors
+
+- [CreateOrUpdate](#monitors_createorupdate)
+- [Delete](#monitors_delete)
+- [GetAccountCredentials](#monitors_getaccountcredentials)
+- [GetByResourceGroup](#monitors_getbyresourcegroup)
+- [GetSsoDetails](#monitors_getssodetails)
+- [GetVMHostPayload](#monitors_getvmhostpayload)
+- [List](#monitors_list)
+- [ListAppServices](#monitors_listappservices)
+- [ListByResourceGroup](#monitors_listbyresourcegroup)
+- [ListHosts](#monitors_listhosts)
+- [ListLinkableEnvironments](#monitors_listlinkableenvironments)
+- [ListMonitoredResources](#monitors_listmonitoredresources)
+- [Update](#monitors_update)
+
+## Operations
+
+- [List](#operations_list)
+
+## SingleSignOn
+
+- [CreateOrUpdate](#singlesignon_createorupdate)
+- [Get](#singlesignon_get)
+- [List](#singlesignon_list)
+
+## TagRules
+
+- [CreateOrUpdate](#tagrules_createorupdate)
+- [Delete](#tagrules_delete)
+- [Get](#tagrules_get)
+- [List](#tagrules_list)
+- [Update](#tagrules_update)
+### Monitors_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.dynatrace.fluent.models.DynatraceSingleSignOnProperties;
+import com.azure.resourcemanager.dynatrace.models.AccountInfo;
+import com.azure.resourcemanager.dynatrace.models.DynatraceEnvironmentProperties;
+import com.azure.resourcemanager.dynatrace.models.EnvironmentInfo;
+import com.azure.resourcemanager.dynatrace.models.IdentityProperties;
+import com.azure.resourcemanager.dynatrace.models.ManagedIdentityType;
+import com.azure.resourcemanager.dynatrace.models.MarketplaceSubscriptionStatus;
+import com.azure.resourcemanager.dynatrace.models.MonitoringStatus;
+import com.azure.resourcemanager.dynatrace.models.PlanData;
+import com.azure.resourcemanager.dynatrace.models.UserInfo;
+import java.time.OffsetDateTime;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Monitors CreateOrUpdate. */
+public final class MonitorsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_CreateOrUpdate_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_CreateOrUpdate_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsCreateOrUpdateMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .define("myMonitor")
+ .withRegion("West US 2")
+ .withExistingResourceGroup("myResourceGroup")
+ .withTags(mapOf("Environment", "Dev"))
+ .withIdentity(new IdentityProperties().withType(ManagedIdentityType.SYSTEM_ASSIGNED))
+ .withMonitoringStatus(MonitoringStatus.ENABLED)
+ .withMarketplaceSubscriptionStatus(MarketplaceSubscriptionStatus.ACTIVE)
+ .withDynatraceEnvironmentProperties(
+ new DynatraceEnvironmentProperties()
+ .withAccountInfo(new AccountInfo())
+ .withEnvironmentInfo(new EnvironmentInfo())
+ .withSingleSignOnProperties(new DynatraceSingleSignOnProperties()))
+ .withUserInfo(
+ new UserInfo()
+ .withFirstName("Alice")
+ .withLastName("Bobab")
+ .withEmailAddress("alice@microsoft.com")
+ .withPhoneNumber("123456")
+ .withCountry("westus2"))
+ .withPlanData(
+ new PlanData()
+ .withUsageType("Committed")
+ .withBillingCycle("Monthly")
+ .withPlanDetails("dynatraceapitestplan")
+ .withEffectiveDate(OffsetDateTime.parse("2019-08-30T15:14:33+02:00")))
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_CreateOrUpdate_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_CreateOrUpdate_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsCreateOrUpdateMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .define("myMonitor")
+ .withRegion("West US 2")
+ .withExistingResourceGroup("myResourceGroup")
+ .create();
+ }
+
+ @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;
+ }
+}
+```
+
+### Monitors_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors Delete. */
+public final class MonitorsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Delete_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Delete_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsDeleteMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().delete("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Delete_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsDeleteMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().delete("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_GetAccountCredentials
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors GetAccountCredentials. */
+public final class MonitorsGetAccountCredentialsSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetAccountCredentials_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetAccountCredentials_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetAccountCredentialsMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getAccountCredentialsWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetAccountCredentials_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetAccountCredentials_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetAccountCredentialsMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getAccountCredentialsWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors GetByResourceGroup. */
+public final class MonitorsGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Get_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Get_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getByResourceGroupWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Get_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getByResourceGroupWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_GetSsoDetails
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.dynatrace.models.SsoDetailsRequest;
+
+/** Samples for Monitors GetSsoDetails. */
+public final class MonitorsGetSsoDetailsSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetSSODetails_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetSSODetails_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetSSODetailsMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .getSsoDetailsWithResponse(
+ "myResourceGroup",
+ "myMonitor",
+ new SsoDetailsRequest().withUserPrincipal("alice@microsoft.com"),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetSSODetails_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetSSODetails_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetSSODetailsMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .getSsoDetailsWithResponse("myResourceGroup", "myMonitor", new SsoDetailsRequest(), Context.NONE);
+ }
+}
+```
+
+### Monitors_GetVMHostPayload
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors GetVMHostPayload. */
+public final class MonitorsGetVMHostPayloadSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetVMHostPayload_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetVMHostPayload_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetVMHostPayloadMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getVMHostPayloadWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_GetVMHostPayload_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_GetVMHostPayload_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsGetVMHostPayloadMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().getVMHostPayloadWithResponse("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors List. */
+public final class MonitorsListSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListBySubscriptionId_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListBySubscriptionId_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListBySubscriptionIdMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().list(Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListBySubscriptionId_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListBySubscriptionId_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListBySubscriptionIdMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().list(Context.NONE);
+ }
+}
+```
+
+### Monitors_ListAppServices
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors ListAppServices. */
+public final class MonitorsListAppServicesSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListAppServices_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListAppServices_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListAppServicesMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listAppServices("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListAppServices_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListAppServices_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListAppServicesMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listAppServices("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors ListByResourceGroup. */
+public final class MonitorsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListByResourceGroup_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListByResourceGroup_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListByResourceGroupMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listByResourceGroup("myResourceGroup", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListByResourceGroup_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListByResourceGroup_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListByResourceGroupMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listByResourceGroup("myResourceGroup", Context.NONE);
+ }
+}
+```
+
+### Monitors_ListHosts
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors ListHosts. */
+public final class MonitorsListHostsSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListHosts_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListHosts_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListHostsMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listHosts("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListHosts_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListHosts_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListHostsMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listHosts("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_ListLinkableEnvironments
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.dynatrace.models.LinkableEnvironmentRequest;
+
+/** Samples for Monitors ListLinkableEnvironments. */
+public final class MonitorsListLinkableEnvironmentsSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListLinkableEnvironments_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListLinkableEnvironments_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListLinkableEnvironmentsMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .listLinkableEnvironments("myResourceGroup", "myMonitor", new LinkableEnvironmentRequest(), Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListLinkableEnvironments_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListLinkableEnvironments_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListLinkableEnvironmentsMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .monitors()
+ .listLinkableEnvironments(
+ "myResourceGroup",
+ "myMonitor",
+ new LinkableEnvironmentRequest()
+ .withTenantId("00000000-0000-0000-0000-000000000000")
+ .withUserPrincipal("alice@microsoft.com")
+ .withRegion("East US"),
+ Context.NONE);
+ }
+}
+```
+
+### Monitors_ListMonitoredResources
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Monitors ListMonitoredResources. */
+public final class MonitorsListMonitoredResourcesSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListMonitoredResources_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListMonitoredResources_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListMonitoredResourcesMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listMonitoredResources("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_ListMonitoredResources_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_ListMonitoredResources_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsListMonitoredResourcesMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.monitors().listMonitoredResources("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### Monitors_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.dynatrace.fluent.models.DynatraceSingleSignOnProperties;
+import com.azure.resourcemanager.dynatrace.models.AccountInfo;
+import com.azure.resourcemanager.dynatrace.models.DynatraceEnvironmentProperties;
+import com.azure.resourcemanager.dynatrace.models.EnvironmentInfo;
+import com.azure.resourcemanager.dynatrace.models.MarketplaceSubscriptionStatus;
+import com.azure.resourcemanager.dynatrace.models.MonitorResource;
+import com.azure.resourcemanager.dynatrace.models.MonitoringStatus;
+import com.azure.resourcemanager.dynatrace.models.PlanData;
+import com.azure.resourcemanager.dynatrace.models.UserInfo;
+import java.time.OffsetDateTime;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for Monitors Update. */
+public final class MonitorsUpdateSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Update_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Update_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsUpdateMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ MonitorResource resource =
+ manager.monitors().getByResourceGroupWithResponse("myResourceGroup", "myMonitor", Context.NONE).getValue();
+ resource.update().apply();
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Monitors_Update_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Monitors_Update_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void monitorsUpdateMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ MonitorResource resource =
+ manager.monitors().getByResourceGroupWithResponse("myResourceGroup", "myMonitor", Context.NONE).getValue();
+ resource
+ .update()
+ .withTags(mapOf("Environment", "Dev"))
+ .withMonitoringStatus(MonitoringStatus.ENABLED)
+ .withMarketplaceSubscriptionStatus(MarketplaceSubscriptionStatus.ACTIVE)
+ .withDynatraceEnvironmentProperties(
+ new DynatraceEnvironmentProperties()
+ .withAccountInfo(new AccountInfo())
+ .withEnvironmentInfo(new EnvironmentInfo())
+ .withSingleSignOnProperties(new DynatraceSingleSignOnProperties()))
+ .withUserInfo(
+ new UserInfo()
+ .withFirstName("Alice")
+ .withLastName("Bobab")
+ .withEmailAddress("alice@microsoft.com")
+ .withPhoneNumber("123456")
+ .withCountry("westus2"))
+ .withPlanData(
+ new PlanData()
+ .withUsageType("Committed")
+ .withBillingCycle("Monthly")
+ .withPlanDetails("dynatraceapitestplan")
+ .withEffectiveDate(OffsetDateTime.parse("2019-08-30T15:14:33+02:00")))
+ .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/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Operations_List_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: Operations_List_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void operationsListMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/Operations_List_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: Operations_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void operationsListMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+}
+```
+
+### SingleSignOn_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.dynatrace.models.SingleSignOnStates;
+import java.util.Arrays;
+
+/** Samples for SingleSignOn CreateOrUpdate. */
+public final class SingleSignOnCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_CreateOrUpdate_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_CreateOrUpdate_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnCreateOrUpdateMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .singleSignOns()
+ .define("default")
+ .withExistingMonitor("myResourceGroup", "myMonitor")
+ .withSingleSignOnState(SingleSignOnStates.ENABLE)
+ .withEnterpriseAppId("00000000-0000-0000-0000-000000000000")
+ .withSingleSignOnUrl("https://www.dynatrace.io")
+ .withAadDomains(Arrays.asList("mpliftrdt20210811outlook.onmicrosoft.com"))
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_CreateOrUpdate_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_CreateOrUpdate_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnCreateOrUpdateMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .singleSignOns()
+ .define("default")
+ .withExistingMonitor("myResourceGroup", "myMonitor")
+ .withSingleSignOnUrl("https://www.dynatrace.io")
+ .withAadDomains(Arrays.asList("mpliftrdt20210811outlook.onmicrosoft.com"))
+ .create();
+ }
+}
+```
+
+### SingleSignOn_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SingleSignOn Get. */
+public final class SingleSignOnGetSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_Get_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_Get_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnGetMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.singleSignOns().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_Get_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnGetMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.singleSignOns().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+}
+```
+
+### SingleSignOn_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for SingleSignOn List. */
+public final class SingleSignOnListSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_List_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnListMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.singleSignOns().list("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/SingleSignOn_List_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: SingleSignOn_List_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void singleSignOnListMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.singleSignOns().list("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### TagRules_CreateOrUpdate
+
+```java
+import com.azure.resourcemanager.dynatrace.models.FilteringTag;
+import com.azure.resourcemanager.dynatrace.models.LogRules;
+import com.azure.resourcemanager.dynatrace.models.MetricRules;
+import com.azure.resourcemanager.dynatrace.models.SendAadLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.SendActivityLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.SendSubscriptionLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.TagAction;
+import java.util.Arrays;
+
+/** Samples for TagRules CreateOrUpdate. */
+public final class TagRulesCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_CreateOrUpdate_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_CreateOrUpdate_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesCreateOrUpdateMaximumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager
+ .tagRules()
+ .define("default")
+ .withExistingMonitor("myResourceGroup", "myMonitor")
+ .withLogRules(
+ new LogRules()
+ .withSendAadLogs(SendAadLogsStatus.ENABLED)
+ .withSendSubscriptionLogs(SendSubscriptionLogsStatus.ENABLED)
+ .withSendActivityLogs(SendActivityLogsStatus.ENABLED)
+ .withFilteringTags(
+ Arrays
+ .asList(
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Prod")
+ .withAction(TagAction.INCLUDE),
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Dev")
+ .withAction(TagAction.EXCLUDE))))
+ .withMetricRules(
+ new MetricRules()
+ .withFilteringTags(
+ Arrays
+ .asList(
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Prod")
+ .withAction(TagAction.INCLUDE))))
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_CreateOrUpdate_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_CreateOrUpdate_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesCreateOrUpdateMinimumSetGen(
+ com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().define("default").withExistingMonitor("myResourceGroup", "myMonitor").create();
+ }
+}
+```
+
+### TagRules_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for TagRules Delete. */
+public final class TagRulesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Delete_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Delete_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesDeleteMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().delete("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Delete_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Delete_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesDeleteMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().delete("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+}
+```
+
+### TagRules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for TagRules Get. */
+public final class TagRulesGetSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Get_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Get_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesGetMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Get_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Get_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesGetMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE);
+ }
+}
+```
+
+### TagRules_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for TagRules List. */
+public final class TagRulesListSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_List_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_List_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesListMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().list("myResourceGroup", "myMonitor", Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_List_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_List_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesListMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ manager.tagRules().list("myResourceGroup", "myMonitor", Context.NONE);
+ }
+}
+```
+
+### TagRules_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.dynatrace.models.FilteringTag;
+import com.azure.resourcemanager.dynatrace.models.LogRules;
+import com.azure.resourcemanager.dynatrace.models.MetricRules;
+import com.azure.resourcemanager.dynatrace.models.SendAadLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.SendActivityLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.SendSubscriptionLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.TagAction;
+import com.azure.resourcemanager.dynatrace.models.TagRule;
+import java.util.Arrays;
+
+/** Samples for TagRules Update. */
+public final class TagRulesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Update_MaximumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Update_MaximumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesUpdateMaximumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ TagRule resource =
+ manager.tagRules().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE).getValue();
+ resource
+ .update()
+ .withLogRules(
+ new LogRules()
+ .withSendAadLogs(SendAadLogsStatus.ENABLED)
+ .withSendSubscriptionLogs(SendSubscriptionLogsStatus.ENABLED)
+ .withSendActivityLogs(SendActivityLogsStatus.ENABLED)
+ .withFilteringTags(
+ Arrays
+ .asList(
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Prod")
+ .withAction(TagAction.INCLUDE),
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Dev")
+ .withAction(TagAction.EXCLUDE))))
+ .withMetricRules(
+ new MetricRules()
+ .withFilteringTags(
+ Arrays
+ .asList(
+ new FilteringTag()
+ .withName("Environment")
+ .withValue("Prod")
+ .withAction(TagAction.INCLUDE))))
+ .apply();
+ }
+
+ /*
+ * x-ms-original-file: specification/dynatrace/resource-manager/Dynatrace.Observability/preview/2021-09-01-preview/examples/TagRules_Update_MinimumSet_Gen.json
+ */
+ /**
+ * Sample code: TagRules_Update_MinimumSet_Gen.
+ *
+ * @param manager Entry point to DynatraceManager.
+ */
+ public static void tagRulesUpdateMinimumSetGen(com.azure.resourcemanager.dynatrace.DynatraceManager manager) {
+ TagRule resource =
+ manager.tagRules().getWithResponse("myResourceGroup", "myMonitor", "default", Context.NONE).getValue();
+ resource.update().apply();
+ }
+}
+```
+
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/pom.xml b/sdk/dynatrace/azure-resourcemanager-dynatrace/pom.xml
new file mode 100644
index 000000000000..e7b6d83d40b3
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/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-dynatrace
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Dynatrace Management
+ This package contains Microsoft Azure SDK for Dynatrace Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Package tag package-2021-09-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.28.0
+
+
+ com.azure
+ azure-core-management
+ 1.6.0
+
+
+
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/DynatraceManager.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/DynatraceManager.java
new file mode 100644
index 000000000000..4a3d5af8d86a
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/DynatraceManager.java
@@ -0,0 +1,330 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace;
+
+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.AddHeadersFromContextPolicy;
+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.RetryOptions;
+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.dynatrace.fluent.DynatraceObservability;
+import com.azure.resourcemanager.dynatrace.implementation.DynatraceObservabilityBuilder;
+import com.azure.resourcemanager.dynatrace.implementation.MonitorsImpl;
+import com.azure.resourcemanager.dynatrace.implementation.OperationsImpl;
+import com.azure.resourcemanager.dynatrace.implementation.SingleSignOnsImpl;
+import com.azure.resourcemanager.dynatrace.implementation.TagRulesImpl;
+import com.azure.resourcemanager.dynatrace.models.Monitors;
+import com.azure.resourcemanager.dynatrace.models.Operations;
+import com.azure.resourcemanager.dynatrace.models.SingleSignOns;
+import com.azure.resourcemanager.dynatrace.models.TagRules;
+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 DynatraceManager. */
+public final class DynatraceManager {
+ private Monitors monitors;
+
+ private Operations operations;
+
+ private TagRules tagRules;
+
+ private SingleSignOns singleSignOns;
+
+ private final DynatraceObservability clientObject;
+
+ private DynatraceManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new DynatraceObservabilityBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Dynatrace service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Dynatrace service API instance.
+ */
+ public static DynatraceManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Creates an instance of Dynatrace service API entry point.
+ *
+ * @param httpPipeline the {@link HttpPipeline} configured with Azure authentication credential.
+ * @param profile the Azure profile for client.
+ * @return the Dynatrace service API instance.
+ */
+ public static DynatraceManager authenticate(HttpPipeline httpPipeline, AzureProfile profile) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return new DynatraceManager(httpPipeline, profile, null);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create DynatraceManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new DynatraceManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private static 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 RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ *
This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Dynatrace service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Dynatrace service API instance.
+ */
+ public DynatraceManager 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.dynatrace")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new DynatraceManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Monitors.
+ *
+ * @return Resource collection API of Monitors.
+ */
+ public Monitors monitors() {
+ if (this.monitors == null) {
+ this.monitors = new MonitorsImpl(clientObject.getMonitors(), this);
+ }
+ return monitors;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of TagRules.
+ *
+ * @return Resource collection API of TagRules.
+ */
+ public TagRules tagRules() {
+ if (this.tagRules == null) {
+ this.tagRules = new TagRulesImpl(clientObject.getTagRules(), this);
+ }
+ return tagRules;
+ }
+
+ /**
+ * Gets the resource collection API of SingleSignOns.
+ *
+ * @return Resource collection API of SingleSignOns.
+ */
+ public SingleSignOns singleSignOns() {
+ if (this.singleSignOns == null) {
+ this.singleSignOns = new SingleSignOnsImpl(clientObject.getSingleSignOns(), this);
+ }
+ return singleSignOns;
+ }
+
+ /**
+ * @return Wrapped service client DynatraceObservability providing direct access to the underlying auto-generated
+ * API implementation, based on Azure REST API.
+ */
+ public DynatraceObservability serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/DynatraceObservability.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/DynatraceObservability.java
new file mode 100644
index 000000000000..4e03dd3edbd7
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/DynatraceObservability.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for DynatraceObservability class. */
+public interface DynatraceObservability {
+ /**
+ * 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 MonitorsClient object to access its operations.
+ *
+ * @return the MonitorsClient object.
+ */
+ MonitorsClient getMonitors();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the TagRulesClient object to access its operations.
+ *
+ * @return the TagRulesClient object.
+ */
+ TagRulesClient getTagRules();
+
+ /**
+ * Gets the SingleSignOnsClient object to access its operations.
+ *
+ * @return the SingleSignOnsClient object.
+ */
+ SingleSignOnsClient getSingleSignOns();
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/MonitorsClient.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/MonitorsClient.java
new file mode 100644
index 000000000000..6e387d3251c6
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/MonitorsClient.java
@@ -0,0 +1,449 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.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.dynatrace.fluent.models.AccountInfoSecureInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.AppServiceInfoInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.LinkableEnvironmentResponseInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.MonitorResourceInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.MonitoredResourceInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.SsoDetailsResponseInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.VMExtensionPayloadInner;
+import com.azure.resourcemanager.dynatrace.fluent.models.VMInfoInner;
+import com.azure.resourcemanager.dynatrace.models.LinkableEnvironmentRequest;
+import com.azure.resourcemanager.dynatrace.models.MonitorResourceUpdate;
+import com.azure.resourcemanager.dynatrace.models.SsoDetailsRequest;
+
+/** An instance of this class provides access to all the operations defined in MonitorsClient. */
+public interface MonitorsClient {
+ /**
+ * Gets the user account credentials for a Monitor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the user account credentials for a Monitor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccountInfoSecureInner getAccountCredentials(String resourceGroupName, String monitorName);
+
+ /**
+ * Gets the user account credentials for a Monitor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the user account credentials for a Monitor along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAccountCredentialsWithResponse(
+ String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * List the resources currently being monitored by the Dynatrace monitor resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the resources being monitored by Dynatrace monitor resource as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMonitoredResources(String resourceGroupName, String monitorName);
+
+ /**
+ * List the resources currently being monitored by the Dynatrace monitor resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of all the resources being monitored by Dynatrace monitor resource as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMonitoredResources(
+ String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * Returns the payload that needs to be passed in the request body for installing Dynatrace agent on a VM.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 of payload to be passed while installing VM agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VMExtensionPayloadInner getVMHostPayload(String resourceGroupName, String monitorName);
+
+ /**
+ * Returns the payload that needs to be passed in the request body for installing Dynatrace agent on a VM.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 of payload to be passed while installing VM agent along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getVMHostPayloadWithResponse(
+ String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * Get a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 MonitorResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MonitorResourceInner getByResourceGroup(String resourceGroupName, String monitorName);
+
+ /**
+ * Get a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 MonitorResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * Create a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 dynatrace Monitor Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MonitorResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String monitorName, MonitorResourceInner resource);
+
+ /**
+ * Create a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 dynatrace Monitor Resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, MonitorResourceInner> beginCreateOrUpdate(
+ String resourceGroupName, String monitorName, MonitorResourceInner resource, Context context);
+
+ /**
+ * Create a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dynatrace Monitor Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MonitorResourceInner createOrUpdate(String resourceGroupName, String monitorName, MonitorResourceInner resource);
+
+ /**
+ * Create a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dynatrace Monitor Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MonitorResourceInner createOrUpdate(
+ String resourceGroupName, String monitorName, MonitorResourceInner resource, Context context);
+
+ /**
+ * Update a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dynatrace Monitor Resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ MonitorResourceInner update(String resourceGroupName, String monitorName, MonitorResourceUpdate resource);
+
+ /**
+ * Update a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param resource The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return dynatrace Monitor Resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String monitorName, MonitorResourceUpdate resource, Context context);
+
+ /**
+ * Delete a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 monitorName);
+
+ /**
+ * Delete a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 monitorName, Context context);
+
+ /**
+ * Delete a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 monitorName);
+
+ /**
+ * Delete a MonitorResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 monitorName, Context context);
+
+ /**
+ * List all MonitorResource by subscriptionId.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a MonitorResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List all MonitorResource by subscriptionId.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a MonitorResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List MonitorResource resources by 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 the response of a MonitorResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List MonitorResource resources by 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 the response of a MonitorResource list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List the compute resources currently being monitored by the Dynatrace resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 of a list VM Host Operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listHosts(String resourceGroupName, String monitorName);
+
+ /**
+ * List the compute resources currently being monitored by the Dynatrace resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 of a list VM Host Operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listHosts(String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * Gets list of App Services with Dynatrace PaaS OneAgent enabled.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of App Services with Dynatrace PaaS OneAgent enabled as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAppServices(String resourceGroupName, String monitorName);
+
+ /**
+ * Gets list of App Services with Dynatrace PaaS OneAgent enabled.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of App Services with Dynatrace PaaS OneAgent enabled as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAppServices(String resourceGroupName, String monitorName, Context context);
+
+ /**
+ * Gets the SSO configuration details from the partner.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the SSO configuration details from the partner.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SsoDetailsResponseInner getSsoDetails(String resourceGroupName, String monitorName);
+
+ /**
+ * Gets the SSO configuration details from the partner.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param request The details of the get sso details request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the SSO configuration details from the partner along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getSsoDetailsWithResponse(
+ String resourceGroupName, String monitorName, SsoDetailsRequest request, Context context);
+
+ /**
+ * Gets all the Dynatrace environments that a user can link a azure resource to.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param request The details of the linkable environment request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Dynatrace environments that a user can link a azure resource to as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listLinkableEnvironments(
+ String resourceGroupName, String monitorName, LinkableEnvironmentRequest request);
+
+ /**
+ * Gets all the Dynatrace environments that a user can link a azure resource to.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param request The details of the linkable environment request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 Dynatrace environments that a user can link a azure resource to as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listLinkableEnvironments(
+ String resourceGroupName, String monitorName, LinkableEnvironmentRequest request, Context context);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/OperationsClient.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/OperationsClient.java
new file mode 100644
index 000000000000..f6fa59626caa
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.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.dynatrace.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * List the operations for Dynatrace.Observability.
+ *
+ * @throws com.azure.core.management.exception.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 REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for Dynatrace.Observability.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/SingleSignOnsClient.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/SingleSignOnsClient.java
new file mode 100644
index 000000000000..cd47fc356d53
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/SingleSignOnsClient.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.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.dynatrace.fluent.models.DynatraceSingleSignOnResourceInner;
+
+/** An instance of this class provides access to all the operations defined in SingleSignOnsClient. */
+public interface SingleSignOnsClient {
+ /**
+ * Create a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 single sign-on configurations for a given monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DynatraceSingleSignOnResourceInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String monitorName,
+ String configurationName,
+ DynatraceSingleSignOnResourceInner resource);
+
+ /**
+ * Create a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 single sign-on configurations for a given monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DynatraceSingleSignOnResourceInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String monitorName,
+ String configurationName,
+ DynatraceSingleSignOnResourceInner resource,
+ Context context);
+
+ /**
+ * Create a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single sign-on configurations for a given monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DynatraceSingleSignOnResourceInner createOrUpdate(
+ String resourceGroupName,
+ String monitorName,
+ String configurationName,
+ DynatraceSingleSignOnResourceInner resource);
+
+ /**
+ * Create a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single sign-on configurations for a given monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DynatraceSingleSignOnResourceInner createOrUpdate(
+ String resourceGroupName,
+ String monitorName,
+ String configurationName,
+ DynatraceSingleSignOnResourceInner resource,
+ Context context);
+
+ /**
+ * Get a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DynatraceSingleSignOnResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DynatraceSingleSignOnResourceInner get(String resourceGroupName, String monitorName, String configurationName);
+
+ /**
+ * Get a DynatraceSingleSignOnResource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param configurationName Single Sign On Configuration Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DynatraceSingleSignOnResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String monitorName, String configurationName, Context context);
+
+ /**
+ * List all DynatraceSingleSignOnResource by monitorName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a DynatraceSingleSignOnResource list operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String monitorName);
+
+ /**
+ * List all DynatraceSingleSignOnResource by monitorName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a DynatraceSingleSignOnResource list operation as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String monitorName, Context context);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/TagRulesClient.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/TagRulesClient.java
new file mode 100644
index 000000000000..908816df9140
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/TagRulesClient.java
@@ -0,0 +1,230 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.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.dynatrace.fluent.models.TagRuleInner;
+import com.azure.resourcemanager.dynatrace.models.TagRuleUpdate;
+
+/** An instance of this class provides access to all the operations defined in TagRulesClient. */
+public interface TagRulesClient {
+ /**
+ * Get a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 TagRule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TagRuleInner get(String resourceGroupName, String monitorName, String ruleSetName);
+
+ /**
+ * Get a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 TagRule along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String monitorName, String ruleSetName, Context context);
+
+ /**
+ * Create a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 tag rules for a monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TagRuleInner> beginCreateOrUpdate(
+ String resourceGroupName, String monitorName, String ruleSetName, TagRuleInner resource);
+
+ /**
+ * Create a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 tag rules for a monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, TagRuleInner> beginCreateOrUpdate(
+ String resourceGroupName, String monitorName, String ruleSetName, TagRuleInner resource, Context context);
+
+ /**
+ * Create a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return tag rules for a monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TagRuleInner createOrUpdate(
+ String resourceGroupName, String monitorName, String ruleSetName, TagRuleInner resource);
+
+ /**
+ * Create a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return tag rules for a monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TagRuleInner createOrUpdate(
+ String resourceGroupName, String monitorName, String ruleSetName, TagRuleInner resource, Context context);
+
+ /**
+ * Update a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return tag rules for a monitor resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TagRuleInner update(String resourceGroupName, String monitorName, String ruleSetName, TagRuleUpdate resource);
+
+ /**
+ * Update a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param resource The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return tag rules for a monitor resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName, String monitorName, String ruleSetName, TagRuleUpdate resource, Context context);
+
+ /**
+ * Delete a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 monitorName, String ruleSetName);
+
+ /**
+ * Delete a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 monitorName, String ruleSetName, Context context);
+
+ /**
+ * Delete a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 monitorName, String ruleSetName);
+
+ /**
+ * Delete a TagRule.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param ruleSetName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 monitorName, String ruleSetName, Context context);
+
+ /**
+ * List all TagRule by monitorName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a TagRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String monitorName);
+
+ /**
+ * List all TagRule by monitorName.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param monitorName Monitor resource name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a TagRule list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String monitorName, Context context);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AccountInfoSecureInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AccountInfoSecureInner.java
new file mode 100644
index 000000000000..a9473873c66d
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AccountInfoSecureInner.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Dynatrace account API Key. */
+@Immutable
+public final class AccountInfoSecureInner {
+ /*
+ * Account Id of the account this environment is linked to
+ */
+ @JsonProperty(value = "accountId", access = JsonProperty.Access.WRITE_ONLY)
+ private String accountId;
+
+ /*
+ * API Key of the user account
+ */
+ @JsonProperty(value = "apiKey", access = JsonProperty.Access.WRITE_ONLY)
+ private String apiKey;
+
+ /*
+ * Region in which the account is created
+ */
+ @JsonProperty(value = "regionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String regionId;
+
+ /**
+ * Get the accountId property: Account Id of the account this environment is linked to.
+ *
+ * @return the accountId value.
+ */
+ public String accountId() {
+ return this.accountId;
+ }
+
+ /**
+ * Get the apiKey property: API Key of the user account.
+ *
+ * @return the apiKey value.
+ */
+ public String apiKey() {
+ return this.apiKey;
+ }
+
+ /**
+ * Get the regionId property: Region in which the account is created.
+ *
+ * @return the regionId value.
+ */
+ public String regionId() {
+ return this.regionId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AppServiceInfoInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AppServiceInfoInner.java
new file mode 100644
index 000000000000..3beba34e7a65
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/AppServiceInfoInner.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.AutoUpdateSetting;
+import com.azure.resourcemanager.dynatrace.models.AvailabilityState;
+import com.azure.resourcemanager.dynatrace.models.LogModule;
+import com.azure.resourcemanager.dynatrace.models.MonitoringType;
+import com.azure.resourcemanager.dynatrace.models.UpdateStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Details of App Services having Dynatrace OneAgent installed. */
+@Fluent
+public final class AppServiceInfoInner {
+ /*
+ * App service resource ID
+ */
+ @JsonProperty(value = "resourceId")
+ private String resourceId;
+
+ /*
+ * Version of the Dynatrace agent installed on the App Service.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * The monitoring mode of OneAgent
+ */
+ @JsonProperty(value = "monitoringType")
+ private MonitoringType monitoringType;
+
+ /*
+ * Update settings of OneAgent.
+ */
+ @JsonProperty(value = "autoUpdateSetting")
+ private AutoUpdateSetting autoUpdateSetting;
+
+ /*
+ * The current update status of OneAgent.
+ */
+ @JsonProperty(value = "updateStatus")
+ private UpdateStatus updateStatus;
+
+ /*
+ * The availability state of OneAgent.
+ */
+ @JsonProperty(value = "availabilityState")
+ private AvailabilityState availabilityState;
+
+ /*
+ * Tells whether log modules are enabled or not
+ */
+ @JsonProperty(value = "logModule")
+ private LogModule logModule;
+
+ /*
+ * The name of the host group
+ */
+ @JsonProperty(value = "hostGroup")
+ private String hostGroup;
+
+ /*
+ * The name of the host
+ */
+ @JsonProperty(value = "hostName")
+ private String hostname;
+
+ /**
+ * Get the resourceId property: App service resource ID.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the resourceId property: App service resource ID.
+ *
+ * @param resourceId the resourceId value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the version property: Version of the Dynatrace agent installed on the App Service.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: Version of the Dynatrace agent installed on the App Service.
+ *
+ * @param version the version value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the monitoringType property: The monitoring mode of OneAgent.
+ *
+ * @return the monitoringType value.
+ */
+ public MonitoringType monitoringType() {
+ return this.monitoringType;
+ }
+
+ /**
+ * Set the monitoringType property: The monitoring mode of OneAgent.
+ *
+ * @param monitoringType the monitoringType value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withMonitoringType(MonitoringType monitoringType) {
+ this.monitoringType = monitoringType;
+ return this;
+ }
+
+ /**
+ * Get the autoUpdateSetting property: Update settings of OneAgent.
+ *
+ * @return the autoUpdateSetting value.
+ */
+ public AutoUpdateSetting autoUpdateSetting() {
+ return this.autoUpdateSetting;
+ }
+
+ /**
+ * Set the autoUpdateSetting property: Update settings of OneAgent.
+ *
+ * @param autoUpdateSetting the autoUpdateSetting value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withAutoUpdateSetting(AutoUpdateSetting autoUpdateSetting) {
+ this.autoUpdateSetting = autoUpdateSetting;
+ return this;
+ }
+
+ /**
+ * Get the updateStatus property: The current update status of OneAgent.
+ *
+ * @return the updateStatus value.
+ */
+ public UpdateStatus updateStatus() {
+ return this.updateStatus;
+ }
+
+ /**
+ * Set the updateStatus property: The current update status of OneAgent.
+ *
+ * @param updateStatus the updateStatus value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withUpdateStatus(UpdateStatus updateStatus) {
+ this.updateStatus = updateStatus;
+ return this;
+ }
+
+ /**
+ * Get the availabilityState property: The availability state of OneAgent.
+ *
+ * @return the availabilityState value.
+ */
+ public AvailabilityState availabilityState() {
+ return this.availabilityState;
+ }
+
+ /**
+ * Set the availabilityState property: The availability state of OneAgent.
+ *
+ * @param availabilityState the availabilityState value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withAvailabilityState(AvailabilityState availabilityState) {
+ this.availabilityState = availabilityState;
+ return this;
+ }
+
+ /**
+ * Get the logModule property: Tells whether log modules are enabled or not.
+ *
+ * @return the logModule value.
+ */
+ public LogModule logModule() {
+ return this.logModule;
+ }
+
+ /**
+ * Set the logModule property: Tells whether log modules are enabled or not.
+ *
+ * @param logModule the logModule value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withLogModule(LogModule logModule) {
+ this.logModule = logModule;
+ return this;
+ }
+
+ /**
+ * Get the hostGroup property: The name of the host group.
+ *
+ * @return the hostGroup value.
+ */
+ public String hostGroup() {
+ return this.hostGroup;
+ }
+
+ /**
+ * Set the hostGroup property: The name of the host group.
+ *
+ * @param hostGroup the hostGroup value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withHostGroup(String hostGroup) {
+ this.hostGroup = hostGroup;
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The name of the host.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The name of the host.
+ *
+ * @param hostname the hostname value to set.
+ * @return the AppServiceInfoInner object itself.
+ */
+ public AppServiceInfoInner withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnProperties.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnProperties.java
new file mode 100644
index 000000000000..0a664acb3021
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnProperties.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.azure.resourcemanager.dynatrace.models.SingleSignOnStates;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The details of a Dynatrace single sign-on. */
+@Fluent
+public final class DynatraceSingleSignOnProperties {
+ /*
+ * State of Single Sign On
+ */
+ @JsonProperty(value = "singleSignOnState")
+ private SingleSignOnStates singleSignOnState;
+
+ /*
+ * Version of the Dynatrace agent installed on the VM.
+ */
+ @JsonProperty(value = "enterpriseAppId")
+ private String enterpriseAppId;
+
+ /*
+ * The login URL specific to this Dynatrace Environment
+ */
+ @JsonProperty(value = "singleSignOnUrl")
+ private String singleSignOnUrl;
+
+ /*
+ * array of Aad(azure active directory) domains
+ */
+ @JsonProperty(value = "aadDomains")
+ private List aadDomains;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Get the singleSignOnState property: State of Single Sign On.
+ *
+ * @return the singleSignOnState value.
+ */
+ public SingleSignOnStates singleSignOnState() {
+ return this.singleSignOnState;
+ }
+
+ /**
+ * Set the singleSignOnState property: State of Single Sign On.
+ *
+ * @param singleSignOnState the singleSignOnState value to set.
+ * @return the DynatraceSingleSignOnProperties object itself.
+ */
+ public DynatraceSingleSignOnProperties withSingleSignOnState(SingleSignOnStates singleSignOnState) {
+ this.singleSignOnState = singleSignOnState;
+ return this;
+ }
+
+ /**
+ * Get the enterpriseAppId property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @return the enterpriseAppId value.
+ */
+ public String enterpriseAppId() {
+ return this.enterpriseAppId;
+ }
+
+ /**
+ * Set the enterpriseAppId property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @param enterpriseAppId the enterpriseAppId value to set.
+ * @return the DynatraceSingleSignOnProperties object itself.
+ */
+ public DynatraceSingleSignOnProperties withEnterpriseAppId(String enterpriseAppId) {
+ this.enterpriseAppId = enterpriseAppId;
+ return this;
+ }
+
+ /**
+ * Get the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @return the singleSignOnUrl value.
+ */
+ public String singleSignOnUrl() {
+ return this.singleSignOnUrl;
+ }
+
+ /**
+ * Set the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @param singleSignOnUrl the singleSignOnUrl value to set.
+ * @return the DynatraceSingleSignOnProperties object itself.
+ */
+ public DynatraceSingleSignOnProperties withSingleSignOnUrl(String singleSignOnUrl) {
+ this.singleSignOnUrl = singleSignOnUrl;
+ return this;
+ }
+
+ /**
+ * Get the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @return the aadDomains value.
+ */
+ public List aadDomains() {
+ return this.aadDomains;
+ }
+
+ /**
+ * Set the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @param aadDomains the aadDomains value to set.
+ * @return the DynatraceSingleSignOnProperties object itself.
+ */
+ public DynatraceSingleSignOnProperties withAadDomains(List aadDomains) {
+ this.aadDomains = aadDomains;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnResourceInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnResourceInner.java
new file mode 100644
index 000000000000..3545720f75da
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/DynatraceSingleSignOnResourceInner.java
@@ -0,0 +1,167 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.azure.resourcemanager.dynatrace.models.SingleSignOnStates;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Single sign-on configurations for a given monitor resource. */
+@Fluent
+public final class DynatraceSingleSignOnResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private DynatraceSingleSignOnProperties innerProperties = new DynatraceSingleSignOnProperties();
+
+ /*
+ * System metadata for this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private DynatraceSingleSignOnProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: System metadata for this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the singleSignOnState property: State of Single Sign On.
+ *
+ * @return the singleSignOnState value.
+ */
+ public SingleSignOnStates singleSignOnState() {
+ return this.innerProperties() == null ? null : this.innerProperties().singleSignOnState();
+ }
+
+ /**
+ * Set the singleSignOnState property: State of Single Sign On.
+ *
+ * @param singleSignOnState the singleSignOnState value to set.
+ * @return the DynatraceSingleSignOnResourceInner object itself.
+ */
+ public DynatraceSingleSignOnResourceInner withSingleSignOnState(SingleSignOnStates singleSignOnState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DynatraceSingleSignOnProperties();
+ }
+ this.innerProperties().withSingleSignOnState(singleSignOnState);
+ return this;
+ }
+
+ /**
+ * Get the enterpriseAppId property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @return the enterpriseAppId value.
+ */
+ public String enterpriseAppId() {
+ return this.innerProperties() == null ? null : this.innerProperties().enterpriseAppId();
+ }
+
+ /**
+ * Set the enterpriseAppId property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @param enterpriseAppId the enterpriseAppId value to set.
+ * @return the DynatraceSingleSignOnResourceInner object itself.
+ */
+ public DynatraceSingleSignOnResourceInner withEnterpriseAppId(String enterpriseAppId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DynatraceSingleSignOnProperties();
+ }
+ this.innerProperties().withEnterpriseAppId(enterpriseAppId);
+ return this;
+ }
+
+ /**
+ * Get the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @return the singleSignOnUrl value.
+ */
+ public String singleSignOnUrl() {
+ return this.innerProperties() == null ? null : this.innerProperties().singleSignOnUrl();
+ }
+
+ /**
+ * Set the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @param singleSignOnUrl the singleSignOnUrl value to set.
+ * @return the DynatraceSingleSignOnResourceInner object itself.
+ */
+ public DynatraceSingleSignOnResourceInner withSingleSignOnUrl(String singleSignOnUrl) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DynatraceSingleSignOnProperties();
+ }
+ this.innerProperties().withSingleSignOnUrl(singleSignOnUrl);
+ return this;
+ }
+
+ /**
+ * Get the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @return the aadDomains value.
+ */
+ public List aadDomains() {
+ return this.innerProperties() == null ? null : this.innerProperties().aadDomains();
+ }
+
+ /**
+ * Set the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @param aadDomains the aadDomains value to set.
+ * @return the DynatraceSingleSignOnResourceInner object itself.
+ */
+ public DynatraceSingleSignOnResourceInner withAadDomains(List aadDomains) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DynatraceSingleSignOnProperties();
+ }
+ this.innerProperties().withAadDomains(aadDomains);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model DynatraceSingleSignOnResourceInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(DynatraceSingleSignOnResourceInner.class);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/LinkableEnvironmentResponseInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/LinkableEnvironmentResponseInner.java
new file mode 100644
index 000000000000..26c2d9fb2f54
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/LinkableEnvironmentResponseInner.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.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.PlanData;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Response for getting all the linkable environments. */
+@Fluent
+public final class LinkableEnvironmentResponseInner {
+ /*
+ * environment id for which user is an admin
+ */
+ @JsonProperty(value = "environmentId")
+ private String environmentId;
+
+ /*
+ * Name of the environment
+ */
+ @JsonProperty(value = "environmentName")
+ private String environmentName;
+
+ /*
+ * Billing plan information.
+ */
+ @JsonProperty(value = "planData")
+ private PlanData planData;
+
+ /**
+ * Get the environmentId property: environment id for which user is an admin.
+ *
+ * @return the environmentId value.
+ */
+ public String environmentId() {
+ return this.environmentId;
+ }
+
+ /**
+ * Set the environmentId property: environment id for which user is an admin.
+ *
+ * @param environmentId the environmentId value to set.
+ * @return the LinkableEnvironmentResponseInner object itself.
+ */
+ public LinkableEnvironmentResponseInner withEnvironmentId(String environmentId) {
+ this.environmentId = environmentId;
+ return this;
+ }
+
+ /**
+ * Get the environmentName property: Name of the environment.
+ *
+ * @return the environmentName value.
+ */
+ public String environmentName() {
+ return this.environmentName;
+ }
+
+ /**
+ * Set the environmentName property: Name of the environment.
+ *
+ * @param environmentName the environmentName value to set.
+ * @return the LinkableEnvironmentResponseInner object itself.
+ */
+ public LinkableEnvironmentResponseInner withEnvironmentName(String environmentName) {
+ this.environmentName = environmentName;
+ return this;
+ }
+
+ /**
+ * Get the planData property: Billing plan information.
+ *
+ * @return the planData value.
+ */
+ public PlanData planData() {
+ return this.planData;
+ }
+
+ /**
+ * Set the planData property: Billing plan information.
+ *
+ * @param planData the planData value to set.
+ * @return the LinkableEnvironmentResponseInner object itself.
+ */
+ public LinkableEnvironmentResponseInner withPlanData(PlanData planData) {
+ this.planData = planData;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (planData() != null) {
+ planData().validate();
+ }
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorProperties.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorProperties.java
new file mode 100644
index 000000000000..8dde276b57fc
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorProperties.java
@@ -0,0 +1,213 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.DynatraceEnvironmentProperties;
+import com.azure.resourcemanager.dynatrace.models.LiftrResourceCategories;
+import com.azure.resourcemanager.dynatrace.models.MarketplaceSubscriptionStatus;
+import com.azure.resourcemanager.dynatrace.models.MonitoringStatus;
+import com.azure.resourcemanager.dynatrace.models.PlanData;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.azure.resourcemanager.dynatrace.models.UserInfo;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties specific to the monitor resource. */
+@Fluent
+public final class MonitorProperties {
+ /*
+ * Status of the monitor.
+ */
+ @JsonProperty(value = "monitoringStatus")
+ private MonitoringStatus monitoringStatus;
+
+ /*
+ * Marketplace subscription status.
+ */
+ @JsonProperty(value = "marketplaceSubscriptionStatus")
+ private MarketplaceSubscriptionStatus marketplaceSubscriptionStatus;
+
+ /*
+ * Properties of the Dynatrace environment.
+ */
+ @JsonProperty(value = "dynatraceEnvironmentProperties")
+ private DynatraceEnvironmentProperties dynatraceEnvironmentProperties;
+
+ /*
+ * User info.
+ */
+ @JsonProperty(value = "userInfo")
+ private UserInfo userInfo;
+
+ /*
+ * Billing plan information.
+ */
+ @JsonProperty(value = "planData")
+ private PlanData planData;
+
+ /*
+ * Liftr Resource category.
+ */
+ @JsonProperty(value = "liftrResourceCategory", access = JsonProperty.Access.WRITE_ONLY)
+ private LiftrResourceCategories liftrResourceCategory;
+
+ /*
+ * The priority of the resource.
+ */
+ @JsonProperty(value = "liftrResourcePreference", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer liftrResourcePreference;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Get the monitoringStatus property: Status of the monitor.
+ *
+ * @return the monitoringStatus value.
+ */
+ public MonitoringStatus monitoringStatus() {
+ return this.monitoringStatus;
+ }
+
+ /**
+ * Set the monitoringStatus property: Status of the monitor.
+ *
+ * @param monitoringStatus the monitoringStatus value to set.
+ * @return the MonitorProperties object itself.
+ */
+ public MonitorProperties withMonitoringStatus(MonitoringStatus monitoringStatus) {
+ this.monitoringStatus = monitoringStatus;
+ return this;
+ }
+
+ /**
+ * Get the marketplaceSubscriptionStatus property: Marketplace subscription status.
+ *
+ * @return the marketplaceSubscriptionStatus value.
+ */
+ public MarketplaceSubscriptionStatus marketplaceSubscriptionStatus() {
+ return this.marketplaceSubscriptionStatus;
+ }
+
+ /**
+ * Set the marketplaceSubscriptionStatus property: Marketplace subscription status.
+ *
+ * @param marketplaceSubscriptionStatus the marketplaceSubscriptionStatus value to set.
+ * @return the MonitorProperties object itself.
+ */
+ public MonitorProperties withMarketplaceSubscriptionStatus(
+ MarketplaceSubscriptionStatus marketplaceSubscriptionStatus) {
+ this.marketplaceSubscriptionStatus = marketplaceSubscriptionStatus;
+ return this;
+ }
+
+ /**
+ * Get the dynatraceEnvironmentProperties property: Properties of the Dynatrace environment.
+ *
+ * @return the dynatraceEnvironmentProperties value.
+ */
+ public DynatraceEnvironmentProperties dynatraceEnvironmentProperties() {
+ return this.dynatraceEnvironmentProperties;
+ }
+
+ /**
+ * Set the dynatraceEnvironmentProperties property: Properties of the Dynatrace environment.
+ *
+ * @param dynatraceEnvironmentProperties the dynatraceEnvironmentProperties value to set.
+ * @return the MonitorProperties object itself.
+ */
+ public MonitorProperties withDynatraceEnvironmentProperties(
+ DynatraceEnvironmentProperties dynatraceEnvironmentProperties) {
+ this.dynatraceEnvironmentProperties = dynatraceEnvironmentProperties;
+ return this;
+ }
+
+ /**
+ * Get the userInfo property: User info.
+ *
+ * @return the userInfo value.
+ */
+ public UserInfo userInfo() {
+ return this.userInfo;
+ }
+
+ /**
+ * Set the userInfo property: User info.
+ *
+ * @param userInfo the userInfo value to set.
+ * @return the MonitorProperties object itself.
+ */
+ public MonitorProperties withUserInfo(UserInfo userInfo) {
+ this.userInfo = userInfo;
+ return this;
+ }
+
+ /**
+ * Get the planData property: Billing plan information.
+ *
+ * @return the planData value.
+ */
+ public PlanData planData() {
+ return this.planData;
+ }
+
+ /**
+ * Set the planData property: Billing plan information.
+ *
+ * @param planData the planData value to set.
+ * @return the MonitorProperties object itself.
+ */
+ public MonitorProperties withPlanData(PlanData planData) {
+ this.planData = planData;
+ return this;
+ }
+
+ /**
+ * Get the liftrResourceCategory property: Liftr Resource category.
+ *
+ * @return the liftrResourceCategory value.
+ */
+ public LiftrResourceCategories liftrResourceCategory() {
+ return this.liftrResourceCategory;
+ }
+
+ /**
+ * Get the liftrResourcePreference property: The priority of the resource.
+ *
+ * @return the liftrResourcePreference value.
+ */
+ public Integer liftrResourcePreference() {
+ return this.liftrResourcePreference;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (dynatraceEnvironmentProperties() != null) {
+ dynatraceEnvironmentProperties().validate();
+ }
+ if (userInfo() != null) {
+ userInfo().validate();
+ }
+ if (planData() != null) {
+ planData().validate();
+ }
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorResourceInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorResourceInner.java
new file mode 100644
index 000000000000..1c336220acf9
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitorResourceInner.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.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.dynatrace.models.DynatraceEnvironmentProperties;
+import com.azure.resourcemanager.dynatrace.models.IdentityProperties;
+import com.azure.resourcemanager.dynatrace.models.LiftrResourceCategories;
+import com.azure.resourcemanager.dynatrace.models.MarketplaceSubscriptionStatus;
+import com.azure.resourcemanager.dynatrace.models.MonitoringStatus;
+import com.azure.resourcemanager.dynatrace.models.PlanData;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.azure.resourcemanager.dynatrace.models.UserInfo;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Dynatrace Monitor Resource. */
+@Fluent
+public final class MonitorResourceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private MonitorProperties innerProperties = new MonitorProperties();
+
+ /*
+ * System metadata for this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ @JsonProperty(value = "identity")
+ private IdentityProperties identity;
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private MonitorProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: System metadata for this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public IdentityProperties identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withIdentity(IdentityProperties identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MonitorResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public MonitorResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the monitoringStatus property: Status of the monitor.
+ *
+ * @return the monitoringStatus value.
+ */
+ public MonitoringStatus monitoringStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().monitoringStatus();
+ }
+
+ /**
+ * Set the monitoringStatus property: Status of the monitor.
+ *
+ * @param monitoringStatus the monitoringStatus value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withMonitoringStatus(MonitoringStatus monitoringStatus) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitorProperties();
+ }
+ this.innerProperties().withMonitoringStatus(monitoringStatus);
+ return this;
+ }
+
+ /**
+ * Get the marketplaceSubscriptionStatus property: Marketplace subscription status.
+ *
+ * @return the marketplaceSubscriptionStatus value.
+ */
+ public MarketplaceSubscriptionStatus marketplaceSubscriptionStatus() {
+ return this.innerProperties() == null ? null : this.innerProperties().marketplaceSubscriptionStatus();
+ }
+
+ /**
+ * Set the marketplaceSubscriptionStatus property: Marketplace subscription status.
+ *
+ * @param marketplaceSubscriptionStatus the marketplaceSubscriptionStatus value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withMarketplaceSubscriptionStatus(
+ MarketplaceSubscriptionStatus marketplaceSubscriptionStatus) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitorProperties();
+ }
+ this.innerProperties().withMarketplaceSubscriptionStatus(marketplaceSubscriptionStatus);
+ return this;
+ }
+
+ /**
+ * Get the dynatraceEnvironmentProperties property: Properties of the Dynatrace environment.
+ *
+ * @return the dynatraceEnvironmentProperties value.
+ */
+ public DynatraceEnvironmentProperties dynatraceEnvironmentProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().dynatraceEnvironmentProperties();
+ }
+
+ /**
+ * Set the dynatraceEnvironmentProperties property: Properties of the Dynatrace environment.
+ *
+ * @param dynatraceEnvironmentProperties the dynatraceEnvironmentProperties value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withDynatraceEnvironmentProperties(
+ DynatraceEnvironmentProperties dynatraceEnvironmentProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitorProperties();
+ }
+ this.innerProperties().withDynatraceEnvironmentProperties(dynatraceEnvironmentProperties);
+ return this;
+ }
+
+ /**
+ * Get the userInfo property: User info.
+ *
+ * @return the userInfo value.
+ */
+ public UserInfo userInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().userInfo();
+ }
+
+ /**
+ * Set the userInfo property: User info.
+ *
+ * @param userInfo the userInfo value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withUserInfo(UserInfo userInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitorProperties();
+ }
+ this.innerProperties().withUserInfo(userInfo);
+ return this;
+ }
+
+ /**
+ * Get the planData property: Billing plan information.
+ *
+ * @return the planData value.
+ */
+ public PlanData planData() {
+ return this.innerProperties() == null ? null : this.innerProperties().planData();
+ }
+
+ /**
+ * Set the planData property: Billing plan information.
+ *
+ * @param planData the planData value to set.
+ * @return the MonitorResourceInner object itself.
+ */
+ public MonitorResourceInner withPlanData(PlanData planData) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitorProperties();
+ }
+ this.innerProperties().withPlanData(planData);
+ return this;
+ }
+
+ /**
+ * Get the liftrResourceCategory property: Liftr Resource category.
+ *
+ * @return the liftrResourceCategory value.
+ */
+ public LiftrResourceCategories liftrResourceCategory() {
+ return this.innerProperties() == null ? null : this.innerProperties().liftrResourceCategory();
+ }
+
+ /**
+ * Get the liftrResourcePreference property: The priority of the resource.
+ *
+ * @return the liftrResourcePreference value.
+ */
+ public Integer liftrResourcePreference() {
+ return this.innerProperties() == null ? null : this.innerProperties().liftrResourcePreference();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model MonitorResourceInner"));
+ } else {
+ innerProperties().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(MonitorResourceInner.class);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoredResourceInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoredResourceInner.java
new file mode 100644
index 000000000000..bd4f774d749c
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoredResourceInner.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.SendingLogsStatus;
+import com.azure.resourcemanager.dynatrace.models.SendingMetricsStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Details of resource being monitored by Dynatrace monitor resource. */
+@Fluent
+public final class MonitoredResourceInner {
+ /*
+ * The ARM id of the resource.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * Flag indicating if resource is sending metrics to Dynatrace.
+ */
+ @JsonProperty(value = "sendingMetrics")
+ private SendingMetricsStatus sendingMetrics;
+
+ /*
+ * Reason for why the resource is sending metrics (or why it is not
+ * sending).
+ */
+ @JsonProperty(value = "reasonForMetricsStatus")
+ private String reasonForMetricsStatus;
+
+ /*
+ * Flag indicating if resource is sending logs to Dynatrace.
+ */
+ @JsonProperty(value = "sendingLogs")
+ private SendingLogsStatus sendingLogs;
+
+ /*
+ * Reason for why the resource is sending logs (or why it is not sending).
+ */
+ @JsonProperty(value = "reasonForLogsStatus")
+ private String reasonForLogsStatus;
+
+ /**
+ * Get the id property: The ARM id of the resource.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The ARM id of the resource.
+ *
+ * @param id the id value to set.
+ * @return the MonitoredResourceInner object itself.
+ */
+ public MonitoredResourceInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the sendingMetrics property: Flag indicating if resource is sending metrics to Dynatrace.
+ *
+ * @return the sendingMetrics value.
+ */
+ public SendingMetricsStatus sendingMetrics() {
+ return this.sendingMetrics;
+ }
+
+ /**
+ * Set the sendingMetrics property: Flag indicating if resource is sending metrics to Dynatrace.
+ *
+ * @param sendingMetrics the sendingMetrics value to set.
+ * @return the MonitoredResourceInner object itself.
+ */
+ public MonitoredResourceInner withSendingMetrics(SendingMetricsStatus sendingMetrics) {
+ this.sendingMetrics = sendingMetrics;
+ return this;
+ }
+
+ /**
+ * Get the reasonForMetricsStatus property: Reason for why the resource is sending metrics (or why it is not
+ * sending).
+ *
+ * @return the reasonForMetricsStatus value.
+ */
+ public String reasonForMetricsStatus() {
+ return this.reasonForMetricsStatus;
+ }
+
+ /**
+ * Set the reasonForMetricsStatus property: Reason for why the resource is sending metrics (or why it is not
+ * sending).
+ *
+ * @param reasonForMetricsStatus the reasonForMetricsStatus value to set.
+ * @return the MonitoredResourceInner object itself.
+ */
+ public MonitoredResourceInner withReasonForMetricsStatus(String reasonForMetricsStatus) {
+ this.reasonForMetricsStatus = reasonForMetricsStatus;
+ return this;
+ }
+
+ /**
+ * Get the sendingLogs property: Flag indicating if resource is sending logs to Dynatrace.
+ *
+ * @return the sendingLogs value.
+ */
+ public SendingLogsStatus sendingLogs() {
+ return this.sendingLogs;
+ }
+
+ /**
+ * Set the sendingLogs property: Flag indicating if resource is sending logs to Dynatrace.
+ *
+ * @param sendingLogs the sendingLogs value to set.
+ * @return the MonitoredResourceInner object itself.
+ */
+ public MonitoredResourceInner withSendingLogs(SendingLogsStatus sendingLogs) {
+ this.sendingLogs = sendingLogs;
+ return this;
+ }
+
+ /**
+ * Get the reasonForLogsStatus property: Reason for why the resource is sending logs (or why it is not sending).
+ *
+ * @return the reasonForLogsStatus value.
+ */
+ public String reasonForLogsStatus() {
+ return this.reasonForLogsStatus;
+ }
+
+ /**
+ * Set the reasonForLogsStatus property: Reason for why the resource is sending logs (or why it is not sending).
+ *
+ * @param reasonForLogsStatus the reasonForLogsStatus value to set.
+ * @return the MonitoredResourceInner object itself.
+ */
+ public MonitoredResourceInner withReasonForLogsStatus(String reasonForLogsStatus) {
+ this.reasonForLogsStatus = reasonForLogsStatus;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoringTagRulesProperties.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoringTagRulesProperties.java
new file mode 100644
index 000000000000..d89f7e5ba214
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/MonitoringTagRulesProperties.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.LogRules;
+import com.azure.resourcemanager.dynatrace.models.MetricRules;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties for the Tag rules resource of a Monitor account. */
+@Fluent
+public final class MonitoringTagRulesProperties {
+ /*
+ * Set of rules for sending logs for the Monitor resource.
+ */
+ @JsonProperty(value = "logRules")
+ private LogRules logRules;
+
+ /*
+ * Set of rules for sending metrics for the Monitor resource.
+ */
+ @JsonProperty(value = "metricRules")
+ private MetricRules metricRules;
+
+ /*
+ * Provisioning state of the resource.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Get the logRules property: Set of rules for sending logs for the Monitor resource.
+ *
+ * @return the logRules value.
+ */
+ public LogRules logRules() {
+ return this.logRules;
+ }
+
+ /**
+ * Set the logRules property: Set of rules for sending logs for the Monitor resource.
+ *
+ * @param logRules the logRules value to set.
+ * @return the MonitoringTagRulesProperties object itself.
+ */
+ public MonitoringTagRulesProperties withLogRules(LogRules logRules) {
+ this.logRules = logRules;
+ return this;
+ }
+
+ /**
+ * Get the metricRules property: Set of rules for sending metrics for the Monitor resource.
+ *
+ * @return the metricRules value.
+ */
+ public MetricRules metricRules() {
+ return this.metricRules;
+ }
+
+ /**
+ * Set the metricRules property: Set of rules for sending metrics for the Monitor resource.
+ *
+ * @param metricRules the metricRules value to set.
+ * @return the MonitoringTagRulesProperties object itself.
+ */
+ public MonitoringTagRulesProperties withMetricRules(MetricRules metricRules) {
+ this.metricRules = metricRules;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (logRules() != null) {
+ logRules().validate();
+ }
+ if (metricRules() != null) {
+ metricRules().validate();
+ }
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/OperationInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..92ea3bd4b681
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/OperationInner.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.ActionType;
+import com.azure.resourcemanager.dynatrace.models.OperationDisplay;
+import com.azure.resourcemanager.dynatrace.models.Origin;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** REST API Operation Details of a REST API operation, returned from the Resource Provider Operations API. */
+@Fluent
+public final class OperationInner {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC).
+ * Examples: "Microsoft.Compute/virtualMachines/write",
+ * "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for
+ * data-plane operations and "false" for ARM/control-plane operations.
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access
+ * Control (RBAC) and audit logs UX. Default value is "user,system"
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ */
+ @JsonProperty(value = "actionType", access = JsonProperty.Access.WRITE_ONLY)
+ private ActionType actionType;
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/SsoDetailsResponseInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/SsoDetailsResponseInner.java
new file mode 100644
index 000000000000..0ee062dfc6db
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/SsoDetailsResponseInner.java
@@ -0,0 +1,152 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.SsoStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** SSO details from the Dynatrace partner. */
+@Fluent
+public final class SsoDetailsResponseInner {
+ /*
+ * Whether the SSO is enabled for this resource or not.
+ */
+ @JsonProperty(value = "isSsoEnabled")
+ private SsoStatus isSsoEnabled;
+
+ /*
+ * URL for Azure AD metadata
+ */
+ @JsonProperty(value = "metadataUrl")
+ private String metadataUrl;
+
+ /*
+ * The login URL specific to this Dynatrace Environment
+ */
+ @JsonProperty(value = "singleSignOnUrl")
+ private String singleSignOnUrl;
+
+ /*
+ * array of Aad(azure active directory) domains
+ */
+ @JsonProperty(value = "aadDomains")
+ private List aadDomains;
+
+ /*
+ * Array of admin user emails.
+ */
+ @JsonProperty(value = "adminUsers")
+ private List adminUsers;
+
+ /**
+ * Get the isSsoEnabled property: Whether the SSO is enabled for this resource or not.
+ *
+ * @return the isSsoEnabled value.
+ */
+ public SsoStatus isSsoEnabled() {
+ return this.isSsoEnabled;
+ }
+
+ /**
+ * Set the isSsoEnabled property: Whether the SSO is enabled for this resource or not.
+ *
+ * @param isSsoEnabled the isSsoEnabled value to set.
+ * @return the SsoDetailsResponseInner object itself.
+ */
+ public SsoDetailsResponseInner withIsSsoEnabled(SsoStatus isSsoEnabled) {
+ this.isSsoEnabled = isSsoEnabled;
+ return this;
+ }
+
+ /**
+ * Get the metadataUrl property: URL for Azure AD metadata.
+ *
+ * @return the metadataUrl value.
+ */
+ public String metadataUrl() {
+ return this.metadataUrl;
+ }
+
+ /**
+ * Set the metadataUrl property: URL for Azure AD metadata.
+ *
+ * @param metadataUrl the metadataUrl value to set.
+ * @return the SsoDetailsResponseInner object itself.
+ */
+ public SsoDetailsResponseInner withMetadataUrl(String metadataUrl) {
+ this.metadataUrl = metadataUrl;
+ return this;
+ }
+
+ /**
+ * Get the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @return the singleSignOnUrl value.
+ */
+ public String singleSignOnUrl() {
+ return this.singleSignOnUrl;
+ }
+
+ /**
+ * Set the singleSignOnUrl property: The login URL specific to this Dynatrace Environment.
+ *
+ * @param singleSignOnUrl the singleSignOnUrl value to set.
+ * @return the SsoDetailsResponseInner object itself.
+ */
+ public SsoDetailsResponseInner withSingleSignOnUrl(String singleSignOnUrl) {
+ this.singleSignOnUrl = singleSignOnUrl;
+ return this;
+ }
+
+ /**
+ * Get the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @return the aadDomains value.
+ */
+ public List aadDomains() {
+ return this.aadDomains;
+ }
+
+ /**
+ * Set the aadDomains property: array of Aad(azure active directory) domains.
+ *
+ * @param aadDomains the aadDomains value to set.
+ * @return the SsoDetailsResponseInner object itself.
+ */
+ public SsoDetailsResponseInner withAadDomains(List aadDomains) {
+ this.aadDomains = aadDomains;
+ return this;
+ }
+
+ /**
+ * Get the adminUsers property: Array of admin user emails.
+ *
+ * @return the adminUsers value.
+ */
+ public List adminUsers() {
+ return this.adminUsers;
+ }
+
+ /**
+ * Set the adminUsers property: Array of admin user emails.
+ *
+ * @param adminUsers the adminUsers value to set.
+ * @return the SsoDetailsResponseInner object itself.
+ */
+ public SsoDetailsResponseInner withAdminUsers(List adminUsers) {
+ this.adminUsers = adminUsers;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/TagRuleInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/TagRuleInner.java
new file mode 100644
index 000000000000..377d7778041f
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/TagRuleInner.java
@@ -0,0 +1,120 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.dynatrace.models.LogRules;
+import com.azure.resourcemanager.dynatrace.models.MetricRules;
+import com.azure.resourcemanager.dynatrace.models.ProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Tag rules for a monitor resource. */
+@Fluent
+public final class TagRuleInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private MonitoringTagRulesProperties innerProperties = new MonitoringTagRulesProperties();
+
+ /*
+ * System metadata for this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the innerProperties property: The resource-specific properties for this resource.
+ *
+ * @return the innerProperties value.
+ */
+ private MonitoringTagRulesProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: System metadata for this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the logRules property: Set of rules for sending logs for the Monitor resource.
+ *
+ * @return the logRules value.
+ */
+ public LogRules logRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().logRules();
+ }
+
+ /**
+ * Set the logRules property: Set of rules for sending logs for the Monitor resource.
+ *
+ * @param logRules the logRules value to set.
+ * @return the TagRuleInner object itself.
+ */
+ public TagRuleInner withLogRules(LogRules logRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitoringTagRulesProperties();
+ }
+ this.innerProperties().withLogRules(logRules);
+ return this;
+ }
+
+ /**
+ * Get the metricRules property: Set of rules for sending metrics for the Monitor resource.
+ *
+ * @return the metricRules value.
+ */
+ public MetricRules metricRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().metricRules();
+ }
+
+ /**
+ * Set the metricRules property: Set of rules for sending metrics for the Monitor resource.
+ *
+ * @param metricRules the metricRules value to set.
+ * @return the TagRuleInner object itself.
+ */
+ public TagRuleInner withMetricRules(MetricRules metricRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new MonitoringTagRulesProperties();
+ }
+ this.innerProperties().withMetricRules(metricRules);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property innerProperties in model TagRuleInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(TagRuleInner.class);
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMExtensionPayloadInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMExtensionPayloadInner.java
new file mode 100644
index 000000000000..2b9bee45a3b1
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMExtensionPayloadInner.java
@@ -0,0 +1,72 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Response of payload to be passed while installing VM agent. */
+@Fluent
+public final class VMExtensionPayloadInner {
+ /*
+ * Ingestion key of the environment
+ */
+ @JsonProperty(value = "ingestionKey")
+ private String ingestionKey;
+
+ /*
+ * Id of the environment created
+ */
+ @JsonProperty(value = "environmentId")
+ private String environmentId;
+
+ /**
+ * Get the ingestionKey property: Ingestion key of the environment.
+ *
+ * @return the ingestionKey value.
+ */
+ public String ingestionKey() {
+ return this.ingestionKey;
+ }
+
+ /**
+ * Set the ingestionKey property: Ingestion key of the environment.
+ *
+ * @param ingestionKey the ingestionKey value to set.
+ * @return the VMExtensionPayloadInner object itself.
+ */
+ public VMExtensionPayloadInner withIngestionKey(String ingestionKey) {
+ this.ingestionKey = ingestionKey;
+ return this;
+ }
+
+ /**
+ * Get the environmentId property: Id of the environment created.
+ *
+ * @return the environmentId value.
+ */
+ public String environmentId() {
+ return this.environmentId;
+ }
+
+ /**
+ * Set the environmentId property: Id of the environment created.
+ *
+ * @param environmentId the environmentId value to set.
+ * @return the VMExtensionPayloadInner object itself.
+ */
+ public VMExtensionPayloadInner withEnvironmentId(String environmentId) {
+ this.environmentId = environmentId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMInfoInner.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMInfoInner.java
new file mode 100644
index 000000000000..53f5a6beafbd
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/VMInfoInner.java
@@ -0,0 +1,259 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.dynatrace.models.AutoUpdateSetting;
+import com.azure.resourcemanager.dynatrace.models.AvailabilityState;
+import com.azure.resourcemanager.dynatrace.models.LogModule;
+import com.azure.resourcemanager.dynatrace.models.MonitoringType;
+import com.azure.resourcemanager.dynatrace.models.UpdateStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Details of VM Resource having Dynatrace OneAgent installed. */
+@Fluent
+public final class VMInfoInner {
+ /*
+ * Azure VM resource ID
+ */
+ @JsonProperty(value = "resourceId")
+ private String resourceId;
+
+ /*
+ * Version of the Dynatrace agent installed on the VM.
+ */
+ @JsonProperty(value = "version")
+ private String version;
+
+ /*
+ * The monitoring mode of OneAgent
+ */
+ @JsonProperty(value = "monitoringType")
+ private MonitoringType monitoringType;
+
+ /*
+ * Update settings of OneAgent.
+ */
+ @JsonProperty(value = "autoUpdateSetting")
+ private AutoUpdateSetting autoUpdateSetting;
+
+ /*
+ * The current update status of OneAgent.
+ */
+ @JsonProperty(value = "updateStatus")
+ private UpdateStatus updateStatus;
+
+ /*
+ * The availability state of OneAgent.
+ */
+ @JsonProperty(value = "availabilityState")
+ private AvailabilityState availabilityState;
+
+ /*
+ * Tells whether log modules are enabled or not
+ */
+ @JsonProperty(value = "logModule")
+ private LogModule logModule;
+
+ /*
+ * The name of the host group
+ */
+ @JsonProperty(value = "hostGroup")
+ private String hostGroup;
+
+ /*
+ * The name of the host
+ */
+ @JsonProperty(value = "hostName")
+ private String hostname;
+
+ /**
+ * Get the resourceId property: Azure VM resource ID.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Set the resourceId property: Azure VM resource ID.
+ *
+ * @param resourceId the resourceId value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withResourceId(String resourceId) {
+ this.resourceId = resourceId;
+ return this;
+ }
+
+ /**
+ * Get the version property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @return the version value.
+ */
+ public String version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version property: Version of the Dynatrace agent installed on the VM.
+ *
+ * @param version the version value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the monitoringType property: The monitoring mode of OneAgent.
+ *
+ * @return the monitoringType value.
+ */
+ public MonitoringType monitoringType() {
+ return this.monitoringType;
+ }
+
+ /**
+ * Set the monitoringType property: The monitoring mode of OneAgent.
+ *
+ * @param monitoringType the monitoringType value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withMonitoringType(MonitoringType monitoringType) {
+ this.monitoringType = monitoringType;
+ return this;
+ }
+
+ /**
+ * Get the autoUpdateSetting property: Update settings of OneAgent.
+ *
+ * @return the autoUpdateSetting value.
+ */
+ public AutoUpdateSetting autoUpdateSetting() {
+ return this.autoUpdateSetting;
+ }
+
+ /**
+ * Set the autoUpdateSetting property: Update settings of OneAgent.
+ *
+ * @param autoUpdateSetting the autoUpdateSetting value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withAutoUpdateSetting(AutoUpdateSetting autoUpdateSetting) {
+ this.autoUpdateSetting = autoUpdateSetting;
+ return this;
+ }
+
+ /**
+ * Get the updateStatus property: The current update status of OneAgent.
+ *
+ * @return the updateStatus value.
+ */
+ public UpdateStatus updateStatus() {
+ return this.updateStatus;
+ }
+
+ /**
+ * Set the updateStatus property: The current update status of OneAgent.
+ *
+ * @param updateStatus the updateStatus value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withUpdateStatus(UpdateStatus updateStatus) {
+ this.updateStatus = updateStatus;
+ return this;
+ }
+
+ /**
+ * Get the availabilityState property: The availability state of OneAgent.
+ *
+ * @return the availabilityState value.
+ */
+ public AvailabilityState availabilityState() {
+ return this.availabilityState;
+ }
+
+ /**
+ * Set the availabilityState property: The availability state of OneAgent.
+ *
+ * @param availabilityState the availabilityState value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withAvailabilityState(AvailabilityState availabilityState) {
+ this.availabilityState = availabilityState;
+ return this;
+ }
+
+ /**
+ * Get the logModule property: Tells whether log modules are enabled or not.
+ *
+ * @return the logModule value.
+ */
+ public LogModule logModule() {
+ return this.logModule;
+ }
+
+ /**
+ * Set the logModule property: Tells whether log modules are enabled or not.
+ *
+ * @param logModule the logModule value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withLogModule(LogModule logModule) {
+ this.logModule = logModule;
+ return this;
+ }
+
+ /**
+ * Get the hostGroup property: The name of the host group.
+ *
+ * @return the hostGroup value.
+ */
+ public String hostGroup() {
+ return this.hostGroup;
+ }
+
+ /**
+ * Set the hostGroup property: The name of the host group.
+ *
+ * @param hostGroup the hostGroup value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withHostGroup(String hostGroup) {
+ this.hostGroup = hostGroup;
+ return this;
+ }
+
+ /**
+ * Get the hostname property: The name of the host.
+ *
+ * @return the hostname value.
+ */
+ public String hostname() {
+ return this.hostname;
+ }
+
+ /**
+ * Set the hostname property: The name of the host.
+ *
+ * @param hostname the hostname value to set.
+ * @return the VMInfoInner object itself.
+ */
+ public VMInfoInner withHostname(String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/package-info.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/package-info.java
new file mode 100644
index 000000000000..9d36a27e190f
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/models/package-info.java
@@ -0,0 +1,6 @@
+// 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 DynatraceObservability. null. */
+package com.azure.resourcemanager.dynatrace.fluent.models;
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/package-info.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/package-info.java
new file mode 100644
index 000000000000..205eb4e7b533
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/fluent/package-info.java
@@ -0,0 +1,6 @@
+// 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 DynatraceObservability. null. */
+package com.azure.resourcemanager.dynatrace.fluent;
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AccountInfoSecureImpl.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AccountInfoSecureImpl.java
new file mode 100644
index 000000000000..e60046ccd29a
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AccountInfoSecureImpl.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.implementation;
+
+import com.azure.resourcemanager.dynatrace.fluent.models.AccountInfoSecureInner;
+import com.azure.resourcemanager.dynatrace.models.AccountInfoSecure;
+
+public final class AccountInfoSecureImpl implements AccountInfoSecure {
+ private AccountInfoSecureInner innerObject;
+
+ private final com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager;
+
+ AccountInfoSecureImpl(
+ AccountInfoSecureInner innerObject, com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String accountId() {
+ return this.innerModel().accountId();
+ }
+
+ public String apiKey() {
+ return this.innerModel().apiKey();
+ }
+
+ public String regionId() {
+ return this.innerModel().regionId();
+ }
+
+ public AccountInfoSecureInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.dynatrace.DynatraceManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AppServiceInfoImpl.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AppServiceInfoImpl.java
new file mode 100644
index 000000000000..a4d63dd08b32
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/AppServiceInfoImpl.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.implementation;
+
+import com.azure.resourcemanager.dynatrace.fluent.models.AppServiceInfoInner;
+import com.azure.resourcemanager.dynatrace.models.AppServiceInfo;
+import com.azure.resourcemanager.dynatrace.models.AutoUpdateSetting;
+import com.azure.resourcemanager.dynatrace.models.AvailabilityState;
+import com.azure.resourcemanager.dynatrace.models.LogModule;
+import com.azure.resourcemanager.dynatrace.models.MonitoringType;
+import com.azure.resourcemanager.dynatrace.models.UpdateStatus;
+
+public final class AppServiceInfoImpl implements AppServiceInfo {
+ private AppServiceInfoInner innerObject;
+
+ private final com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager;
+
+ AppServiceInfoImpl(
+ AppServiceInfoInner innerObject, com.azure.resourcemanager.dynatrace.DynatraceManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String resourceId() {
+ return this.innerModel().resourceId();
+ }
+
+ public String version() {
+ return this.innerModel().version();
+ }
+
+ public MonitoringType monitoringType() {
+ return this.innerModel().monitoringType();
+ }
+
+ public AutoUpdateSetting autoUpdateSetting() {
+ return this.innerModel().autoUpdateSetting();
+ }
+
+ public UpdateStatus updateStatus() {
+ return this.innerModel().updateStatus();
+ }
+
+ public AvailabilityState availabilityState() {
+ return this.innerModel().availabilityState();
+ }
+
+ public LogModule logModule() {
+ return this.innerModel().logModule();
+ }
+
+ public String hostGroup() {
+ return this.innerModel().hostGroup();
+ }
+
+ public String hostname() {
+ return this.innerModel().hostname();
+ }
+
+ public AppServiceInfoInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.dynatrace.DynatraceManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityBuilder.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityBuilder.java
new file mode 100644
index 000000000000..b48208a80db0
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityBuilder.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/** A builder for creating a new instance of the DynatraceObservabilityImpl type. */
+@ServiceClientBuilder(serviceClients = {DynatraceObservabilityImpl.class})
+public final class DynatraceObservabilityBuilder {
+ /*
+ * The ID of the target subscription.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The ID of the target subscription.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the DynatraceObservabilityBuilder.
+ */
+ public DynatraceObservabilityBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of DynatraceObservabilityImpl with the provided parameters.
+ *
+ * @return an instance of DynatraceObservabilityImpl.
+ */
+ public DynatraceObservabilityImpl buildClient() {
+ if (endpoint == null) {
+ this.endpoint = "https://management.azure.com";
+ }
+ if (environment == null) {
+ this.environment = AzureEnvironment.AZURE;
+ }
+ if (pipeline == null) {
+ this.pipeline = new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build();
+ }
+ if (defaultPollInterval == null) {
+ this.defaultPollInterval = Duration.ofSeconds(30);
+ }
+ if (serializerAdapter == null) {
+ this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter();
+ }
+ DynatraceObservabilityImpl client =
+ new DynatraceObservabilityImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityImpl.java b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityImpl.java
new file mode 100644
index 000000000000..77e10cceeb12
--- /dev/null
+++ b/sdk/dynatrace/azure-resourcemanager-dynatrace/src/main/java/com/azure/resourcemanager/dynatrace/implementation/DynatraceObservabilityImpl.java
@@ -0,0 +1,335 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.dynatrace.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.dynatrace.fluent.DynatraceObservability;
+import com.azure.resourcemanager.dynatrace.fluent.MonitorsClient;
+import com.azure.resourcemanager.dynatrace.fluent.OperationsClient;
+import com.azure.resourcemanager.dynatrace.fluent.SingleSignOnsClient;
+import com.azure.resourcemanager.dynatrace.fluent.TagRulesClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** Initializes a new instance of the DynatraceObservabilityImpl type. */
+@ServiceClient(builder = DynatraceObservabilityBuilder.class)
+public final class DynatraceObservabilityImpl implements DynatraceObservability {
+ /** The ID of the target subscription. */
+ private final String subscriptionId;
+
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /** server parameter. */
+ private final String endpoint;
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /** Api Version. */
+ private final String apiVersion;
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The HTTP pipeline to send requests through. */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /** The serializer to serialize an object into a string. */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /** The default poll interval for long-running operation. */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /** The MonitorsClient object to access its operations. */
+ private final MonitorsClient monitors;
+
+ /**
+ * Gets the MonitorsClient object to access its operations.
+ *
+ * @return the MonitorsClient object.
+ */
+ public MonitorsClient getMonitors() {
+ return this.monitors;
+ }
+
+ /** The OperationsClient object to access its operations. */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /** The TagRulesClient object to access its operations. */
+ private final TagRulesClient tagRules;
+
+ /**
+ * Gets the TagRulesClient object to access its operations.
+ *
+ * @return the TagRulesClient object.
+ */
+ public TagRulesClient getTagRules() {
+ return this.tagRules;
+ }
+
+ /** The SingleSignOnsClient object to access its operations. */
+ private final SingleSignOnsClient singleSignOns;
+
+ /**
+ * Gets the SingleSignOnsClient object to access its operations.
+ *
+ * @return the SingleSignOnsClient object.
+ */
+ public SingleSignOnsClient getSingleSignOns() {
+ return this.singleSignOns;
+ }
+
+ /**
+ * Initializes an instance of DynatraceObservability client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param subscriptionId The ID of the target subscription.
+ * @param endpoint server parameter.
+ */
+ DynatraceObservabilityImpl(
+ HttpPipeline httpPipeline,
+ SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval,
+ AzureEnvironment environment,
+ String subscriptionId,
+ String endpoint) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.subscriptionId = subscriptionId;
+ this.endpoint = endpoint;
+ this.apiVersion = "2021-09-01-preview";
+ this.monitors = new MonitorsClientImpl(this);
+ this.operations = new OperationsClientImpl(this);
+ this.tagRules = new TagRulesClientImpl(this);
+ this.singleSignOns = new SingleSignOnsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ for (Map.Entry