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 Oracle service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Oracle service API instance.
+ */
+ public OracleManager 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.oracle")
+ .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 OracleManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * 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 AutonomousDatabases. It manages AutonomousDatabase.
+ *
+ * @return Resource collection API of AutonomousDatabases.
+ */
+ public AutonomousDatabases autonomousDatabases() {
+ if (this.autonomousDatabases == null) {
+ this.autonomousDatabases = new AutonomousDatabasesImpl(clientObject.getAutonomousDatabases(), this);
+ }
+ return autonomousDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of CloudExadataInfrastructures. It manages CloudExadataInfrastructure.
+ *
+ * @return Resource collection API of CloudExadataInfrastructures.
+ */
+ public CloudExadataInfrastructures cloudExadataInfrastructures() {
+ if (this.cloudExadataInfrastructures == null) {
+ this.cloudExadataInfrastructures
+ = new CloudExadataInfrastructuresImpl(clientObject.getCloudExadataInfrastructures(), this);
+ }
+ return cloudExadataInfrastructures;
+ }
+
+ /**
+ * Gets the resource collection API of CloudVmClusters. It manages CloudVmCluster.
+ *
+ * @return Resource collection API of CloudVmClusters.
+ */
+ public CloudVmClusters cloudVmClusters() {
+ if (this.cloudVmClusters == null) {
+ this.cloudVmClusters = new CloudVmClustersImpl(clientObject.getCloudVmClusters(), this);
+ }
+ return cloudVmClusters;
+ }
+
+ /**
+ * Gets the resource collection API of AutonomousDatabaseCharacterSets.
+ *
+ * @return Resource collection API of AutonomousDatabaseCharacterSets.
+ */
+ public AutonomousDatabaseCharacterSets autonomousDatabaseCharacterSets() {
+ if (this.autonomousDatabaseCharacterSets == null) {
+ this.autonomousDatabaseCharacterSets
+ = new AutonomousDatabaseCharacterSetsImpl(clientObject.getAutonomousDatabaseCharacterSets(), this);
+ }
+ return autonomousDatabaseCharacterSets;
+ }
+
+ /**
+ * Gets the resource collection API of AutonomousDatabaseNationalCharacterSets.
+ *
+ * @return Resource collection API of AutonomousDatabaseNationalCharacterSets.
+ */
+ public AutonomousDatabaseNationalCharacterSets autonomousDatabaseNationalCharacterSets() {
+ if (this.autonomousDatabaseNationalCharacterSets == null) {
+ this.autonomousDatabaseNationalCharacterSets = new AutonomousDatabaseNationalCharacterSetsImpl(
+ clientObject.getAutonomousDatabaseNationalCharacterSets(), this);
+ }
+ return autonomousDatabaseNationalCharacterSets;
+ }
+
+ /**
+ * Gets the resource collection API of AutonomousDatabaseVersions.
+ *
+ * @return Resource collection API of AutonomousDatabaseVersions.
+ */
+ public AutonomousDatabaseVersions autonomousDatabaseVersions() {
+ if (this.autonomousDatabaseVersions == null) {
+ this.autonomousDatabaseVersions
+ = new AutonomousDatabaseVersionsImpl(clientObject.getAutonomousDatabaseVersions(), this);
+ }
+ return autonomousDatabaseVersions;
+ }
+
+ /**
+ * Gets the resource collection API of DbSystemShapes.
+ *
+ * @return Resource collection API of DbSystemShapes.
+ */
+ public DbSystemShapes dbSystemShapes() {
+ if (this.dbSystemShapes == null) {
+ this.dbSystemShapes = new DbSystemShapesImpl(clientObject.getDbSystemShapes(), this);
+ }
+ return dbSystemShapes;
+ }
+
+ /**
+ * Gets the resource collection API of DnsPrivateViews.
+ *
+ * @return Resource collection API of DnsPrivateViews.
+ */
+ public DnsPrivateViews dnsPrivateViews() {
+ if (this.dnsPrivateViews == null) {
+ this.dnsPrivateViews = new DnsPrivateViewsImpl(clientObject.getDnsPrivateViews(), this);
+ }
+ return dnsPrivateViews;
+ }
+
+ /**
+ * Gets the resource collection API of DnsPrivateZones.
+ *
+ * @return Resource collection API of DnsPrivateZones.
+ */
+ public DnsPrivateZones dnsPrivateZones() {
+ if (this.dnsPrivateZones == null) {
+ this.dnsPrivateZones = new DnsPrivateZonesImpl(clientObject.getDnsPrivateZones(), this);
+ }
+ return dnsPrivateZones;
+ }
+
+ /**
+ * Gets the resource collection API of GiVersions.
+ *
+ * @return Resource collection API of GiVersions.
+ */
+ public GiVersions giVersions() {
+ if (this.giVersions == null) {
+ this.giVersions = new GiVersionsImpl(clientObject.getGiVersions(), this);
+ }
+ return giVersions;
+ }
+
+ /**
+ * Gets the resource collection API of OracleSubscriptions.
+ *
+ * @return Resource collection API of OracleSubscriptions.
+ */
+ public OracleSubscriptions oracleSubscriptions() {
+ if (this.oracleSubscriptions == null) {
+ this.oracleSubscriptions = new OracleSubscriptionsImpl(clientObject.getOracleSubscriptions(), this);
+ }
+ return oracleSubscriptions;
+ }
+
+ /**
+ * Gets the resource collection API of AutonomousDatabaseBackups. It manages AutonomousDatabaseBackup.
+ *
+ * @return Resource collection API of AutonomousDatabaseBackups.
+ */
+ public AutonomousDatabaseBackups autonomousDatabaseBackups() {
+ if (this.autonomousDatabaseBackups == null) {
+ this.autonomousDatabaseBackups
+ = new AutonomousDatabaseBackupsImpl(clientObject.getAutonomousDatabaseBackups(), this);
+ }
+ return autonomousDatabaseBackups;
+ }
+
+ /**
+ * Gets the resource collection API of DbServers.
+ *
+ * @return Resource collection API of DbServers.
+ */
+ public DbServers dbServers() {
+ if (this.dbServers == null) {
+ this.dbServers = new DbServersImpl(clientObject.getDbServers(), this);
+ }
+ return dbServers;
+ }
+
+ /**
+ * Gets the resource collection API of DbNodes.
+ *
+ * @return Resource collection API of DbNodes.
+ */
+ public DbNodes dbNodes() {
+ if (this.dbNodes == null) {
+ this.dbNodes = new DbNodesImpl(clientObject.getDbNodes(), this);
+ }
+ return dbNodes;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkAddresses. It manages VirtualNetworkAddress.
+ *
+ * @return Resource collection API of VirtualNetworkAddresses.
+ */
+ public VirtualNetworkAddresses virtualNetworkAddresses() {
+ if (this.virtualNetworkAddresses == null) {
+ this.virtualNetworkAddresses
+ = new VirtualNetworkAddressesImpl(clientObject.getVirtualNetworkAddresses(), this);
+ }
+ return virtualNetworkAddresses;
+ }
+
+ /**
+ * Gets wrapped service client OracleDatabaseResourceManager providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client OracleDatabaseResourceManager.
+ */
+ public OracleDatabaseResourceManager serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseBackupsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseBackupsClient.java
new file mode 100644
index 000000000000..c94ef3b54731
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseBackupsClient.java
@@ -0,0 +1,275 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.AutonomousDatabaseBackupInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseBackupsClient.
+ */
+public interface AutonomousDatabaseBackupsClient {
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 AutonomousDatabaseBackup list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename);
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 AutonomousDatabaseBackup list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename, Context context);
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 AutonomousDatabaseBackup along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, Context context);
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 AutonomousDatabaseBackup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseBackupInner get(String resourceGroupName, String autonomousdatabasename, String adbbackupid);
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseBackupInner> beginCreateOrUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource);
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseBackupInner> beginCreateOrUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource, Context context);
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseBackupInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupInner resource);
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseBackupInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupInner resource, Context context);
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties 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 the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseBackupInner> beginUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties);
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties 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 the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseBackupInner> beginUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties, Context context);
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties 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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseBackupInner update(String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties);
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties 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 autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseBackupInner update(String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties, Context context);
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 autonomousdatabasename,
+ String adbbackupid);
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 autonomousdatabasename,
+ String adbbackupid, Context context);
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 autonomousdatabasename, String adbbackupid);
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 autonomousdatabasename, String adbbackupid, Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseCharacterSetsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseCharacterSetsClient.java
new file mode 100644
index 000000000000..f76fc9c5055e
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseCharacterSetsClient.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.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseCharacterSetInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseCharacterSetsClient.
+ */
+public interface AutonomousDatabaseCharacterSetsClient {
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet 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 AutonomousDatabaseCharacterSet along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String adbscharsetname,
+ Context context);
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet 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 AutonomousDatabaseCharacterSet.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseCharacterSetInner get(String location, String adbscharsetname);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseNationalCharacterSetsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseNationalCharacterSetsClient.java
new file mode 100644
index 000000000000..f3c034d0d577
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseNationalCharacterSetsClient.java
@@ -0,0 +1,73 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseNationalCharacterSetInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AutonomousDatabaseNationalCharacterSetsClient.
+ */
+public interface AutonomousDatabaseNationalCharacterSetsClient {
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets 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 AutonomousDatabaseNationalCharacterSet along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String adbsncharsetname,
+ Context context);
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets 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 AutonomousDatabaseNationalCharacterSet.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseNationalCharacterSetInner get(String location, String adbsncharsetname);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseVersionsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseVersionsClient.java
new file mode 100644
index 000000000000..e7d478fbcb48
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabaseVersionsClient.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDbVersionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseVersionsClient.
+ */
+public interface AutonomousDatabaseVersionsClient {
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDbVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDbVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a AutonomousDbVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param autonomousdbversionsname AutonomousDbVersion 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 AutonomousDbVersion along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String autonomousdbversionsname,
+ Context context);
+
+ /**
+ * Get a AutonomousDbVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param autonomousdbversionsname AutonomousDbVersion 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 AutonomousDbVersion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDbVersionInner get(String location, String autonomousdbversionsname);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabasesClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabasesClient.java
new file mode 100644
index 000000000000..a217d09d2773
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/AutonomousDatabasesClient.java
@@ -0,0 +1,428 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.AutonomousDatabaseInner;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseWalletFileInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseUpdate;
+import com.azure.resourcemanager.oracle.models.GenerateAutonomousDatabaseWalletDetails;
+import com.azure.resourcemanager.oracle.models.PeerDbDetails;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabasesClient.
+ */
+public interface AutonomousDatabasesClient {
+ /**
+ * List AutonomousDatabase resources by subscription ID.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabase list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List AutonomousDatabase resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 AutonomousDatabase list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List AutonomousDatabase 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 AutonomousDatabase list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List AutonomousDatabase 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 AutonomousDatabase list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 AutonomousDatabase along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String autonomousdatabasename, Context context);
+
+ /**
+ * Get a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 AutonomousDatabase.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner getByResourceGroup(String resourceGroupName, String autonomousdatabasename);
+
+ /**
+ * Create a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner>
+ beginCreateOrUpdate(String resourceGroupName, String autonomousdatabasename, AutonomousDatabaseInner resource);
+
+ /**
+ * Create a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginCreateOrUpdate(
+ String resourceGroupName, String autonomousdatabasename, AutonomousDatabaseInner resource, Context context);
+
+ /**
+ * Create a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ AutonomousDatabaseInner resource);
+
+ /**
+ * Create a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ AutonomousDatabaseInner resource, Context context);
+
+ /**
+ * Update a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param properties 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 the {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginUpdate(String resourceGroupName,
+ String autonomousdatabasename, AutonomousDatabaseUpdate properties);
+
+ /**
+ * Update a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param properties 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 the {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginUpdate(String resourceGroupName,
+ String autonomousdatabasename, AutonomousDatabaseUpdate properties, Context context);
+
+ /**
+ * Update a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param properties 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner update(String resourceGroupName, String autonomousdatabasename,
+ AutonomousDatabaseUpdate properties);
+
+ /**
+ * Update a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param properties 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner update(String resourceGroupName, String autonomousdatabasename,
+ AutonomousDatabaseUpdate properties, Context context);
+
+ /**
+ * Delete a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomousdatabasename);
+
+ /**
+ * Delete a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomousdatabasename,
+ Context context);
+
+ /**
+ * Delete a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomousdatabasename);
+
+ /**
+ * Delete a AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database 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 autonomousdatabasename, Context context);
+
+ /**
+ * Perform failover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 the {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginFailover(String resourceGroupName,
+ String autonomousdatabasename, PeerDbDetails body);
+
+ /**
+ * Perform failover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginFailover(String resourceGroupName,
+ String autonomousdatabasename, PeerDbDetails body, Context context);
+
+ /**
+ * Perform failover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner failover(String resourceGroupName, String autonomousdatabasename, PeerDbDetails body);
+
+ /**
+ * Perform failover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner failover(String resourceGroupName, String autonomousdatabasename, PeerDbDetails body,
+ Context context);
+
+ /**
+ * Generate wallet action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database Wallet File resource model along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateWalletWithResponse(String resourceGroupName,
+ String autonomousdatabasename, GenerateAutonomousDatabaseWalletDetails body, Context context);
+
+ /**
+ * Generate wallet action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database Wallet File resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseWalletFileInner generateWallet(String resourceGroupName, String autonomousdatabasename,
+ GenerateAutonomousDatabaseWalletDetails body);
+
+ /**
+ * Perform switchover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 the {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginSwitchover(String resourceGroupName,
+ String autonomousdatabasename, PeerDbDetails body);
+
+ /**
+ * Perform switchover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AutonomousDatabaseInner> beginSwitchover(String resourceGroupName,
+ String autonomousdatabasename, PeerDbDetails body, Context context);
+
+ /**
+ * Perform switchover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner switchover(String resourceGroupName, String autonomousdatabasename, PeerDbDetails body);
+
+ /**
+ * Perform switchover action on Autonomous Database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param body The content of the action 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 autonomous Database resource model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AutonomousDatabaseInner switchover(String resourceGroupName, String autonomousdatabasename, PeerDbDetails body,
+ Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudExadataInfrastructuresClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudExadataInfrastructuresClient.java
new file mode 100644
index 000000000000..eacbd7960ecd
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudExadataInfrastructuresClient.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.oracle.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.oracle.fluent.models.CloudExadataInfrastructureInner;
+import com.azure.resourcemanager.oracle.models.CloudExadataInfrastructureUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in CloudExadataInfrastructuresClient.
+ */
+public interface CloudExadataInfrastructuresClient {
+ /**
+ * List CloudExadataInfrastructure resources by subscription ID.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 CloudExadataInfrastructure list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List CloudExadataInfrastructure resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 CloudExadataInfrastructure list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List CloudExadataInfrastructure 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 CloudExadataInfrastructure list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List CloudExadataInfrastructure 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 CloudExadataInfrastructure list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 CloudExadataInfrastructure along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String cloudexadatainfrastructurename, Context context);
+
+ /**
+ * Get a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 CloudExadataInfrastructure.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner getByResourceGroup(String resourceGroupName, String cloudexadatainfrastructurename);
+
+ /**
+ * Create a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudexadatainfrastructurename, CloudExadataInfrastructureInner resource);
+
+ /**
+ * Create a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudexadatainfrastructurename, CloudExadataInfrastructureInner resource,
+ Context context);
+
+ /**
+ * Create a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner createOrUpdate(String resourceGroupName, String cloudexadatainfrastructurename,
+ CloudExadataInfrastructureInner resource);
+
+ /**
+ * Create a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner createOrUpdate(String resourceGroupName, String cloudexadatainfrastructurename,
+ CloudExadataInfrastructureInner resource, Context context);
+
+ /**
+ * Update a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param properties 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 the {@link SyncPoller} for polling of cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner> beginUpdate(
+ String resourceGroupName, String cloudexadatainfrastructurename, CloudExadataInfrastructureUpdate properties);
+
+ /**
+ * Update a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param properties 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 the {@link SyncPoller} for polling of cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner> beginUpdate(
+ String resourceGroupName, String cloudexadatainfrastructurename, CloudExadataInfrastructureUpdate properties,
+ Context context);
+
+ /**
+ * Update a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param properties 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner update(String resourceGroupName, String cloudexadatainfrastructurename,
+ CloudExadataInfrastructureUpdate properties);
+
+ /**
+ * Update a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param properties 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner update(String resourceGroupName, String cloudexadatainfrastructurename,
+ CloudExadataInfrastructureUpdate properties, Context context);
+
+ /**
+ * Delete a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudexadatainfrastructurename);
+
+ /**
+ * Delete a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudexadatainfrastructurename,
+ Context context);
+
+ /**
+ * Delete a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudexadatainfrastructurename);
+
+ /**
+ * Delete a CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudexadatainfrastructurename, Context context);
+
+ /**
+ * Perform add storage capacity on exadata infra.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner>
+ beginAddStorageCapacity(String resourceGroupName, String cloudexadatainfrastructurename);
+
+ /**
+ * Perform add storage capacity on exadata infra.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudExadataInfrastructureInner>
+ beginAddStorageCapacity(String resourceGroupName, String cloudexadatainfrastructurename, Context context);
+
+ /**
+ * Perform add storage capacity on exadata infra.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner addStorageCapacity(String resourceGroupName, String cloudexadatainfrastructurename);
+
+ /**
+ * Perform add storage capacity on exadata infra.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 cloudExadataInfrastructure resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudExadataInfrastructureInner addStorageCapacity(String resourceGroupName, String cloudexadatainfrastructurename,
+ Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudVmClustersClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudVmClustersClient.java
new file mode 100644
index 000000000000..41f632936781
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/CloudVmClustersClient.java
@@ -0,0 +1,428 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.CloudVmClusterInner;
+import com.azure.resourcemanager.oracle.fluent.models.PrivateIpAddressPropertiesInner;
+import com.azure.resourcemanager.oracle.models.AddRemoveDbNode;
+import com.azure.resourcemanager.oracle.models.CloudVmClusterUpdate;
+import com.azure.resourcemanager.oracle.models.PrivateIpAddressesFilter;
+import java.util.List;
+
+/**
+ * An instance of this class provides access to all the operations defined in CloudVmClustersClient.
+ */
+public interface CloudVmClustersClient {
+ /**
+ * List CloudVmCluster resources by subscription ID.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 CloudVmCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List CloudVmCluster resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 CloudVmCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * List CloudVmCluster 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 CloudVmCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List CloudVmCluster 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 CloudVmCluster list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Get a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 CloudVmCluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String cloudvmclustername,
+ Context context);
+
+ /**
+ * Get a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 CloudVmCluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner getByResourceGroup(String resourceGroupName, String cloudvmclustername);
+
+ /**
+ * Create a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudvmclustername, CloudVmClusterInner resource);
+
+ /**
+ * Create a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginCreateOrUpdate(String resourceGroupName,
+ String cloudvmclustername, CloudVmClusterInner resource, Context context);
+
+ /**
+ * Create a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner createOrUpdate(String resourceGroupName, String cloudvmclustername,
+ CloudVmClusterInner resource);
+
+ /**
+ * Create a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner createOrUpdate(String resourceGroupName, String cloudvmclustername,
+ CloudVmClusterInner resource, Context context);
+
+ /**
+ * Update a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param properties 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 the {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginUpdate(String resourceGroupName,
+ String cloudvmclustername, CloudVmClusterUpdate properties);
+
+ /**
+ * Update a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param properties 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 the {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginUpdate(String resourceGroupName,
+ String cloudvmclustername, CloudVmClusterUpdate properties, Context context);
+
+ /**
+ * Update a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param properties 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner update(String resourceGroupName, String cloudvmclustername, CloudVmClusterUpdate properties);
+
+ /**
+ * Update a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param properties 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner update(String resourceGroupName, String cloudvmclustername, CloudVmClusterUpdate properties,
+ Context context);
+
+ /**
+ * Delete a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudvmclustername);
+
+ /**
+ * Delete a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudvmclustername,
+ Context context);
+
+ /**
+ * Delete a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudvmclustername);
+
+ /**
+ * Delete a CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 cloudvmclustername, Context context);
+
+ /**
+ * Add VMs to the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 the {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginAddVms(String resourceGroupName,
+ String cloudvmclustername, AddRemoveDbNode body);
+
+ /**
+ * Add VMs to the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginAddVms(String resourceGroupName,
+ String cloudvmclustername, AddRemoveDbNode body, Context context);
+
+ /**
+ * Add VMs to the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner addVms(String resourceGroupName, String cloudvmclustername, AddRemoveDbNode body);
+
+ /**
+ * Add VMs to the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner addVms(String resourceGroupName, String cloudvmclustername, AddRemoveDbNode body,
+ Context context);
+
+ /**
+ * List Private IP Addresses by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 array of PrivateIpAddressProperties along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listPrivateIpAddressesWithResponse(String resourceGroupName,
+ String cloudvmclustername, PrivateIpAddressesFilter body, Context context);
+
+ /**
+ * List Private IP Addresses by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 array of PrivateIpAddressProperties.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listPrivateIpAddresses(String resourceGroupName, String cloudvmclustername,
+ PrivateIpAddressesFilter body);
+
+ /**
+ * Remove VMs from the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 the {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginRemoveVms(String resourceGroupName,
+ String cloudvmclustername, AddRemoveDbNode body);
+
+ /**
+ * Remove VMs from the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudVmClusterInner> beginRemoveVms(String resourceGroupName,
+ String cloudvmclustername, AddRemoveDbNode body, Context context);
+
+ /**
+ * Remove VMs from the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner removeVms(String resourceGroupName, String cloudvmclustername, AddRemoveDbNode body);
+
+ /**
+ * Remove VMs from the VM Cluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param body The content of the action 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 cloudVmCluster resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudVmClusterInner removeVms(String resourceGroupName, String cloudvmclustername, AddRemoveDbNode body,
+ Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbNodesClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbNodesClient.java
new file mode 100644
index 000000000000..bdb2a5685c7a
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbNodesClient.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.DbNodeInner;
+import com.azure.resourcemanager.oracle.models.DbNodeAction;
+
+/**
+ * An instance of this class provides access to all the operations defined in DbNodesClient.
+ */
+public interface DbNodesClient {
+ /**
+ * List DbNode resources by CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 DbNode list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudVmCluster(String resourceGroupName, String cloudvmclustername);
+
+ /**
+ * List DbNode resources by CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 DbNode list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudVmCluster(String resourceGroupName, String cloudvmclustername,
+ Context context);
+
+ /**
+ * Get a DbNode.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DbNode along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudvmclustername, String dbnodeocid,
+ Context context);
+
+ /**
+ * Get a DbNode.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DbNode.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DbNodeInner get(String resourceGroupName, String cloudvmclustername, String dbnodeocid);
+
+ /**
+ * VM actions on DbNode of VM Cluster by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @param body The content of the action 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 the {@link SyncPoller} for polling of the DbNode resource belonging to vmCluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DbNodeInner> beginAction(String resourceGroupName, String cloudvmclustername,
+ String dbnodeocid, DbNodeAction body);
+
+ /**
+ * VM actions on DbNode of VM Cluster by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @param body The content of the action 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 {@link SyncPoller} for polling of the DbNode resource belonging to vmCluster.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DbNodeInner> beginAction(String resourceGroupName, String cloudvmclustername,
+ String dbnodeocid, DbNodeAction body, Context context);
+
+ /**
+ * VM actions on DbNode of VM Cluster by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @param body The content of the action 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 the DbNode resource belonging to vmCluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DbNodeInner action(String resourceGroupName, String cloudvmclustername, String dbnodeocid, DbNodeAction body);
+
+ /**
+ * VM actions on DbNode of VM Cluster by the provided filter.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param dbnodeocid DbNode OCID.
+ * @param body The content of the action 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 DbNode resource belonging to vmCluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DbNodeInner action(String resourceGroupName, String cloudvmclustername, String dbnodeocid, DbNodeAction body,
+ Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbServersClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbServersClient.java
new file mode 100644
index 000000000000..c8fc78c88eec
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbServersClient.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.DbServerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DbServersClient.
+ */
+public interface DbServersClient {
+ /**
+ * List DbServer resources by CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 DbServer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudExadataInfrastructure(String resourceGroupName,
+ String cloudexadatainfrastructurename);
+
+ /**
+ * List DbServer resources by CloudExadataInfrastructure.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure 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 DbServer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudExadataInfrastructure(String resourceGroupName,
+ String cloudexadatainfrastructurename, Context context);
+
+ /**
+ * Get a DbServer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param dbserverocid DbServer OCID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DbServer along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudexadatainfrastructurename,
+ String dbserverocid, Context context);
+
+ /**
+ * Get a DbServer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudexadatainfrastructurename CloudExadataInfrastructure name.
+ * @param dbserverocid DbServer OCID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DbServer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DbServerInner get(String resourceGroupName, String cloudexadatainfrastructurename, String dbserverocid);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbSystemShapesClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbSystemShapesClient.java
new file mode 100644
index 000000000000..911d76627354
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DbSystemShapesClient.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.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.DbSystemShapeInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DbSystemShapesClient.
+ */
+public interface DbSystemShapesClient {
+ /**
+ * List DbSystemShape resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DbSystemShape list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List DbSystemShape resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DbSystemShape list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a DbSystemShape.
+ *
+ * @param location The name of the Azure region.
+ * @param dbsystemshapename DbSystemShape 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 DbSystemShape along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String dbsystemshapename, Context context);
+
+ /**
+ * Get a DbSystemShape.
+ *
+ * @param location The name of the Azure region.
+ * @param dbsystemshapename DbSystemShape 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 DbSystemShape.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DbSystemShapeInner get(String location, String dbsystemshapename);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateViewsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateViewsClient.java
new file mode 100644
index 000000000000..dc2b0221108a
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateViewsClient.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.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.DnsPrivateViewInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DnsPrivateViewsClient.
+ */
+public interface DnsPrivateViewsClient {
+ /**
+ * List DnsPrivateView resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DnsPrivateView list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List DnsPrivateView resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DnsPrivateView list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a DnsPrivateView.
+ *
+ * @param location The name of the Azure region.
+ * @param dnsprivateviewocid DnsPrivateView OCID.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DnsPrivateView along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String dnsprivateviewocid, Context context);
+
+ /**
+ * Get a DnsPrivateView.
+ *
+ * @param location The name of the Azure region.
+ * @param dnsprivateviewocid DnsPrivateView OCID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 DnsPrivateView.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DnsPrivateViewInner get(String location, String dnsprivateviewocid);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateZonesClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateZonesClient.java
new file mode 100644
index 000000000000..6e3012d0d107
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/DnsPrivateZonesClient.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.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.DnsPrivateZoneInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in DnsPrivateZonesClient.
+ */
+public interface DnsPrivateZonesClient {
+ /**
+ * List DnsPrivateZone resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DnsPrivateZone list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List DnsPrivateZone resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 DnsPrivateZone list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a DnsPrivateZone.
+ *
+ * @param location The name of the Azure region.
+ * @param dnsprivatezonename DnsPrivateZone 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 DnsPrivateZone along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String dnsprivatezonename, Context context);
+
+ /**
+ * Get a DnsPrivateZone.
+ *
+ * @param location The name of the Azure region.
+ * @param dnsprivatezonename DnsPrivateZone 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 DnsPrivateZone.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DnsPrivateZoneInner get(String location, String dnsprivatezonename);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/GiVersionsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/GiVersionsClient.java
new file mode 100644
index 000000000000..40d88842c3c0
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/GiVersionsClient.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.oracle.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.GiVersionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in GiVersionsClient.
+ */
+public interface GiVersionsClient {
+ /**
+ * List GiVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 GiVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location);
+
+ /**
+ * List GiVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 GiVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String location, Context context);
+
+ /**
+ * Get a GiVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param giversionname GiVersion 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 GiVersion along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String location, String giversionname, Context context);
+
+ /**
+ * Get a GiVersion.
+ *
+ * @param location The name of the Azure region.
+ * @param giversionname GiVersion 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 GiVersion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GiVersionInner get(String location, String giversionname);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OperationsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OperationsClient.java
new file mode 100644
index 000000000000..0540824dadd3
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OperationsClient.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.oracle.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.oracle.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @throws com.azure.core.management.exception.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 the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleDatabaseResourceManager.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleDatabaseResourceManager.java
new file mode 100644
index 000000000000..9cdb2c1d9c85
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleDatabaseResourceManager.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for OracleDatabaseResourceManager class.
+ */
+public interface OracleDatabaseResourceManager {
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @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 OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the AutonomousDatabasesClient object to access its operations.
+ *
+ * @return the AutonomousDatabasesClient object.
+ */
+ AutonomousDatabasesClient getAutonomousDatabases();
+
+ /**
+ * Gets the CloudExadataInfrastructuresClient object to access its operations.
+ *
+ * @return the CloudExadataInfrastructuresClient object.
+ */
+ CloudExadataInfrastructuresClient getCloudExadataInfrastructures();
+
+ /**
+ * Gets the CloudVmClustersClient object to access its operations.
+ *
+ * @return the CloudVmClustersClient object.
+ */
+ CloudVmClustersClient getCloudVmClusters();
+
+ /**
+ * Gets the AutonomousDatabaseCharacterSetsClient object to access its operations.
+ *
+ * @return the AutonomousDatabaseCharacterSetsClient object.
+ */
+ AutonomousDatabaseCharacterSetsClient getAutonomousDatabaseCharacterSets();
+
+ /**
+ * Gets the AutonomousDatabaseNationalCharacterSetsClient object to access its operations.
+ *
+ * @return the AutonomousDatabaseNationalCharacterSetsClient object.
+ */
+ AutonomousDatabaseNationalCharacterSetsClient getAutonomousDatabaseNationalCharacterSets();
+
+ /**
+ * Gets the AutonomousDatabaseVersionsClient object to access its operations.
+ *
+ * @return the AutonomousDatabaseVersionsClient object.
+ */
+ AutonomousDatabaseVersionsClient getAutonomousDatabaseVersions();
+
+ /**
+ * Gets the DbSystemShapesClient object to access its operations.
+ *
+ * @return the DbSystemShapesClient object.
+ */
+ DbSystemShapesClient getDbSystemShapes();
+
+ /**
+ * Gets the DnsPrivateViewsClient object to access its operations.
+ *
+ * @return the DnsPrivateViewsClient object.
+ */
+ DnsPrivateViewsClient getDnsPrivateViews();
+
+ /**
+ * Gets the DnsPrivateZonesClient object to access its operations.
+ *
+ * @return the DnsPrivateZonesClient object.
+ */
+ DnsPrivateZonesClient getDnsPrivateZones();
+
+ /**
+ * Gets the GiVersionsClient object to access its operations.
+ *
+ * @return the GiVersionsClient object.
+ */
+ GiVersionsClient getGiVersions();
+
+ /**
+ * Gets the OracleSubscriptionsClient object to access its operations.
+ *
+ * @return the OracleSubscriptionsClient object.
+ */
+ OracleSubscriptionsClient getOracleSubscriptions();
+
+ /**
+ * Gets the AutonomousDatabaseBackupsClient object to access its operations.
+ *
+ * @return the AutonomousDatabaseBackupsClient object.
+ */
+ AutonomousDatabaseBackupsClient getAutonomousDatabaseBackups();
+
+ /**
+ * Gets the DbServersClient object to access its operations.
+ *
+ * @return the DbServersClient object.
+ */
+ DbServersClient getDbServers();
+
+ /**
+ * Gets the DbNodesClient object to access its operations.
+ *
+ * @return the DbNodesClient object.
+ */
+ DbNodesClient getDbNodes();
+
+ /**
+ * Gets the VirtualNetworkAddressesClient object to access its operations.
+ *
+ * @return the VirtualNetworkAddressesClient object.
+ */
+ VirtualNetworkAddressesClient getVirtualNetworkAddresses();
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleSubscriptionsClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleSubscriptionsClient.java
new file mode 100644
index 000000000000..3add0b94d90c
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/OracleSubscriptionsClient.java
@@ -0,0 +1,348 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.ActivationLinksInner;
+import com.azure.resourcemanager.oracle.fluent.models.CloudAccountDetailsInner;
+import com.azure.resourcemanager.oracle.fluent.models.OracleSubscriptionInner;
+import com.azure.resourcemanager.oracle.fluent.models.SaasSubscriptionDetailsInner;
+import com.azure.resourcemanager.oracle.models.OracleSubscriptionUpdate;
+
+/**
+ * An instance of this class provides access to all the operations defined in OracleSubscriptionsClient.
+ */
+public interface OracleSubscriptionsClient {
+ /**
+ * List OracleSubscription resources by subscription ID.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 OracleSubscription list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List OracleSubscription resources by subscription ID.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 OracleSubscription list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Get a OracleSubscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 OracleSubscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(Context context);
+
+ /**
+ * Get a OracleSubscription.
+ *
+ * @throws com.azure.core.management.exception.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 OracleSubscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OracleSubscriptionInner get();
+
+ /**
+ * Create a OracleSubscription.
+ *
+ * @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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OracleSubscriptionInner>
+ beginCreateOrUpdate(OracleSubscriptionInner resource);
+
+ /**
+ * Create a OracleSubscription.
+ *
+ * @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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OracleSubscriptionInner>
+ beginCreateOrUpdate(OracleSubscriptionInner resource, Context context);
+
+ /**
+ * Create a OracleSubscription.
+ *
+ * @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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OracleSubscriptionInner createOrUpdate(OracleSubscriptionInner resource);
+
+ /**
+ * Create a OracleSubscription.
+ *
+ * @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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OracleSubscriptionInner createOrUpdate(OracleSubscriptionInner resource, Context context);
+
+ /**
+ * Update a OracleSubscription.
+ *
+ * @param properties 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 the {@link SyncPoller} for polling of oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OracleSubscriptionInner>
+ beginUpdate(OracleSubscriptionUpdate properties);
+
+ /**
+ * Update a OracleSubscription.
+ *
+ * @param properties 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 the {@link SyncPoller} for polling of oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, OracleSubscriptionInner>
+ beginUpdate(OracleSubscriptionUpdate properties, Context context);
+
+ /**
+ * Update a OracleSubscription.
+ *
+ * @param properties 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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OracleSubscriptionInner update(OracleSubscriptionUpdate properties);
+
+ /**
+ * Update a OracleSubscription.
+ *
+ * @param properties 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 oracleSubscription resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OracleSubscriptionInner update(OracleSubscriptionUpdate properties, Context context);
+
+ /**
+ * Delete a OracleSubscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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();
+
+ /**
+ * Delete a OracleSubscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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(Context context);
+
+ /**
+ * Delete a OracleSubscription.
+ *
+ * @throws com.azure.core.management.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();
+
+ /**
+ * Delete a OracleSubscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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(Context context);
+
+ /**
+ * List Activation Links.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 activation Links model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ActivationLinksInner> beginListActivationLinks();
+
+ /**
+ * List Activation Links.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 activation Links model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ActivationLinksInner> beginListActivationLinks(Context context);
+
+ /**
+ * List Activation Links.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return activation Links model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActivationLinksInner listActivationLinks();
+
+ /**
+ * List Activation Links.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return activation Links model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ActivationLinksInner listActivationLinks(Context context);
+
+ /**
+ * List Cloud Account Details.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 cloud Account Details model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountDetailsInner> beginListCloudAccountDetails();
+
+ /**
+ * List Cloud Account Details.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloud Account Details model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, CloudAccountDetailsInner>
+ beginListCloudAccountDetails(Context context);
+
+ /**
+ * List Cloud Account Details.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cloud Account Details model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountDetailsInner listCloudAccountDetails();
+
+ /**
+ * List Cloud Account Details.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return cloud Account Details model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CloudAccountDetailsInner listCloudAccountDetails(Context context);
+
+ /**
+ * List Saas Subscription Details.
+ *
+ * @throws com.azure.core.management.exception.ManagementException 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 saaS Subscription Details model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaasSubscriptionDetailsInner>
+ beginListSaasSubscriptionDetails();
+
+ /**
+ * List Saas Subscription Details.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 saaS Subscription Details model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SaasSubscriptionDetailsInner>
+ beginListSaasSubscriptionDetails(Context context);
+
+ /**
+ * List Saas Subscription Details.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return saaS Subscription Details model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaasSubscriptionDetailsInner listSaasSubscriptionDetails();
+
+ /**
+ * List Saas Subscription Details.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return saaS Subscription Details model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SaasSubscriptionDetailsInner listSaasSubscriptionDetails(Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/VirtualNetworkAddressesClient.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/VirtualNetworkAddressesClient.java
new file mode 100644
index 000000000000..662783ad3dba
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/VirtualNetworkAddressesClient.java
@@ -0,0 +1,204 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.fluent.models.VirtualNetworkAddressInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in VirtualNetworkAddressesClient.
+ */
+public interface VirtualNetworkAddressesClient {
+ /**
+ * List VirtualNetworkAddress resources by CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 VirtualNetworkAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudVmCluster(String resourceGroupName, String cloudvmclustername);
+
+ /**
+ * List VirtualNetworkAddress resources by CloudVmCluster.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster 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 VirtualNetworkAddress list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByCloudVmCluster(String resourceGroupName, String cloudvmclustername,
+ Context context);
+
+ /**
+ * Get a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 VirtualNetworkAddress along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String cloudvmclustername,
+ String virtualnetworkaddressname, Context context);
+
+ /**
+ * Get a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 VirtualNetworkAddress.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkAddressInner get(String resourceGroupName, String cloudvmclustername,
+ String virtualnetworkaddressname);
+
+ /**
+ * Create a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @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 virtual IP resource belonging to a vm cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkAddressInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudvmclustername, String virtualnetworkaddressname,
+ VirtualNetworkAddressInner resource);
+
+ /**
+ * Create a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @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 virtual IP resource belonging to a vm cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, VirtualNetworkAddressInner> beginCreateOrUpdate(
+ String resourceGroupName, String cloudvmclustername, String virtualnetworkaddressname,
+ VirtualNetworkAddressInner resource, Context context);
+
+ /**
+ * Create a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @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 virtual IP resource belonging to a vm cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkAddressInner createOrUpdate(String resourceGroupName, String cloudvmclustername,
+ String virtualnetworkaddressname, VirtualNetworkAddressInner resource);
+
+ /**
+ * Create a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @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 virtual IP resource belonging to a vm cluster resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VirtualNetworkAddressInner createOrUpdate(String resourceGroupName, String cloudvmclustername,
+ String virtualnetworkaddressname, VirtualNetworkAddressInner resource, Context context);
+
+ /**
+ * Delete a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudvmclustername,
+ String virtualnetworkaddressname);
+
+ /**
+ * Delete a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 cloudvmclustername,
+ String virtualnetworkaddressname, Context context);
+
+ /**
+ * Delete a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudvmclustername, String virtualnetworkaddressname);
+
+ /**
+ * Delete a VirtualNetworkAddress.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param cloudvmclustername CloudVmCluster name.
+ * @param virtualnetworkaddressname Virtual IP address hostname.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cloudvmclustername, String virtualnetworkaddressname, Context context);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/ActivationLinksInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/ActivationLinksInner.java
new file mode 100644
index 000000000000..1cd99fe3761c
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/ActivationLinksInner.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Activation Links model.
+ */
+@Immutable
+public final class ActivationLinksInner {
+ /*
+ * New Cloud Account Activation Link
+ */
+ @JsonProperty(value = "newCloudAccountActivationLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String newCloudAccountActivationLink;
+
+ /*
+ * Existing Cloud Account Activation Link
+ */
+ @JsonProperty(value = "existingCloudAccountActivationLink", access = JsonProperty.Access.WRITE_ONLY)
+ private String existingCloudAccountActivationLink;
+
+ /**
+ * Creates an instance of ActivationLinksInner class.
+ */
+ public ActivationLinksInner() {
+ }
+
+ /**
+ * Get the newCloudAccountActivationLink property: New Cloud Account Activation Link.
+ *
+ * @return the newCloudAccountActivationLink value.
+ */
+ public String newCloudAccountActivationLink() {
+ return this.newCloudAccountActivationLink;
+ }
+
+ /**
+ * Get the existingCloudAccountActivationLink property: Existing Cloud Account Activation Link.
+ *
+ * @return the existingCloudAccountActivationLink value.
+ */
+ public String existingCloudAccountActivationLink() {
+ return this.existingCloudAccountActivationLink;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseBackupInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseBackupInner.java
new file mode 100644
index 000000000000..19448a50d69b
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseBackupInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AutonomousDatabaseBackup resource definition.
+ */
+@Fluent
+public final class AutonomousDatabaseBackupInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private AutonomousDatabaseBackupProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of AutonomousDatabaseBackupInner class.
+ */
+ public AutonomousDatabaseBackupInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AutonomousDatabaseBackupProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the AutonomousDatabaseBackupInner object itself.
+ */
+ public AutonomousDatabaseBackupInner withProperties(AutonomousDatabaseBackupProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseCharacterSetInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseCharacterSetInner.java
new file mode 100644
index 000000000000..17504a328c40
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseCharacterSetInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSetProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AutonomousDatabaseCharacterSets resource definition.
+ */
+@Fluent
+public final class AutonomousDatabaseCharacterSetInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private AutonomousDatabaseCharacterSetProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of AutonomousDatabaseCharacterSetInner class.
+ */
+ public AutonomousDatabaseCharacterSetInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AutonomousDatabaseCharacterSetProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the AutonomousDatabaseCharacterSetInner object itself.
+ */
+ public AutonomousDatabaseCharacterSetInner withProperties(AutonomousDatabaseCharacterSetProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseInner.java
new file mode 100644
index 000000000000..0336f0e931a4
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseInner.java
@@ -0,0 +1,94 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBaseProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * Autonomous Database resource model.
+ */
+@Fluent
+public final class AutonomousDatabaseInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private AutonomousDatabaseBaseProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of AutonomousDatabaseInner class.
+ */
+ public AutonomousDatabaseInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AutonomousDatabaseBaseProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the AutonomousDatabaseInner object itself.
+ */
+ public AutonomousDatabaseInner withProperties(AutonomousDatabaseBaseProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public AutonomousDatabaseInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public AutonomousDatabaseInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseNationalCharacterSetInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseNationalCharacterSetInner.java
new file mode 100644
index 000000000000..5f5d067f9a80
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseNationalCharacterSetInner.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSetProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AutonomousDatabaseNationalCharacterSets resource definition.
+ */
+@Fluent
+public final class AutonomousDatabaseNationalCharacterSetInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private AutonomousDatabaseNationalCharacterSetProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of AutonomousDatabaseNationalCharacterSetInner class.
+ */
+ public AutonomousDatabaseNationalCharacterSetInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AutonomousDatabaseNationalCharacterSetProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the AutonomousDatabaseNationalCharacterSetInner object itself.
+ */
+ public AutonomousDatabaseNationalCharacterSetInner
+ withProperties(AutonomousDatabaseNationalCharacterSetProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseWalletFileInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseWalletFileInner.java
new file mode 100644
index 000000000000..3bfbf94ff622
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDatabaseWalletFileInner.java
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Autonomous Database Wallet File resource model.
+ */
+@Fluent
+public final class AutonomousDatabaseWalletFileInner {
+ /*
+ * The base64 encoded wallet files
+ */
+ @JsonProperty(value = "walletFiles", required = true)
+ private String walletFiles;
+
+ /**
+ * Creates an instance of AutonomousDatabaseWalletFileInner class.
+ */
+ public AutonomousDatabaseWalletFileInner() {
+ }
+
+ /**
+ * Get the walletFiles property: The base64 encoded wallet files.
+ *
+ * @return the walletFiles value.
+ */
+ public String walletFiles() {
+ return this.walletFiles;
+ }
+
+ /**
+ * Set the walletFiles property: The base64 encoded wallet files.
+ *
+ * @param walletFiles the walletFiles value to set.
+ * @return the AutonomousDatabaseWalletFileInner object itself.
+ */
+ public AutonomousDatabaseWalletFileInner withWalletFiles(String walletFiles) {
+ this.walletFiles = walletFiles;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (walletFiles() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property walletFiles in model AutonomousDatabaseWalletFileInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AutonomousDatabaseWalletFileInner.class);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDbVersionInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDbVersionInner.java
new file mode 100644
index 000000000000..22183e4b4dc8
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/AutonomousDbVersionInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.AutonomousDbVersionProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * AutonomousDbVersion resource definition.
+ */
+@Fluent
+public final class AutonomousDbVersionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private AutonomousDbVersionProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of AutonomousDbVersionInner class.
+ */
+ public AutonomousDbVersionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public AutonomousDbVersionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the AutonomousDbVersionInner object itself.
+ */
+ public AutonomousDbVersionInner withProperties(AutonomousDbVersionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudAccountDetailsInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudAccountDetailsInner.java
new file mode 100644
index 000000000000..e219b6744590
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudAccountDetailsInner.java
@@ -0,0 +1,58 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cloud Account Details model.
+ */
+@Immutable
+public final class CloudAccountDetailsInner {
+ /*
+ * Cloud Account name
+ */
+ @JsonProperty(value = "cloudAccountName", access = JsonProperty.Access.WRITE_ONLY)
+ private String cloudAccountName;
+
+ /*
+ * Cloud Account Home region
+ */
+ @JsonProperty(value = "cloudAccountHomeRegion", access = JsonProperty.Access.WRITE_ONLY)
+ private String cloudAccountHomeRegion;
+
+ /**
+ * Creates an instance of CloudAccountDetailsInner class.
+ */
+ public CloudAccountDetailsInner() {
+ }
+
+ /**
+ * Get the cloudAccountName property: Cloud Account name.
+ *
+ * @return the cloudAccountName value.
+ */
+ public String cloudAccountName() {
+ return this.cloudAccountName;
+ }
+
+ /**
+ * Get the cloudAccountHomeRegion property: Cloud Account Home region.
+ *
+ * @return the cloudAccountHomeRegion value.
+ */
+ public String cloudAccountHomeRegion() {
+ return this.cloudAccountHomeRegion;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudExadataInfrastructureInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudExadataInfrastructureInner.java
new file mode 100644
index 000000000000..795069320637
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudExadataInfrastructureInner.java
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.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.oracle.models.CloudExadataInfrastructureProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * CloudExadataInfrastructure resource definition.
+ */
+@Fluent
+public final class CloudExadataInfrastructureInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private CloudExadataInfrastructureProperties properties;
+
+ /*
+ * CloudExadataInfrastructure zones
+ */
+ @JsonProperty(value = "zones", required = true)
+ private List zones;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of CloudExadataInfrastructureInner class.
+ */
+ public CloudExadataInfrastructureInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public CloudExadataInfrastructureProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the CloudExadataInfrastructureInner object itself.
+ */
+ public CloudExadataInfrastructureInner withProperties(CloudExadataInfrastructureProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the zones property: CloudExadataInfrastructure zones.
+ *
+ * @return the zones value.
+ */
+ public List zones() {
+ return this.zones;
+ }
+
+ /**
+ * Set the zones property: CloudExadataInfrastructure zones.
+ *
+ * @param zones the zones value to set.
+ * @return the CloudExadataInfrastructureInner object itself.
+ */
+ public CloudExadataInfrastructureInner withZones(List zones) {
+ this.zones = zones;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudExadataInfrastructureInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudExadataInfrastructureInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (zones() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property zones in model CloudExadataInfrastructureInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(CloudExadataInfrastructureInner.class);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudVmClusterInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudVmClusterInner.java
new file mode 100644
index 000000000000..75eb7a290016
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/CloudVmClusterInner.java
@@ -0,0 +1,94 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.CloudVmClusterProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * CloudVmCluster resource definition.
+ */
+@Fluent
+public final class CloudVmClusterInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private CloudVmClusterProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of CloudVmClusterInner class.
+ */
+ public CloudVmClusterInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public CloudVmClusterProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the CloudVmClusterInner object itself.
+ */
+ public CloudVmClusterInner withProperties(CloudVmClusterProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudVmClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public CloudVmClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbNodeInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbNodeInner.java
new file mode 100644
index 000000000000..e362634255fa
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbNodeInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.DbNodeProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The DbNode resource belonging to vmCluster.
+ */
+@Fluent
+public final class DbNodeInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private DbNodeProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of DbNodeInner class.
+ */
+ public DbNodeInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public DbNodeProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the DbNodeInner object itself.
+ */
+ public DbNodeInner withProperties(DbNodeProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbServerInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbServerInner.java
new file mode 100644
index 000000000000..62d6ac94c3a2
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbServerInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.DbServerProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * DbServer resource model.
+ */
+@Fluent
+public final class DbServerInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private DbServerProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of DbServerInner class.
+ */
+ public DbServerInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public DbServerProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the DbServerInner object itself.
+ */
+ public DbServerInner withProperties(DbServerProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbSystemShapeInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbSystemShapeInner.java
new file mode 100644
index 000000000000..3475598ec39d
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DbSystemShapeInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.DbSystemShapeProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * DbSystemShape resource definition.
+ */
+@Fluent
+public final class DbSystemShapeInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private DbSystemShapeProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of DbSystemShapeInner class.
+ */
+ public DbSystemShapeInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public DbSystemShapeProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the DbSystemShapeInner object itself.
+ */
+ public DbSystemShapeInner withProperties(DbSystemShapeProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateViewInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateViewInner.java
new file mode 100644
index 000000000000..86097c375629
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateViewInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.DnsPrivateViewProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * DnsPrivateView resource definition.
+ */
+@Fluent
+public final class DnsPrivateViewInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private DnsPrivateViewProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of DnsPrivateViewInner class.
+ */
+ public DnsPrivateViewInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public DnsPrivateViewProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the DnsPrivateViewInner object itself.
+ */
+ public DnsPrivateViewInner withProperties(DnsPrivateViewProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateZoneInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateZoneInner.java
new file mode 100644
index 000000000000..b7b933ef9133
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/DnsPrivateZoneInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.DnsPrivateZoneProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * DnsPrivateZone resource definition.
+ */
+@Fluent
+public final class DnsPrivateZoneInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private DnsPrivateZoneProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of DnsPrivateZoneInner class.
+ */
+ public DnsPrivateZoneInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public DnsPrivateZoneProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the DnsPrivateZoneInner object itself.
+ */
+ public DnsPrivateZoneInner withProperties(DnsPrivateZoneProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/GiVersionInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/GiVersionInner.java
new file mode 100644
index 000000000000..77b7c9aec2f5
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/GiVersionInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.GiVersionProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * GiVersion resource definition.
+ */
+@Fluent
+public final class GiVersionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private GiVersionProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of GiVersionInner class.
+ */
+ public GiVersionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public GiVersionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the GiVersionInner object itself.
+ */
+ public GiVersionInner withProperties(GiVersionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OperationInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..8c161356a4e0
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OperationInner.java
@@ -0,0 +1,126 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.oracle.models.ActionType;
+import com.azure.resourcemanager.oracle.models.OperationDisplay;
+import com.azure.resourcemanager.oracle.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;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ public OperationInner() {
+ }
+
+ /**
+ * 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/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OracleSubscriptionInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OracleSubscriptionInner.java
new file mode 100644
index 000000000000..9f90a74b040d
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/OracleSubscriptionInner.java
@@ -0,0 +1,105 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.OracleSubscriptionProperties;
+import com.azure.resourcemanager.oracle.models.Plan;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * OracleSubscription resource definition.
+ */
+@Fluent
+public final class OracleSubscriptionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private OracleSubscriptionProperties properties;
+
+ /*
+ * Details of the resource plan.
+ */
+ @JsonProperty(value = "plan")
+ private Plan plan;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of OracleSubscriptionInner class.
+ */
+ public OracleSubscriptionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public OracleSubscriptionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the OracleSubscriptionInner object itself.
+ */
+ public OracleSubscriptionInner withProperties(OracleSubscriptionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the plan property: Details of the resource plan.
+ *
+ * @return the plan value.
+ */
+ public Plan plan() {
+ return this.plan;
+ }
+
+ /**
+ * Set the plan property: Details of the resource plan.
+ *
+ * @param plan the plan value to set.
+ * @return the OracleSubscriptionInner object itself.
+ */
+ public OracleSubscriptionInner withPlan(Plan plan) {
+ this.plan = plan;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (plan() != null) {
+ plan().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/PrivateIpAddressPropertiesInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/PrivateIpAddressPropertiesInner.java
new file mode 100644
index 000000000000..cb01fb8d8a36
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/PrivateIpAddressPropertiesInner.java
@@ -0,0 +1,186 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * PrivateIpAddress resource properties.
+ */
+@Fluent
+public final class PrivateIpAddressPropertiesInner {
+ /*
+ * PrivateIpAddresses displayName
+ */
+ @JsonProperty(value = "displayName", required = true)
+ private String displayName;
+
+ /*
+ * PrivateIpAddresses hostnameLabel
+ */
+ @JsonProperty(value = "hostnameLabel", required = true)
+ private String hostnameLabel;
+
+ /*
+ * PrivateIpAddresses Id
+ */
+ @JsonProperty(value = "ocid", required = true)
+ private String ocid;
+
+ /*
+ * PrivateIpAddresses ipAddress
+ */
+ @JsonProperty(value = "ipAddress", required = true)
+ private String ipAddress;
+
+ /*
+ * PrivateIpAddresses subnetId
+ */
+ @JsonProperty(value = "subnetId", required = true)
+ private String subnetId;
+
+ /**
+ * Creates an instance of PrivateIpAddressPropertiesInner class.
+ */
+ public PrivateIpAddressPropertiesInner() {
+ }
+
+ /**
+ * Get the displayName property: PrivateIpAddresses displayName.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: PrivateIpAddresses displayName.
+ *
+ * @param displayName the displayName value to set.
+ * @return the PrivateIpAddressPropertiesInner object itself.
+ */
+ public PrivateIpAddressPropertiesInner withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the hostnameLabel property: PrivateIpAddresses hostnameLabel.
+ *
+ * @return the hostnameLabel value.
+ */
+ public String hostnameLabel() {
+ return this.hostnameLabel;
+ }
+
+ /**
+ * Set the hostnameLabel property: PrivateIpAddresses hostnameLabel.
+ *
+ * @param hostnameLabel the hostnameLabel value to set.
+ * @return the PrivateIpAddressPropertiesInner object itself.
+ */
+ public PrivateIpAddressPropertiesInner withHostnameLabel(String hostnameLabel) {
+ this.hostnameLabel = hostnameLabel;
+ return this;
+ }
+
+ /**
+ * Get the ocid property: PrivateIpAddresses Id.
+ *
+ * @return the ocid value.
+ */
+ public String ocid() {
+ return this.ocid;
+ }
+
+ /**
+ * Set the ocid property: PrivateIpAddresses Id.
+ *
+ * @param ocid the ocid value to set.
+ * @return the PrivateIpAddressPropertiesInner object itself.
+ */
+ public PrivateIpAddressPropertiesInner withOcid(String ocid) {
+ this.ocid = ocid;
+ return this;
+ }
+
+ /**
+ * Get the ipAddress property: PrivateIpAddresses ipAddress.
+ *
+ * @return the ipAddress value.
+ */
+ public String ipAddress() {
+ return this.ipAddress;
+ }
+
+ /**
+ * Set the ipAddress property: PrivateIpAddresses ipAddress.
+ *
+ * @param ipAddress the ipAddress value to set.
+ * @return the PrivateIpAddressPropertiesInner object itself.
+ */
+ public PrivateIpAddressPropertiesInner withIpAddress(String ipAddress) {
+ this.ipAddress = ipAddress;
+ return this;
+ }
+
+ /**
+ * Get the subnetId property: PrivateIpAddresses subnetId.
+ *
+ * @return the subnetId value.
+ */
+ public String subnetId() {
+ return this.subnetId;
+ }
+
+ /**
+ * Set the subnetId property: PrivateIpAddresses subnetId.
+ *
+ * @param subnetId the subnetId value to set.
+ * @return the PrivateIpAddressPropertiesInner object itself.
+ */
+ public PrivateIpAddressPropertiesInner withSubnetId(String subnetId) {
+ this.subnetId = subnetId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (displayName() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property displayName in model PrivateIpAddressPropertiesInner"));
+ }
+ if (hostnameLabel() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property hostnameLabel in model PrivateIpAddressPropertiesInner"));
+ }
+ if (ocid() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property ocid in model PrivateIpAddressPropertiesInner"));
+ }
+ if (ipAddress() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property ipAddress in model PrivateIpAddressPropertiesInner"));
+ }
+ if (subnetId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property subnetId in model PrivateIpAddressPropertiesInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateIpAddressPropertiesInner.class);
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/SaasSubscriptionDetailsInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/SaasSubscriptionDetailsInner.java
new file mode 100644
index 000000000000..fe86f446a173
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/SaasSubscriptionDetailsInner.java
@@ -0,0 +1,209 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/**
+ * SaaS Subscription Details model.
+ */
+@Immutable
+public final class SaasSubscriptionDetailsInner {
+ /*
+ * Purchased SaaS subscription ID
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * SaaS subscription name
+ */
+ @JsonProperty(value = "subscriptionName", access = JsonProperty.Access.WRITE_ONLY)
+ private String subscriptionName;
+
+ /*
+ * Creation Date and Time
+ */
+ @JsonProperty(value = "timeCreated", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime timeCreated;
+
+ /*
+ * Purchased offer ID
+ */
+ @JsonProperty(value = "offerId", access = JsonProperty.Access.WRITE_ONLY)
+ private String offerId;
+
+ /*
+ * Purchased offer's plan ID
+ */
+ @JsonProperty(value = "planId", access = JsonProperty.Access.WRITE_ONLY)
+ private String planId;
+
+ /*
+ * Indicates the status of the Subscription.
+ */
+ @JsonProperty(value = "saasSubscriptionStatus", access = JsonProperty.Access.WRITE_ONLY)
+ private String saasSubscriptionStatus;
+
+ /*
+ * Publisher ID
+ */
+ @JsonProperty(value = "publisherId", access = JsonProperty.Access.WRITE_ONLY)
+ private String publisherId;
+
+ /*
+ * Purchaser Email ID
+ */
+ @JsonProperty(value = "purchaserEmailId", access = JsonProperty.Access.WRITE_ONLY)
+ private String purchaserEmailId;
+
+ /*
+ * Purchaser Tenant ID
+ */
+ @JsonProperty(value = "purchaserTenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private String purchaserTenantId;
+
+ /*
+ * Purchase Term Unit
+ */
+ @JsonProperty(value = "termUnit", access = JsonProperty.Access.WRITE_ONLY)
+ private String termUnit;
+
+ /*
+ * AutoRenew flag
+ */
+ @JsonProperty(value = "isAutoRenew", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isAutoRenew;
+
+ /*
+ * FreeTrial flag
+ */
+ @JsonProperty(value = "isFreeTrial", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isFreeTrial;
+
+ /**
+ * Creates an instance of SaasSubscriptionDetailsInner class.
+ */
+ public SaasSubscriptionDetailsInner() {
+ }
+
+ /**
+ * Get the id property: Purchased SaaS subscription ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the subscriptionName property: SaaS subscription name.
+ *
+ * @return the subscriptionName value.
+ */
+ public String subscriptionName() {
+ return this.subscriptionName;
+ }
+
+ /**
+ * Get the timeCreated property: Creation Date and Time.
+ *
+ * @return the timeCreated value.
+ */
+ public OffsetDateTime timeCreated() {
+ return this.timeCreated;
+ }
+
+ /**
+ * Get the offerId property: Purchased offer ID.
+ *
+ * @return the offerId value.
+ */
+ public String offerId() {
+ return this.offerId;
+ }
+
+ /**
+ * Get the planId property: Purchased offer's plan ID.
+ *
+ * @return the planId value.
+ */
+ public String planId() {
+ return this.planId;
+ }
+
+ /**
+ * Get the saasSubscriptionStatus property: Indicates the status of the Subscription.
+ *
+ * @return the saasSubscriptionStatus value.
+ */
+ public String saasSubscriptionStatus() {
+ return this.saasSubscriptionStatus;
+ }
+
+ /**
+ * Get the publisherId property: Publisher ID.
+ *
+ * @return the publisherId value.
+ */
+ public String publisherId() {
+ return this.publisherId;
+ }
+
+ /**
+ * Get the purchaserEmailId property: Purchaser Email ID.
+ *
+ * @return the purchaserEmailId value.
+ */
+ public String purchaserEmailId() {
+ return this.purchaserEmailId;
+ }
+
+ /**
+ * Get the purchaserTenantId property: Purchaser Tenant ID.
+ *
+ * @return the purchaserTenantId value.
+ */
+ public String purchaserTenantId() {
+ return this.purchaserTenantId;
+ }
+
+ /**
+ * Get the termUnit property: Purchase Term Unit.
+ *
+ * @return the termUnit value.
+ */
+ public String termUnit() {
+ return this.termUnit;
+ }
+
+ /**
+ * Get the isAutoRenew property: AutoRenew flag.
+ *
+ * @return the isAutoRenew value.
+ */
+ public Boolean isAutoRenew() {
+ return this.isAutoRenew;
+ }
+
+ /**
+ * Get the isFreeTrial property: FreeTrial flag.
+ *
+ * @return the isFreeTrial value.
+ */
+ public Boolean isFreeTrial() {
+ return this.isFreeTrial;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/VirtualNetworkAddressInner.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/VirtualNetworkAddressInner.java
new file mode 100644
index 000000000000..7b031a6f4ca7
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/VirtualNetworkAddressInner.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.models.VirtualNetworkAddressProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Virtual IP resource belonging to a vm cluster resource.
+ */
+@Fluent
+public final class VirtualNetworkAddressInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ @JsonProperty(value = "properties")
+ private VirtualNetworkAddressProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Creates an instance of VirtualNetworkAddressInner class.
+ */
+ public VirtualNetworkAddressInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public VirtualNetworkAddressProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the VirtualNetworkAddressInner object itself.
+ */
+ public VirtualNetworkAddressInner withProperties(VirtualNetworkAddressProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/package-info.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/package-info.java
new file mode 100644
index 000000000000..67b26dd09440
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// 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 OracleDatabaseResourceManager.
+ * null.
+ */
+package com.azure.resourcemanager.oracle.fluent.models;
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/package-info.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/package-info.java
new file mode 100644
index 000000000000..00362edaef3b
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/fluent/package-info.java
@@ -0,0 +1,9 @@
+// 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 OracleDatabaseResourceManager.
+ * null.
+ */
+package com.azure.resourcemanager.oracle.fluent;
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/ActivationLinksImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/ActivationLinksImpl.java
new file mode 100644
index 000000000000..40546c83315f
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/ActivationLinksImpl.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.resourcemanager.oracle.fluent.models.ActivationLinksInner;
+import com.azure.resourcemanager.oracle.models.ActivationLinks;
+
+public final class ActivationLinksImpl implements ActivationLinks {
+ private ActivationLinksInner innerObject;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ ActivationLinksImpl(ActivationLinksInner innerObject,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String newCloudAccountActivationLink() {
+ return this.innerModel().newCloudAccountActivationLink();
+ }
+
+ public String existingCloudAccountActivationLink() {
+ return this.innerModel().existingCloudAccountActivationLink();
+ }
+
+ public ActivationLinksInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupImpl.java
new file mode 100644
index 000000000000..2a7be6f9b4d6
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupImpl.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.oracle.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseBackupInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackup;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupProperties;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupUpdate;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupUpdateProperties;
+
+public final class AutonomousDatabaseBackupImpl
+ implements AutonomousDatabaseBackup, AutonomousDatabaseBackup.Definition, AutonomousDatabaseBackup.Update {
+ private AutonomousDatabaseBackupInner innerObject;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AutonomousDatabaseBackupProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public AutonomousDatabaseBackupInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String autonomousdatabasename;
+
+ private String adbbackupid;
+
+ private AutonomousDatabaseBackupUpdate updateProperties;
+
+ public AutonomousDatabaseBackupImpl withExistingAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename) {
+ this.resourceGroupName = resourceGroupName;
+ this.autonomousdatabasename = autonomousdatabasename;
+ return this;
+ }
+
+ public AutonomousDatabaseBackup create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .createOrUpdate(resourceGroupName, autonomousdatabasename, adbbackupid, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public AutonomousDatabaseBackup create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .createOrUpdate(resourceGroupName, autonomousdatabasename, adbbackupid, this.innerModel(), context);
+ return this;
+ }
+
+ AutonomousDatabaseBackupImpl(String name, com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = new AutonomousDatabaseBackupInner();
+ this.serviceManager = serviceManager;
+ this.adbbackupid = name;
+ }
+
+ public AutonomousDatabaseBackupImpl update() {
+ this.updateProperties = new AutonomousDatabaseBackupUpdate();
+ return this;
+ }
+
+ public AutonomousDatabaseBackup apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .update(resourceGroupName, autonomousdatabasename, adbbackupid, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public AutonomousDatabaseBackup apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .update(resourceGroupName, autonomousdatabasename, adbbackupid, updateProperties, context);
+ return this;
+ }
+
+ AutonomousDatabaseBackupImpl(AutonomousDatabaseBackupInner innerObject,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.autonomousdatabasename
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "autonomousDatabases");
+ this.adbbackupid = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "autonomousDatabaseBackups");
+ }
+
+ public AutonomousDatabaseBackup refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AutonomousDatabaseBackup refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabaseBackups()
+ .getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, context)
+ .getValue();
+ return this;
+ }
+
+ public AutonomousDatabaseBackupImpl withProperties(AutonomousDatabaseBackupProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public AutonomousDatabaseBackupImpl withProperties(AutonomousDatabaseBackupUpdateProperties properties) {
+ this.updateProperties.withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsClientImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsClientImpl.java
new file mode 100644
index 000000000000..19f324324dae
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsClientImpl.java
@@ -0,0 +1,1226 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseBackupsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseBackupInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupListResult;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackupUpdate;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseBackupsClient.
+ */
+public final class AutonomousDatabaseBackupsClientImpl implements AutonomousDatabaseBackupsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AutonomousDatabaseBackupsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final OracleDatabaseResourceManagerImpl client;
+
+ /**
+ * Initializes an instance of AutonomousDatabaseBackupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AutonomousDatabaseBackupsClientImpl(OracleDatabaseResourceManagerImpl client) {
+ this.service = RestProxy.create(AutonomousDatabaseBackupsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for OracleDatabaseResourceManagerAutonomousDatabaseBackups to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "OracleDatabaseResour")
+ public interface AutonomousDatabaseBackupsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByAutonomousDatabase(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("autonomousdatabasename") String autonomousdatabasename, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups/{adbbackupid}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("autonomousdatabasename") String autonomousdatabasename,
+ @PathParam("adbbackupid") String adbbackupid, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups/{adbbackupid}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("autonomousdatabasename") String autonomousdatabasename,
+ @PathParam("adbbackupid") String adbbackupid,
+ @BodyParam("application/json") AutonomousDatabaseBackupInner resource, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups/{adbbackupid}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("autonomousdatabasename") String autonomousdatabasename,
+ @PathParam("adbbackupid") String adbbackupid,
+ @BodyParam("application/json") AutonomousDatabaseBackupUpdate properties,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups/{adbbackupid}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("autonomousdatabasename") String autonomousdatabasename,
+ @PathParam("adbbackupid") String adbbackupid, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByAutonomousDatabaseNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByAutonomousDatabaseSinglePageAsync(String resourceGroupName, String autonomousdatabasename) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByAutonomousDatabase(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByAutonomousDatabaseSinglePageAsync(
+ String resourceGroupName, String autonomousdatabasename, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByAutonomousDatabase(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByAutonomousDatabaseAsync(String resourceGroupName,
+ String autonomousdatabasename) {
+ return new PagedFlux<>(() -> listByAutonomousDatabaseSinglePageAsync(resourceGroupName, autonomousdatabasename),
+ nextLink -> listByAutonomousDatabaseNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByAutonomousDatabaseAsync(String resourceGroupName,
+ String autonomousdatabasename, Context context) {
+ return new PagedFlux<>(
+ () -> listByAutonomousDatabaseSinglePageAsync(resourceGroupName, autonomousdatabasename, context),
+ nextLink -> listByAutonomousDatabaseNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename) {
+ return new PagedIterable<>(listByAutonomousDatabaseAsync(resourceGroupName, autonomousdatabasename));
+ }
+
+ /**
+ * List AutonomousDatabaseBackup resources by AutonomousDatabase.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename, Context context) {
+ return new PagedIterable<>(listByAutonomousDatabaseAsync(resourceGroupName, autonomousdatabasename, context));
+ }
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseBackup along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, adbbackupid, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseBackup along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, autonomousdatabasename, adbbackupid, accept, context);
+ }
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseBackup on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid) {
+ return getWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseBackup along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, Context context) {
+ return getWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid, context).block();
+ }
+
+ /**
+ * Get a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseBackup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseBackupInner get(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid) {
+ return getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, Context.NONE).getValue();
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupInner resource) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, adbbackupid, resource,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupInner resource, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ if (resource == null) {
+ return Mono.error(new IllegalArgumentException("Parameter resource is required and cannot be null."));
+ } else {
+ resource.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, adbbackupid, resource, accept,
+ context);
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AutonomousDatabaseBackupInner>
+ beginCreateOrUpdateAsync(String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource) {
+ Mono>> mono
+ = createOrUpdateWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), AutonomousDatabaseBackupInner.class, AutonomousDatabaseBackupInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AutonomousDatabaseBackupInner>
+ beginCreateOrUpdateAsync(String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = createOrUpdateWithResponseAsync(resourceGroupName,
+ autonomousdatabasename, adbbackupid, resource, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), AutonomousDatabaseBackupInner.class, AutonomousDatabaseBackupInner.class,
+ context);
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AutonomousDatabaseBackupInner> beginCreateOrUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AutonomousDatabaseBackupInner> beginCreateOrUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupInner resource, Context context) {
+ return this.beginCreateOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupInner resource, Context context) {
+ return beginCreateOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseBackupInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupInner resource) {
+ return createOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource).block();
+ }
+
+ /**
+ * Create a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param resource Resource create parameters.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseBackupInner createOrUpdate(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupInner resource, Context context) {
+ return createOrUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, resource, context).block();
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupUpdate properties) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.update(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, adbbackupid, properties,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> updateWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, AutonomousDatabaseBackupUpdate properties, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.update(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, autonomousdatabasename, adbbackupid, properties, accept, context);
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AutonomousDatabaseBackupInner> beginUpdateAsync(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties) {
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), AutonomousDatabaseBackupInner.class, AutonomousDatabaseBackupInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AutonomousDatabaseBackupInner> beginUpdateAsync(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = updateWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties, context);
+ return this.client.getLroResult(mono,
+ this.client.getHttpPipeline(), AutonomousDatabaseBackupInner.class, AutonomousDatabaseBackupInner.class,
+ context);
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AutonomousDatabaseBackupInner> beginUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties) {
+ return this.beginUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AutonomousDatabaseBackupInner> beginUpdate(
+ String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ AutonomousDatabaseBackupUpdate properties, Context context) {
+ return this.beginUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupUpdate properties) {
+ return beginUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupUpdate properties, Context context) {
+ return beginUpdateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseBackupInner update(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupUpdate properties) {
+ return updateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties).block();
+ }
+
+ /**
+ * Update a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param properties The resource properties to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return autonomousDatabaseBackup resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseBackupInner update(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, AutonomousDatabaseBackupUpdate properties, Context context) {
+ return updateAsync(resourceGroupName, autonomousdatabasename, adbbackupid, properties, context).block();
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, autonomousdatabasename, adbbackupid, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(String resourceGroupName,
+ String autonomousdatabasename, String adbbackupid, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (autonomousdatabasename == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter autonomousdatabasename is required and cannot be null."));
+ }
+ if (adbbackupid == null) {
+ return Mono.error(new IllegalArgumentException("Parameter adbbackupid is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, autonomousdatabasename, adbbackupid, accept, context);
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, autonomousdatabasename, adbbackupid, context);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ context);
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid) {
+ return this.beginDeleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid).getSyncPoller();
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, Context context) {
+ return this.beginDeleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid, context).getSyncPoller();
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String autonomousdatabasename, String adbbackupid) {
+ return beginDeleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String autonomousdatabasename, String adbbackupid,
+ Context context) {
+ return beginDeleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid, context).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String autonomousdatabasename, String adbbackupid) {
+ deleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid).block();
+ }
+
+ /**
+ * Delete a AutonomousDatabaseBackup.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param autonomousdatabasename The database name.
+ * @param adbbackupid AutonomousDatabaseBackup id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String autonomousdatabasename, String adbbackupid, Context context) {
+ deleteAsync(resourceGroupName, autonomousdatabasename, adbbackupid, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByAutonomousDatabaseNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByAutonomousDatabaseNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseBackup list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByAutonomousDatabaseNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listByAutonomousDatabaseNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsImpl.java
new file mode 100644
index 000000000000..5425f7daf3e2
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseBackupsImpl.java
@@ -0,0 +1,161 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseBackupsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseBackupInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackup;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBackups;
+
+public final class AutonomousDatabaseBackupsImpl implements AutonomousDatabaseBackups {
+ private static final ClientLogger LOGGER = new ClientLogger(AutonomousDatabaseBackupsImpl.class);
+
+ private final AutonomousDatabaseBackupsClient innerClient;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ public AutonomousDatabaseBackupsImpl(AutonomousDatabaseBackupsClient innerClient,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename) {
+ PagedIterable inner
+ = this.serviceClient().listByAutonomousDatabase(resourceGroupName, autonomousdatabasename);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new AutonomousDatabaseBackupImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByAutonomousDatabase(String resourceGroupName,
+ String autonomousdatabasename, Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByAutonomousDatabase(resourceGroupName, autonomousdatabasename, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new AutonomousDatabaseBackupImpl(inner1, this.manager()));
+ }
+
+ public Response getWithResponse(String resourceGroupName, String autonomousdatabasename,
+ String adbbackupid, Context context) {
+ Response inner
+ = this.serviceClient().getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new AutonomousDatabaseBackupImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AutonomousDatabaseBackup get(String resourceGroupName, String autonomousdatabasename, String adbbackupid) {
+ AutonomousDatabaseBackupInner inner
+ = this.serviceClient().get(resourceGroupName, autonomousdatabasename, adbbackupid);
+ if (inner != null) {
+ return new AutonomousDatabaseBackupImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String autonomousdatabasename, String adbbackupid) {
+ this.serviceClient().delete(resourceGroupName, autonomousdatabasename, adbbackupid);
+ }
+
+ public void delete(String resourceGroupName, String autonomousdatabasename, String adbbackupid, Context context) {
+ this.serviceClient().delete(resourceGroupName, autonomousdatabasename, adbbackupid, context);
+ }
+
+ public AutonomousDatabaseBackup getById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String autonomousdatabasename = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabases");
+ if (autonomousdatabasename == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabases'.", id)));
+ }
+ String adbbackupid = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabaseBackups");
+ if (adbbackupid == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(String
+ .format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabaseBackups'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String autonomousdatabasename = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabases");
+ if (autonomousdatabasename == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabases'.", id)));
+ }
+ String adbbackupid = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabaseBackups");
+ if (adbbackupid == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(String
+ .format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabaseBackups'.", id)));
+ }
+ return this.getWithResponse(resourceGroupName, autonomousdatabasename, adbbackupid, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String autonomousdatabasename = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabases");
+ if (autonomousdatabasename == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabases'.", id)));
+ }
+ String adbbackupid = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabaseBackups");
+ if (adbbackupid == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(String
+ .format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabaseBackups'.", id)));
+ }
+ this.delete(resourceGroupName, autonomousdatabasename, adbbackupid, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String autonomousdatabasename = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabases");
+ if (autonomousdatabasename == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabases'.", id)));
+ }
+ String adbbackupid = ResourceManagerUtils.getValueFromIdByName(id, "autonomousDatabaseBackups");
+ if (adbbackupid == null) {
+ throw LOGGER.logExceptionAsError(new IllegalArgumentException(String
+ .format("The resource ID '%s' is not valid. Missing path segment 'autonomousDatabaseBackups'.", id)));
+ }
+ this.delete(resourceGroupName, autonomousdatabasename, adbbackupid, context);
+ }
+
+ private AutonomousDatabaseBackupsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+
+ public AutonomousDatabaseBackupImpl define(String name) {
+ return new AutonomousDatabaseBackupImpl(name, this.manager());
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetImpl.java
new file mode 100644
index 000000000000..2b268f5034c9
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSet;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSetProperties;
+
+public final class AutonomousDatabaseCharacterSetImpl implements AutonomousDatabaseCharacterSet {
+ private AutonomousDatabaseCharacterSetInner innerObject;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ AutonomousDatabaseCharacterSetImpl(AutonomousDatabaseCharacterSetInner innerObject,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AutonomousDatabaseCharacterSetProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public AutonomousDatabaseCharacterSetInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsClientImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsClientImpl.java
new file mode 100644
index 000000000000..84eb48f83fd9
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsClientImpl.java
@@ -0,0 +1,397 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseCharacterSetsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSetListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseCharacterSetsClient.
+ */
+public final class AutonomousDatabaseCharacterSetsClientImpl implements AutonomousDatabaseCharacterSetsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AutonomousDatabaseCharacterSetsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final OracleDatabaseResourceManagerImpl client;
+
+ /**
+ * Initializes an instance of AutonomousDatabaseCharacterSetsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AutonomousDatabaseCharacterSetsClientImpl(OracleDatabaseResourceManagerImpl client) {
+ this.service = RestProxy.create(AutonomousDatabaseCharacterSetsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for OracleDatabaseResourceManagerAutonomousDatabaseCharacterSets to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "OracleDatabaseResour")
+ public interface AutonomousDatabaseCharacterSetsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseCharacterSets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocation(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseCharacterSets/{adbscharsetname}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @PathParam("adbscharsetname") String adbscharsetname,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocationNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocation(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocation(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location, Context context) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location, context),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location) {
+ return new PagedIterable<>(listByLocationAsync(location));
+ }
+
+ /**
+ * List AutonomousDatabaseCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location, Context context) {
+ return new PagedIterable<>(listByLocationAsync(location, context));
+ }
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseCharacterSet along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String location,
+ String adbscharsetname) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (adbscharsetname == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter adbscharsetname is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, adbscharsetname, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseCharacterSet along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String location,
+ String adbscharsetname, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (adbscharsetname == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter adbscharsetname is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, adbscharsetname, accept, context);
+ }
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseCharacterSet on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String location, String adbscharsetname) {
+ return getWithResponseAsync(location, adbscharsetname).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseCharacterSet along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String location, String adbscharsetname,
+ Context context) {
+ return getWithResponseAsync(location, adbscharsetname, context).block();
+ }
+
+ /**
+ * Get a AutonomousDatabaseCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbscharsetname AutonomousDatabaseCharacterSet name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseCharacterSet.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseCharacterSetInner get(String location, String adbscharsetname) {
+ return getWithResponse(location, adbscharsetname, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByLocationNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseCharacterSet list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationNextSinglePageAsync(String nextLink,
+ Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsImpl.java
new file mode 100644
index 000000000000..d3d6b572a10a
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseCharacterSetsImpl.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseCharacterSetsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSet;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseCharacterSets;
+
+public final class AutonomousDatabaseCharacterSetsImpl implements AutonomousDatabaseCharacterSets {
+ private static final ClientLogger LOGGER = new ClientLogger(AutonomousDatabaseCharacterSetsImpl.class);
+
+ private final AutonomousDatabaseCharacterSetsClient innerClient;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ public AutonomousDatabaseCharacterSetsImpl(AutonomousDatabaseCharacterSetsClient innerClient,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByLocation(String location) {
+ PagedIterable inner = this.serviceClient().listByLocation(location);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new AutonomousDatabaseCharacterSetImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByLocation(String location, Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByLocation(location, context);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new AutonomousDatabaseCharacterSetImpl(inner1, this.manager()));
+ }
+
+ public Response getWithResponse(String location, String adbscharsetname,
+ Context context) {
+ Response inner
+ = this.serviceClient().getWithResponse(location, adbscharsetname, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new AutonomousDatabaseCharacterSetImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AutonomousDatabaseCharacterSet get(String location, String adbscharsetname) {
+ AutonomousDatabaseCharacterSetInner inner = this.serviceClient().get(location, adbscharsetname);
+ if (inner != null) {
+ return new AutonomousDatabaseCharacterSetImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AutonomousDatabaseCharacterSetsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseImpl.java
new file mode 100644
index 000000000000..ad5626f644ac
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseImpl.java
@@ -0,0 +1,216 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabase;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseBaseProperties;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseUpdate;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseUpdateProperties;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseWalletFile;
+import com.azure.resourcemanager.oracle.models.GenerateAutonomousDatabaseWalletDetails;
+import com.azure.resourcemanager.oracle.models.PeerDbDetails;
+import java.util.Collections;
+import java.util.Map;
+
+public final class AutonomousDatabaseImpl
+ implements AutonomousDatabase, AutonomousDatabase.Definition, AutonomousDatabase.Update {
+ private AutonomousDatabaseInner innerObject;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public AutonomousDatabaseBaseProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public AutonomousDatabaseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String autonomousdatabasename;
+
+ private AutonomousDatabaseUpdate updateProperties;
+
+ public AutonomousDatabaseImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public AutonomousDatabase create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .createOrUpdate(resourceGroupName, autonomousdatabasename, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public AutonomousDatabase create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .createOrUpdate(resourceGroupName, autonomousdatabasename, this.innerModel(), context);
+ return this;
+ }
+
+ AutonomousDatabaseImpl(String name, com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = new AutonomousDatabaseInner();
+ this.serviceManager = serviceManager;
+ this.autonomousdatabasename = name;
+ }
+
+ public AutonomousDatabaseImpl update() {
+ this.updateProperties = new AutonomousDatabaseUpdate();
+ return this;
+ }
+
+ public AutonomousDatabase apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .update(resourceGroupName, autonomousdatabasename, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public AutonomousDatabase apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .update(resourceGroupName, autonomousdatabasename, updateProperties, context);
+ return this;
+ }
+
+ AutonomousDatabaseImpl(AutonomousDatabaseInner innerObject,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.autonomousdatabasename
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "autonomousDatabases");
+ }
+
+ public AutonomousDatabase refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .getByResourceGroupWithResponse(resourceGroupName, autonomousdatabasename, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AutonomousDatabase refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getAutonomousDatabases()
+ .getByResourceGroupWithResponse(resourceGroupName, autonomousdatabasename, context)
+ .getValue();
+ return this;
+ }
+
+ public AutonomousDatabase failover(PeerDbDetails body) {
+ return serviceManager.autonomousDatabases().failover(resourceGroupName, autonomousdatabasename, body);
+ }
+
+ public AutonomousDatabase failover(PeerDbDetails body, Context context) {
+ return serviceManager.autonomousDatabases().failover(resourceGroupName, autonomousdatabasename, body, context);
+ }
+
+ public Response
+ generateWalletWithResponse(GenerateAutonomousDatabaseWalletDetails body, Context context) {
+ return serviceManager.autonomousDatabases()
+ .generateWalletWithResponse(resourceGroupName, autonomousdatabasename, body, context);
+ }
+
+ public AutonomousDatabaseWalletFile generateWallet(GenerateAutonomousDatabaseWalletDetails body) {
+ return serviceManager.autonomousDatabases().generateWallet(resourceGroupName, autonomousdatabasename, body);
+ }
+
+ public AutonomousDatabase switchover(PeerDbDetails body) {
+ return serviceManager.autonomousDatabases().switchover(resourceGroupName, autonomousdatabasename, body);
+ }
+
+ public AutonomousDatabase switchover(PeerDbDetails body, Context context) {
+ return serviceManager.autonomousDatabases()
+ .switchover(resourceGroupName, autonomousdatabasename, body, context);
+ }
+
+ public AutonomousDatabaseImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public AutonomousDatabaseImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public AutonomousDatabaseImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public AutonomousDatabaseImpl withProperties(AutonomousDatabaseBaseProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public AutonomousDatabaseImpl withProperties(AutonomousDatabaseUpdateProperties properties) {
+ this.updateProperties.withProperties(properties);
+ return this;
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetImpl.java
new file mode 100644
index 000000000000..1e8d2f090f93
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetImpl.java
@@ -0,0 +1,50 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseNationalCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSet;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSetProperties;
+
+public final class AutonomousDatabaseNationalCharacterSetImpl implements AutonomousDatabaseNationalCharacterSet {
+ private AutonomousDatabaseNationalCharacterSetInner innerObject;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ AutonomousDatabaseNationalCharacterSetImpl(AutonomousDatabaseNationalCharacterSetInner innerObject,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AutonomousDatabaseNationalCharacterSetProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public AutonomousDatabaseNationalCharacterSetInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsClientImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsClientImpl.java
new file mode 100644
index 000000000000..f853bda84b2c
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsClientImpl.java
@@ -0,0 +1,406 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseNationalCharacterSetsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseNationalCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSetListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AutonomousDatabaseNationalCharacterSetsClient.
+ */
+public final class AutonomousDatabaseNationalCharacterSetsClientImpl
+ implements AutonomousDatabaseNationalCharacterSetsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AutonomousDatabaseNationalCharacterSetsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final OracleDatabaseResourceManagerImpl client;
+
+ /**
+ * Initializes an instance of AutonomousDatabaseNationalCharacterSetsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AutonomousDatabaseNationalCharacterSetsClientImpl(OracleDatabaseResourceManagerImpl client) {
+ this.service = RestProxy.create(AutonomousDatabaseNationalCharacterSetsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for OracleDatabaseResourceManagerAutonomousDatabaseNationalCharacterSets
+ * to be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "OracleDatabaseResour")
+ public interface AutonomousDatabaseNationalCharacterSetsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseNationalCharacterSets")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocation(
+ @HostParam("$host") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId, @PathParam("location") String location,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseNationalCharacterSets/{adbsncharsetname}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @PathParam("adbsncharsetname") String adbsncharsetname,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocationNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation along with {@link PagedResponse}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByLocationSinglePageAsync(String location) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocation(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, accept, context))
+ .>map(
+ res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation along with {@link PagedResponse}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByLocationSinglePageAsync(String location, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocation(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location,
+ Context context) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location, context),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location) {
+ return new PagedIterable<>(listByLocationAsync(location));
+ }
+
+ /**
+ * List AutonomousDatabaseNationalCharacterSet resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location, Context context) {
+ return new PagedIterable<>(listByLocationAsync(location, context));
+ }
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseNationalCharacterSet along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String location,
+ String adbsncharsetname) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (adbsncharsetname == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter adbsncharsetname is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, adbsncharsetname, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseNationalCharacterSet along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String location,
+ String adbsncharsetname, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ if (adbsncharsetname == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter adbsncharsetname is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, adbsncharsetname, accept, context);
+ }
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseNationalCharacterSet on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String location, String adbsncharsetname) {
+ return getWithResponseAsync(location, adbsncharsetname).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseNationalCharacterSet along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String location,
+ String adbsncharsetname, Context context) {
+ return getWithResponseAsync(location, adbsncharsetname, context).block();
+ }
+
+ /**
+ * Get a AutonomousDatabaseNationalCharacterSet.
+ *
+ * @param location The name of the Azure region.
+ * @param adbsncharsetname AutonomousDatabaseNationalCharacterSets name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a AutonomousDatabaseNationalCharacterSet.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AutonomousDatabaseNationalCharacterSetInner get(String location, String adbsncharsetname) {
+ return getWithResponse(location, adbsncharsetname, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation along with {@link PagedResponse}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByLocationNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDatabaseNationalCharacterSet list operation along with {@link PagedResponse}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByLocationNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listByLocationNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsImpl.java
new file mode 100644
index 000000000000..517ea7521376
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseNationalCharacterSetsImpl.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.oracle.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseNationalCharacterSetsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDatabaseNationalCharacterSetInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSet;
+import com.azure.resourcemanager.oracle.models.AutonomousDatabaseNationalCharacterSets;
+
+public final class AutonomousDatabaseNationalCharacterSetsImpl implements AutonomousDatabaseNationalCharacterSets {
+ private static final ClientLogger LOGGER = new ClientLogger(AutonomousDatabaseNationalCharacterSetsImpl.class);
+
+ private final AutonomousDatabaseNationalCharacterSetsClient innerClient;
+
+ private final com.azure.resourcemanager.oracle.OracleManager serviceManager;
+
+ public AutonomousDatabaseNationalCharacterSetsImpl(AutonomousDatabaseNationalCharacterSetsClient innerClient,
+ com.azure.resourcemanager.oracle.OracleManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByLocation(String location) {
+ PagedIterable inner
+ = this.serviceClient().listByLocation(location);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new AutonomousDatabaseNationalCharacterSetImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByLocation(String location, Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByLocation(location, context);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new AutonomousDatabaseNationalCharacterSetImpl(inner1, this.manager()));
+ }
+
+ public Response getWithResponse(String location, String adbsncharsetname,
+ Context context) {
+ Response inner
+ = this.serviceClient().getWithResponse(location, adbsncharsetname, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new AutonomousDatabaseNationalCharacterSetImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AutonomousDatabaseNationalCharacterSet get(String location, String adbsncharsetname) {
+ AutonomousDatabaseNationalCharacterSetInner inner = this.serviceClient().get(location, adbsncharsetname);
+ if (inner != null) {
+ return new AutonomousDatabaseNationalCharacterSetImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AutonomousDatabaseNationalCharacterSetsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.oracle.OracleManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseVersionsClientImpl.java b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseVersionsClientImpl.java
new file mode 100644
index 000000000000..32e75a41219a
--- /dev/null
+++ b/sdk/oracle/azure-resourcemanager-oracle/src/main/java/com/azure/resourcemanager/oracle/implementation/AutonomousDatabaseVersionsClientImpl.java
@@ -0,0 +1,394 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.oracle.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.oracle.fluent.AutonomousDatabaseVersionsClient;
+import com.azure.resourcemanager.oracle.fluent.models.AutonomousDbVersionInner;
+import com.azure.resourcemanager.oracle.models.AutonomousDbVersionListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in AutonomousDatabaseVersionsClient.
+ */
+public final class AutonomousDatabaseVersionsClientImpl implements AutonomousDatabaseVersionsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AutonomousDatabaseVersionsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final OracleDatabaseResourceManagerImpl client;
+
+ /**
+ * Initializes an instance of AutonomousDatabaseVersionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AutonomousDatabaseVersionsClientImpl(OracleDatabaseResourceManagerImpl client) {
+ this.service = RestProxy.create(AutonomousDatabaseVersionsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for OracleDatabaseResourceManagerAutonomousDatabaseVersions to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "OracleDatabaseResour")
+ public interface AutonomousDatabaseVersionsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDbVersions")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocation(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDbVersions/{autonomousdbversionsname}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("location") String location,
+ @PathParam("autonomousdbversionsname") String autonomousdbversionsname,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByLocationNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByLocation(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), location, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByLocationSinglePageAsync(String location,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (location == null) {
+ return Mono.error(new IllegalArgumentException("Parameter location is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByLocation(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ location, accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByLocationAsync(String location, Context context) {
+ return new PagedFlux<>(() -> listByLocationSinglePageAsync(location, context),
+ nextLink -> listByLocationNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByLocation(String location) {
+ return new PagedIterable<>(listByLocationAsync(location));
+ }
+
+ /**
+ * List AutonomousDbVersion resources by Location.
+ *
+ * @param location The name of the Azure region.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a AutonomousDbVersion list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable