diff --git a/sdk/mariadb/mgmt-v2020_01_01/pom.xml b/sdk/mariadb/mgmt-v2020_01_01/pom.xml
index 06aff1458709..e3891d2a1a83 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/pom.xml
+++ b/sdk/mariadb/mgmt-v2020_01_01/pom.xml
@@ -11,8 +11,8 @@
com.microsoft.azure
azure-arm-parent
- 1.3.2
- ../../parents/azure-arm-parent/pom.xml
+ 1.1.0
+ ../../../pom.management.xml
azure-mgmt-mariadb
1.0.0-beta
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisor.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisor.java
new file mode 100644
index 000000000000..2dcac25ed39d
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisor.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.AdvisorInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+
+/**
+ * Type representing Advisor.
+ */
+public interface Advisor extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ Object properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisors.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisors.java
new file mode 100644
index 000000000000..ce09c0b24bde
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Advisors.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.AdvisorsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Advisors.
+ */
+public interface Advisors extends HasInner {
+ /**
+ * Get a recommendation action advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String advisorName);
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/AzureEntityResource.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/AzureEntityResource.java
index e21dea3095a9..71668e46997a 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/AzureEntityResource.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/AzureEntityResource.java
@@ -12,7 +12,8 @@
import com.microsoft.azure.ProxyResource;
/**
- * The resource model definition for a Azure Resource Manager resource with an
+ * Entity Resource.
+ * The resource model definition for an Azure Resource Manager resource with an
* etag.
*/
public class AzureEntityResource extends ProxyResource {
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/ErrorResponse.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/ErrorResponse.java
index e7d7e145646c..cdf207b49c5d 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/ErrorResponse.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/ErrorResponse.java
@@ -12,7 +12,10 @@
import com.fasterxml.jackson.annotation.JsonProperty;
/**
- * The resource management error response.
+ * Error Response.
+ * Common error response for all Azure Resource Manager APIs to return error
+ * details for failed operations. (This also follows the OData error response
+ * format.).
*/
public class ErrorResponse {
/**
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedPerformanceTiers.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedPerformanceTiers.java
index 54a00c72f877..baf6a60e4203 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedPerformanceTiers.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedPerformanceTiers.java
@@ -9,12 +9,13 @@
package com.microsoft.azure.management.mariadb.v2020_01_01;
import rx.Observable;
-import com.microsoft.azure.management.mariadb.v2020_01_01.PerformanceTierProperties;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.LocationBasedPerformanceTiersInner;
+import com.microsoft.azure.arm.model.HasInner;
/**
* Type representing LocationBasedPerformanceTiers.
*/
-public interface LocationBasedPerformanceTiers {
+public interface LocationBasedPerformanceTiers extends HasInner {
/**
* List all the performance tiers at specified location in a given subscription.
*
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsOperationStatus.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsOperationStatus.java
new file mode 100644
index 000000000000..ac64609284a4
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsOperationStatus.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.LocationBasedRecommendedActionSessionsOperationStatusInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing LocationBasedRecommendedActionSessionsOperationStatus.
+ */
+public interface LocationBasedRecommendedActionSessionsOperationStatus extends HasInner {
+ /**
+ * Recommendation action session operation status.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String locationName, String operationId);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsResults.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsResults.java
new file mode 100644
index 000000000000..28381a1206af
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/LocationBasedRecommendedActionSessionsResults.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.LocationBasedRecommendedActionSessionsResultsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing LocationBasedRecommendedActionSessionsResults.
+ */
+public interface LocationBasedRecommendedActionSessionsResults extends HasInner {
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String locationName, final String operationId);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnection.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnection.java
new file mode 100644
index 000000000000..674946b652fa
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnection.java
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.PrivateEndpointConnectionInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+
+/**
+ * Type representing PrivateEndpointConnection.
+ */
+public interface PrivateEndpointConnection extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the privateEndpoint value.
+ */
+ PrivateEndpointProperty privateEndpoint();
+
+ /**
+ * @return the privateLinkServiceConnectionState value.
+ */
+ PrivateLinkServiceConnectionStateProperty privateLinkServiceConnectionState();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the PrivateEndpointConnection definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithServer, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of PrivateEndpointConnection definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a PrivateEndpointConnection definition.
+ */
+ interface Blank extends WithServer {
+ }
+
+ /**
+ * The stage of the privateendpointconnection definition allowing to specify Server.
+ */
+ interface WithServer {
+ /**
+ * Specifies resourceGroupName, serverName.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive
+ * @param serverName The name of the server
+ * @return the next definition stage
+ */
+ WithCreate withExistingServer(String resourceGroupName, String serverName);
+ }
+
+ /**
+ * The stage of the privateendpointconnection definition allowing to specify PrivateEndpoint.
+ */
+ interface WithPrivateEndpoint {
+ /**
+ * Specifies privateEndpoint.
+ * @param privateEndpoint Private endpoint which the connection belongs to
+ * @return the next definition stage
+ */
+ WithCreate withPrivateEndpoint(PrivateEndpointProperty privateEndpoint);
+ }
+
+ /**
+ * The stage of the privateendpointconnection definition allowing to specify PrivateLinkServiceConnectionState.
+ */
+ interface WithPrivateLinkServiceConnectionState {
+ /**
+ * Specifies privateLinkServiceConnectionState.
+ * @param privateLinkServiceConnectionState Connection state of the private endpoint connection
+ * @return the next definition stage
+ */
+ WithCreate withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionStateProperty privateLinkServiceConnectionState);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithPrivateEndpoint, DefinitionStages.WithPrivateLinkServiceConnectionState {
+ }
+ }
+ /**
+ * The template for a PrivateEndpointConnection update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithPrivateEndpoint, UpdateStages.WithPrivateLinkServiceConnectionState {
+ }
+
+ /**
+ * Grouping of PrivateEndpointConnection update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the privateendpointconnection update allowing to specify PrivateEndpoint.
+ */
+ interface WithPrivateEndpoint {
+ /**
+ * Specifies privateEndpoint.
+ * @param privateEndpoint Private endpoint which the connection belongs to
+ * @return the next update stage
+ */
+ Update withPrivateEndpoint(PrivateEndpointProperty privateEndpoint);
+ }
+
+ /**
+ * The stage of the privateendpointconnection update allowing to specify PrivateLinkServiceConnectionState.
+ */
+ interface WithPrivateLinkServiceConnectionState {
+ /**
+ * Specifies privateLinkServiceConnectionState.
+ * @param privateLinkServiceConnectionState Connection state of the private endpoint connection
+ * @return the next update stage
+ */
+ Update withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionStateProperty privateLinkServiceConnectionState);
+ }
+
+ }
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnections.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnections.java
new file mode 100644
index 000000000000..aae8450307b2
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateEndpointConnections.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.PrivateEndpointConnectionsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing PrivateEndpointConnections.
+ */
+public interface PrivateEndpointConnections extends SupportsCreating, HasInner {
+ /**
+ * Gets a private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param privateEndpointConnectionName The name of the private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String privateEndpointConnectionName);
+
+ /**
+ * Gets all private endpoint connections on a server.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName);
+
+ /**
+ * Deletes a private endpoint connection with a given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param privateEndpointConnectionName the String value
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serverName, String privateEndpointConnectionName);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResource.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResource.java
new file mode 100644
index 000000000000..335fb8e3be63
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResource.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.PrivateLinkResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+
+/**
+ * Type representing PrivateLinkResource.
+ */
+public interface PrivateLinkResource extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ PrivateLinkResourceProperties properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResourceProperties.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResourceProperties.java
new file mode 100644
index 000000000000..2cf64d256812
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResourceProperties.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Properties of a private link resource.
+ */
+public class PrivateLinkResourceProperties {
+ /**
+ * The private link resource group id.
+ */
+ @JsonProperty(value = "groupId", access = JsonProperty.Access.WRITE_ONLY)
+ private String groupId;
+
+ /**
+ * The private link resource required member names.
+ */
+ @JsonProperty(value = "requiredMembers", access = JsonProperty.Access.WRITE_ONLY)
+ private List requiredMembers;
+
+ /**
+ * Get the private link resource group id.
+ *
+ * @return the groupId value
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Get the private link resource required member names.
+ *
+ * @return the requiredMembers value
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResources.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResources.java
new file mode 100644
index 000000000000..ac0a5681eef3
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkResources.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.PrivateLinkResourcesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing PrivateLinkResources.
+ */
+public interface PrivateLinkResources extends HasInner {
+ /**
+ * Gets a private link resource for MariaDB server.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param groupName The name of the private link resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String groupName);
+
+ /**
+ * Gets the private link resources for MariaDB server.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkServiceConnectionStateProperty.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkServiceConnectionStateProperty.java
new file mode 100644
index 000000000000..d01ac0525496
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/PrivateLinkServiceConnectionStateProperty.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The PrivateLinkServiceConnectionStateProperty model.
+ */
+public class PrivateLinkServiceConnectionStateProperty {
+ /**
+ * The private link service connection status.
+ */
+ @JsonProperty(value = "status", required = true)
+ private String status;
+
+ /**
+ * The private link service connection description.
+ */
+ @JsonProperty(value = "description", required = true)
+ private String description;
+
+ /**
+ * The actions required for private link service connection.
+ */
+ @JsonProperty(value = "actionsRequired", access = JsonProperty.Access.WRITE_ONLY)
+ private String actionsRequired;
+
+ /**
+ * Get the private link service connection status.
+ *
+ * @return the status value
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Set the private link service connection status.
+ *
+ * @param status the status value to set
+ * @return the PrivateLinkServiceConnectionStateProperty object itself.
+ */
+ public PrivateLinkServiceConnectionStateProperty withStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the private link service connection description.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the private link service connection description.
+ *
+ * @param description the description value to set
+ * @return the PrivateLinkServiceConnectionStateProperty object itself.
+ */
+ public PrivateLinkServiceConnectionStateProperty withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the actions required for private link service connection.
+ *
+ * @return the actionsRequired value
+ */
+ public String actionsRequired() {
+ return this.actionsRequired;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryPerformanceInsightResetDataResultState.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryPerformanceInsightResetDataResultState.java
new file mode 100644
index 000000000000..346df7776259
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryPerformanceInsightResetDataResultState.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for QueryPerformanceInsightResetDataResultState.
+ */
+public final class QueryPerformanceInsightResetDataResultState extends ExpandableStringEnum {
+ /** Static value Succeeded for QueryPerformanceInsightResetDataResultState. */
+ public static final QueryPerformanceInsightResetDataResultState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for QueryPerformanceInsightResetDataResultState. */
+ public static final QueryPerformanceInsightResetDataResultState FAILED = fromString("Failed");
+
+ /**
+ * Creates or finds a QueryPerformanceInsightResetDataResultState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding QueryPerformanceInsightResetDataResultState
+ */
+ @JsonCreator
+ public static QueryPerformanceInsightResetDataResultState fromString(String name) {
+ return fromString(name, QueryPerformanceInsightResetDataResultState.class);
+ }
+
+ /**
+ * @return known QueryPerformanceInsightResetDataResultState values
+ */
+ public static Collection values() {
+ return values(QueryPerformanceInsightResetDataResultState.class);
+ }
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryStatistic.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryStatistic.java
new file mode 100644
index 000000000000..3532331b630a
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryStatistic.java
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.QueryStatisticInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing QueryStatistic.
+ */
+public interface QueryStatistic extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the aggregationFunction value.
+ */
+ String aggregationFunction();
+
+ /**
+ * @return the databaseNames value.
+ */
+ List databaseNames();
+
+ /**
+ * @return the endTime value.
+ */
+ DateTime endTime();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the metricDisplayName value.
+ */
+ String metricDisplayName();
+
+ /**
+ * @return the metricName value.
+ */
+ String metricName();
+
+ /**
+ * @return the metricValue value.
+ */
+ Double metricValue();
+
+ /**
+ * @return the metricValueUnit value.
+ */
+ String metricValueUnit();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the queryExecutionCount value.
+ */
+ Long queryExecutionCount();
+
+ /**
+ * @return the queryId value.
+ */
+ String queryId();
+
+ /**
+ * @return the startTime value.
+ */
+ DateTime startTime();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryText.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryText.java
new file mode 100644
index 000000000000..c7efe0ea8dfc
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryText.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.QueryTextInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+
+/**
+ * Type representing QueryText.
+ */
+public interface QueryText extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the queryId value.
+ */
+ String queryId();
+
+ /**
+ * @return the queryText value.
+ */
+ String queryText();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryTexts.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryTexts.java
new file mode 100644
index 000000000000..9453e868db1c
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/QueryTexts.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.QueryTextsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing QueryTexts.
+ */
+public interface QueryTexts extends HasInner {
+ /**
+ * Retrieve the Query-Store query texts for the queryId.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param queryId The Query-Store query identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String queryId);
+
+ /**
+ * Retrieve the Query-Store query texts for specified queryIds.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param queryIds The query identifiers
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName, final List queryIds);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendationAction.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendationAction.java
new file mode 100644
index 000000000000..ae74b7e8bc5a
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendationAction.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.RecommendationActionInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+import org.joda.time.DateTime;
+import java.util.Map;
+
+/**
+ * Type representing RecommendationAction.
+ */
+public interface RecommendationAction extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the actionId value.
+ */
+ Integer actionId();
+
+ /**
+ * @return the advisorName value.
+ */
+ String advisorName();
+
+ /**
+ * @return the createdTime value.
+ */
+ DateTime createdTime();
+
+ /**
+ * @return the details value.
+ */
+ Map details();
+
+ /**
+ * @return the expirationTime value.
+ */
+ DateTime expirationTime();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the reason value.
+ */
+ String reason();
+
+ /**
+ * @return the recommendationType value.
+ */
+ String recommendationType();
+
+ /**
+ * @return the sessionId value.
+ */
+ String sessionId();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActionSessionsOperationStatus.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActionSessionsOperationStatus.java
new file mode 100644
index 000000000000..459f664eca10
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActionSessionsOperationStatus.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.RecommendedActionSessionsOperationStatusInner;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing RecommendedActionSessionsOperationStatus.
+ */
+public interface RecommendedActionSessionsOperationStatus extends HasInner, HasManager {
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the startTime value.
+ */
+ DateTime startTime();
+
+ /**
+ * @return the status value.
+ */
+ String status();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActions.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActions.java
new file mode 100644
index 000000000000..9f060f42a6c3
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/RecommendedActions.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.RecommendedActionsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing RecommendedActions.
+ */
+public interface RecommendedActions extends HasInner {
+ /**
+ * Retrieve recommended actions from the advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @param recommendedActionName The recommended action name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String advisorName, String recommendedActionName);
+
+ /**
+ * Retrieve recommended actions from the advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName, final String advisorName);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Sku.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Sku.java
index 7f908b85af96..4bfa3db030b6 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Sku.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/Sku.java
@@ -18,7 +18,7 @@ public class Sku {
* The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1,
* GP_Gen5_8.
*/
- @JsonProperty(value = "name")
+ @JsonProperty(value = "name", required = true)
private String name;
/**
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TagsObject.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TagsObject.java
new file mode 100644
index 000000000000..35dd9343197e
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TagsObject.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Tags object for patch operations.
+ */
+public class TagsObject {
+ /**
+ * Resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Get resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the TagsObject object itself.
+ */
+ public TagsObject withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatistics.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatistics.java
new file mode 100644
index 000000000000..b25bae806358
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatistics.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.TopQueryStatisticsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing TopQueryStatistics.
+ */
+public interface TopQueryStatistics extends HasInner {
+ /**
+ * Retrieve the query statistic for specified identifier.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param queryStatisticId The Query Statistic identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String queryStatisticId);
+
+ /**
+ * Retrieve the Query-Store top queries for specified metric and aggregation.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param parameters The required parameters for retrieving top query statistics.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName, final TopQueryStatisticsInput parameters);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatisticsInput.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatisticsInput.java
new file mode 100644
index 000000000000..e947392d206a
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/TopQueryStatisticsInput.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Input to get top query statistics.
+ */
+@JsonFlatten
+public class TopQueryStatisticsInput {
+ /**
+ * Max number of top queries to return.
+ */
+ @JsonProperty(value = "properties.numberOfTopQueries", required = true)
+ private int numberOfTopQueries;
+
+ /**
+ * Aggregation function name.
+ */
+ @JsonProperty(value = "properties.aggregationFunction", required = true)
+ private String aggregationFunction;
+
+ /**
+ * Observed metric name.
+ */
+ @JsonProperty(value = "properties.observedMetric", required = true)
+ private String observedMetric;
+
+ /**
+ * Observation start time.
+ */
+ @JsonProperty(value = "properties.observationStartTime", required = true)
+ private DateTime observationStartTime;
+
+ /**
+ * Observation end time.
+ */
+ @JsonProperty(value = "properties.observationEndTime", required = true)
+ private DateTime observationEndTime;
+
+ /**
+ * Aggregation interval type in ISO 8601 format.
+ */
+ @JsonProperty(value = "properties.aggregationWindow", required = true)
+ private String aggregationWindow;
+
+ /**
+ * Get max number of top queries to return.
+ *
+ * @return the numberOfTopQueries value
+ */
+ public int numberOfTopQueries() {
+ return this.numberOfTopQueries;
+ }
+
+ /**
+ * Set max number of top queries to return.
+ *
+ * @param numberOfTopQueries the numberOfTopQueries value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withNumberOfTopQueries(int numberOfTopQueries) {
+ this.numberOfTopQueries = numberOfTopQueries;
+ return this;
+ }
+
+ /**
+ * Get aggregation function name.
+ *
+ * @return the aggregationFunction value
+ */
+ public String aggregationFunction() {
+ return this.aggregationFunction;
+ }
+
+ /**
+ * Set aggregation function name.
+ *
+ * @param aggregationFunction the aggregationFunction value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withAggregationFunction(String aggregationFunction) {
+ this.aggregationFunction = aggregationFunction;
+ return this;
+ }
+
+ /**
+ * Get observed metric name.
+ *
+ * @return the observedMetric value
+ */
+ public String observedMetric() {
+ return this.observedMetric;
+ }
+
+ /**
+ * Set observed metric name.
+ *
+ * @param observedMetric the observedMetric value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withObservedMetric(String observedMetric) {
+ this.observedMetric = observedMetric;
+ return this;
+ }
+
+ /**
+ * Get observation start time.
+ *
+ * @return the observationStartTime value
+ */
+ public DateTime observationStartTime() {
+ return this.observationStartTime;
+ }
+
+ /**
+ * Set observation start time.
+ *
+ * @param observationStartTime the observationStartTime value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withObservationStartTime(DateTime observationStartTime) {
+ this.observationStartTime = observationStartTime;
+ return this;
+ }
+
+ /**
+ * Get observation end time.
+ *
+ * @return the observationEndTime value
+ */
+ public DateTime observationEndTime() {
+ return this.observationEndTime;
+ }
+
+ /**
+ * Set observation end time.
+ *
+ * @param observationEndTime the observationEndTime value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withObservationEndTime(DateTime observationEndTime) {
+ this.observationEndTime = observationEndTime;
+ return this;
+ }
+
+ /**
+ * Get aggregation interval type in ISO 8601 format.
+ *
+ * @return the aggregationWindow value
+ */
+ public String aggregationWindow() {
+ return this.aggregationWindow;
+ }
+
+ /**
+ * Set aggregation interval type in ISO 8601 format.
+ *
+ * @param aggregationWindow the aggregationWindow value to set
+ * @return the TopQueryStatisticsInput object itself.
+ */
+ public TopQueryStatisticsInput withAggregationWindow(String aggregationWindow) {
+ this.aggregationWindow = aggregationWindow;
+ return this;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistic.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistic.java
new file mode 100644
index 000000000000..4881e4742c90
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistic.java
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.WaitStatisticInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.MariaDBManager;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing WaitStatistic.
+ */
+public interface WaitStatistic extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the count value.
+ */
+ Long count();
+
+ /**
+ * @return the databaseName value.
+ */
+ String databaseName();
+
+ /**
+ * @return the endTime value.
+ */
+ DateTime endTime();
+
+ /**
+ * @return the eventName value.
+ */
+ String eventName();
+
+ /**
+ * @return the eventTypeName value.
+ */
+ String eventTypeName();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the queryId value.
+ */
+ Long queryId();
+
+ /**
+ * @return the startTime value.
+ */
+ DateTime startTime();
+
+ /**
+ * @return the totalTimeInMs value.
+ */
+ Double totalTimeInMs();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * @return the userId value.
+ */
+ Long userId();
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistics.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistics.java
new file mode 100644
index 000000000000..2d21c378ae6c
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatistics.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.implementation.WaitStatisticsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing WaitStatistics.
+ */
+public interface WaitStatistics extends HasInner {
+ /**
+ * Retrieve wait statistics for specified identifier.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param waitStatisticsId The Wait Statistic identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String waitStatisticsId);
+
+ /**
+ * Retrieve wait statistics for specified aggregation window.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param parameters The required parameters for retrieving wait statistics.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName, final WaitStatisticsInput parameters);
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatisticsInput.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatisticsInput.java
new file mode 100644
index 000000000000..51c7e8f06151
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/WaitStatisticsInput.java
@@ -0,0 +1,98 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01;
+
+import org.joda.time.DateTime;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Input to get wait statistics.
+ */
+@JsonFlatten
+public class WaitStatisticsInput {
+ /**
+ * Observation start time.
+ */
+ @JsonProperty(value = "properties.observationStartTime", required = true)
+ private DateTime observationStartTime;
+
+ /**
+ * Observation end time.
+ */
+ @JsonProperty(value = "properties.observationEndTime", required = true)
+ private DateTime observationEndTime;
+
+ /**
+ * Aggregation interval type in ISO 8601 format.
+ */
+ @JsonProperty(value = "properties.aggregationWindow", required = true)
+ private String aggregationWindow;
+
+ /**
+ * Get observation start time.
+ *
+ * @return the observationStartTime value
+ */
+ public DateTime observationStartTime() {
+ return this.observationStartTime;
+ }
+
+ /**
+ * Set observation start time.
+ *
+ * @param observationStartTime the observationStartTime value to set
+ * @return the WaitStatisticsInput object itself.
+ */
+ public WaitStatisticsInput withObservationStartTime(DateTime observationStartTime) {
+ this.observationStartTime = observationStartTime;
+ return this;
+ }
+
+ /**
+ * Get observation end time.
+ *
+ * @return the observationEndTime value
+ */
+ public DateTime observationEndTime() {
+ return this.observationEndTime;
+ }
+
+ /**
+ * Set observation end time.
+ *
+ * @param observationEndTime the observationEndTime value to set
+ * @return the WaitStatisticsInput object itself.
+ */
+ public WaitStatisticsInput withObservationEndTime(DateTime observationEndTime) {
+ this.observationEndTime = observationEndTime;
+ return this;
+ }
+
+ /**
+ * Get aggregation interval type in ISO 8601 format.
+ *
+ * @return the aggregationWindow value
+ */
+ public String aggregationWindow() {
+ return this.aggregationWindow;
+ }
+
+ /**
+ * Set aggregation interval type in ISO 8601 format.
+ *
+ * @param aggregationWindow the aggregationWindow value to set
+ * @return the WaitStatisticsInput object itself.
+ */
+ public WaitStatisticsInput withAggregationWindow(String aggregationWindow) {
+ this.aggregationWindow = aggregationWindow;
+ return this;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorImpl.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorImpl.java
new file mode 100644
index 000000000000..080650ce4e45
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorImpl.java
@@ -0,0 +1,63 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import com.microsoft.azure.management.mariadb.v2020_01_01.Advisor;
+import com.microsoft.azure.arm.model.implementation.IndexableRefreshableWrapperImpl;
+import rx.Observable;
+
+class AdvisorImpl extends IndexableRefreshableWrapperImpl implements Advisor {
+ private final MariaDBManager manager;
+ private String resourceGroupName;
+ private String serverName;
+ private String advisorName;
+
+ AdvisorImpl(AdvisorInner inner, MariaDBManager manager) {
+ super(null, inner);
+ this.manager = manager;
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.serverName = IdParsingUtils.getValueFromIdByName(inner.id(), "servers");
+ this.advisorName = IdParsingUtils.getValueFromIdByName(inner.id(), "advisors");
+ }
+
+ @Override
+ public MariaDBManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ AdvisorsInner client = this.manager().inner().advisors();
+ return client.getAsync(this.resourceGroupName, this.serverName, this.advisorName);
+ }
+
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public Object properties() {
+ return this.inner().properties();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorInner.java
new file mode 100644
index 000000000000..79cc21bb604f
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorInner.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * Represents a recommendation action advisor.
+ */
+public class AdvisorInner extends ProxyResource {
+ /**
+ * The properties of a recommendation action advisor.
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the properties of a recommendation action advisor.
+ *
+ * @return the properties value
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties of a recommendation action advisor.
+ *
+ * @param properties the properties value to set
+ * @return the AdvisorInner object itself.
+ */
+ public AdvisorInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsImpl.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsImpl.java
new file mode 100644
index 000000000000..d592f6051bad
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsImpl.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ *
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.mariadb.v2020_01_01.Advisors;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.mariadb.v2020_01_01.Advisor;
+
+class AdvisorsImpl extends WrapperImpl implements Advisors {
+ private final MariaDBManager manager;
+
+ AdvisorsImpl(MariaDBManager manager) {
+ super(manager.inner().advisors());
+ this.manager = manager;
+ }
+
+ public MariaDBManager manager() {
+ return this.manager;
+ }
+
+ private AdvisorImpl wrapModel(AdvisorInner inner) {
+ return new AdvisorImpl(inner, manager());
+ }
+
+ @Override
+ public Observable listByServerAsync(final String resourceGroupName, final String serverName) {
+ AdvisorsInner client = this.inner();
+ return client.listByServerAsync(resourceGroupName, serverName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Advisor call(AdvisorInner inner) {
+ return wrapModel(inner);
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String resourceGroupName, String serverName, String advisorName) {
+ AdvisorsInner client = this.inner();
+ return client.getAsync(resourceGroupName, serverName, advisorName)
+ .flatMap(new Func1>() {
+ @Override
+ public Observable call(AdvisorInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((Advisor)wrapModel(inner));
+ }
+ }
+ });
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsInner.java
new file mode 100644
index 000000000000..d11a69701a7d
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/AdvisorsInner.java
@@ -0,0 +1,397 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in Advisors.
+ */
+public class AdvisorsInner {
+ /** The Retrofit service to perform REST calls. */
+ private AdvisorsService service;
+ /** The service client containing this operation class. */
+ private MariaDBManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AdvisorsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public AdvisorsInner(Retrofit retrofit, MariaDBManagementClientImpl client) {
+ this.service = retrofit.create(AdvisorsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Advisors to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface AdvisorsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Advisors get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors/{advisorName}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("advisorName") String advisorName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Advisors listByServer" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/advisors")
+ Observable> listByServer(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Advisors listByServerNext" })
+ @GET
+ Observable> listByServerNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Get a recommendation action advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the AdvisorInner object if successful.
+ */
+ public AdvisorInner get(String resourceGroupName, String serverName, String advisorName) {
+ return getWithServiceResponseAsync(resourceGroupName, serverName, advisorName).toBlocking().single().body();
+ }
+
+ /**
+ * Get a recommendation action advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture getAsync(String resourceGroupName, String serverName, String advisorName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(resourceGroupName, serverName, advisorName), serviceCallback);
+ }
+
+ /**
+ * Get a recommendation action advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AdvisorInner object
+ */
+ public Observable getAsync(String resourceGroupName, String serverName, String advisorName) {
+ return getWithServiceResponseAsync(resourceGroupName, serverName, advisorName).map(new Func1, AdvisorInner>() {
+ @Override
+ public AdvisorInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get a recommendation action advisor.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param advisorName The advisor name for recommendation action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the AdvisorInner object
+ */
+ public Observable> getWithServiceResponseAsync(String resourceGroupName, String serverName, String advisorName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (serverName == null) {
+ throw new IllegalArgumentException("Parameter serverName is required and cannot be null.");
+ }
+ if (advisorName == null) {
+ throw new IllegalArgumentException("Parameter advisorName is required and cannot be null.");
+ }
+ final String apiVersion = "2018-06-01";
+ return service.get(this.client.subscriptionId(), resourceGroupName, serverName, advisorName, apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<AdvisorInner> object if successful.
+ */
+ public PagedList listByServer(final String resourceGroupName, final String serverName) {
+ ServiceResponse> response = listByServerSinglePageAsync(resourceGroupName, serverName).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listByServerNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listByServerAsync(final String resourceGroupName, final String serverName, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listByServerSinglePageAsync(resourceGroupName, serverName),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listByServerNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AdvisorInner> object
+ */
+ public Observable> listByServerAsync(final String resourceGroupName, final String serverName) {
+ return listByServerWithServiceResponseAsync(resourceGroupName, serverName)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AdvisorInner> object
+ */
+ public Observable>> listByServerWithServiceResponseAsync(final String resourceGroupName, final String serverName) {
+ return listByServerSinglePageAsync(resourceGroupName, serverName)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listByServerNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ ServiceResponse> * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ ServiceResponse> * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<AdvisorInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listByServerSinglePageAsync(final String resourceGroupName, final String serverName) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
+ if (serverName == null) {
+ throw new IllegalArgumentException("Parameter serverName is required and cannot be null.");
+ }
+ final String apiVersion = "2018-06-01";
+ return service.listByServer(this.client.subscriptionId(), resourceGroupName, serverName, apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByServerDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listByServerDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<AdvisorInner> object if successful.
+ */
+ public PagedList listByServerNext(final String nextPageLink) {
+ ServiceResponse> response = listByServerNextSinglePageAsync(nextPageLink).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listByServerNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceFuture the ServiceFuture object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listByServerNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listByServerNextSinglePageAsync(nextPageLink),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listByServerNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AdvisorInner> object
+ */
+ public Observable> listByServerNextAsync(final String nextPageLink) {
+ return listByServerNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<AdvisorInner> object
+ */
+ public Observable>> listByServerNextWithServiceResponseAsync(final String nextPageLink) {
+ return listByServerNextSinglePageAsync(nextPageLink)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listByServerNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * List recommendation action advisors.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<AdvisorInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listByServerNextSinglePageAsync(final String nextPageLink) {
+ if (nextPageLink == null) {
+ throw new IllegalArgumentException("Parameter nextPageLink is required and cannot be null.");
+ }
+ String nextUrl = String.format("%s", nextPageLink);
+ return service.listByServerNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listByServerNextDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listByServerNextDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/CheckNameAvailabilitysInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/CheckNameAvailabilitysInner.java
index 27e3d8cacc3e..f44a902376d3 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/CheckNameAvailabilitysInner.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/CheckNameAvailabilitysInner.java
@@ -55,7 +55,7 @@ public CheckNameAvailabilitysInner(Retrofit retrofit, MariaDBManagementClientImp
*/
interface CheckNameAvailabilitysService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.CheckNameAvailabilitys execute" })
- @POST("subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability")
+ @POST("subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/checkNameAvailability")
Observable> execute(@Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Body NameAvailabilityRequest nameAvailabilityRequest, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/ConfigurationsInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/ConfigurationsInner.java
index eb3b0ab95d25..148a1926d5c9 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/ConfigurationsInner.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/ConfigurationsInner.java
@@ -56,19 +56,19 @@ public ConfigurationsInner(Retrofit retrofit, MariaDBManagementClientImpl client
*/
interface ConfigurationsService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Configurations createOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}")
Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("configurationName") String configurationName, @Query("api-version") String apiVersion, @Body ConfigurationInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Configurations beginCreateOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}")
Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("configurationName") String configurationName, @Query("api-version") String apiVersion, @Body ConfigurationInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Configurations get" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations/{configurationName}")
Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("configurationName") String configurationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Configurations listByServer" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/configurations")
Observable> listByServer(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/DatabasesInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/DatabasesInner.java
index e6c5d3db5522..eeae9a1c7caf 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/DatabasesInner.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/DatabasesInner.java
@@ -57,27 +57,27 @@ public DatabasesInner(Retrofit retrofit, MariaDBManagementClientImpl client) {
*/
interface DatabasesService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases createOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}")
Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("databaseName") String databaseName, @Query("api-version") String apiVersion, @Body DatabaseInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases beginCreateOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}")
Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("databaseName") String databaseName, @Query("api-version") String apiVersion, @Body DatabaseInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases delete" })
- @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", method = "DELETE", hasBody = true)
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}", method = "DELETE", hasBody = true)
Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("databaseName") String databaseName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases beginDelete" })
- @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}", method = "DELETE", hasBody = true)
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}", method = "DELETE", hasBody = true)
Observable> beginDelete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("databaseName") String databaseName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases get" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases/{databaseName}")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases/{databaseName}")
Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("databaseName") String databaseName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.Databases listByServer" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/databases")
Observable> listByServer(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/FirewallRulesInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/FirewallRulesInner.java
index b13529f0a527..49e2297085e5 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/FirewallRulesInner.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/FirewallRulesInner.java
@@ -57,27 +57,27 @@ public FirewallRulesInner(Retrofit retrofit, MariaDBManagementClientImpl client)
*/
interface FirewallRulesService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules createOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
Observable> createOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("firewallRuleName") String firewallRuleName, @Query("api-version") String apiVersion, @Body FirewallRuleInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules beginCreateOrUpdate" })
- @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
Observable> beginCreateOrUpdate(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("firewallRuleName") String firewallRuleName, @Query("api-version") String apiVersion, @Body FirewallRuleInner parameters, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules delete" })
- @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", method = "DELETE", hasBody = true)
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", method = "DELETE", hasBody = true)
Observable> delete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("firewallRuleName") String firewallRuleName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules beginDelete" })
- @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", method = "DELETE", hasBody = true)
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}", method = "DELETE", hasBody = true)
Observable> beginDelete(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("firewallRuleName") String firewallRuleName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules get" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}")
Observable> get(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Path("firewallRuleName") String firewallRuleName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.FirewallRules listByServer" })
- @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules")
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBForMariaDB/servers/{serverName}/firewallRules")
Observable> listByServer(@Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("serverName") String serverName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersImpl.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersImpl.java
index bd70d6322dc2..4304cde9f152 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersImpl.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersImpl.java
@@ -4,7 +4,7 @@
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
- * abc
+ *
*/
package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
@@ -28,7 +28,7 @@ public MariaDBManager manager() {
return this.manager;
}
- private PerformanceTierPropertiesImpl wrapPerformanceTierPropertiesModel(PerformanceTierPropertiesInner inner) {
+ private PerformanceTierPropertiesImpl wrapModel(PerformanceTierPropertiesInner inner) {
return new PerformanceTierPropertiesImpl(inner, manager());
}
@@ -45,7 +45,7 @@ public Observable call(List() {
@Override
public PerformanceTierProperties call(PerformanceTierPropertiesInner inner) {
- return wrapPerformanceTierPropertiesModel(inner);
+ return wrapModel(inner);
}
});
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersInner.java
index bf63aedffb7b..de6c3847674c 100644
--- a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersInner.java
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedPerformanceTiersInner.java
@@ -53,7 +53,7 @@ public LocationBasedPerformanceTiersInner(Retrofit retrofit, MariaDBManagementCl
*/
interface LocationBasedPerformanceTiersService {
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedPerformanceTiers list" })
- @GET("subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers")
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.DBForMariaDB/locations/{locationName}/performanceTiers")
Observable> list(@Path("subscriptionId") String subscriptionId, @Path("locationName") String locationName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusImpl.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusImpl.java
new file mode 100644
index 000000000000..e0ffcb871675
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusImpl.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * abc
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedRecommendedActionSessionsOperationStatus;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.management.mariadb.v2020_01_01.RecommendedActionSessionsOperationStatus;
+
+class LocationBasedRecommendedActionSessionsOperationStatusImpl extends WrapperImpl implements LocationBasedRecommendedActionSessionsOperationStatus {
+ private final MariaDBManager manager;
+
+ LocationBasedRecommendedActionSessionsOperationStatusImpl(MariaDBManager manager) {
+ super(manager.inner().locationBasedRecommendedActionSessionsOperationStatus());
+ this.manager = manager;
+ }
+
+ public MariaDBManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable getAsync(String locationName, String operationId) {
+ LocationBasedRecommendedActionSessionsOperationStatusInner client = this.inner();
+ return client.getAsync(locationName, operationId)
+ .map(new Func1() {
+ @Override
+ public RecommendedActionSessionsOperationStatus call(RecommendedActionSessionsOperationStatusInner inner) {
+ return new RecommendedActionSessionsOperationStatusImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusInner.java
new file mode 100644
index 000000000000..508fb6fc7500
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsOperationStatusInner.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.CloudException;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.Query;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in LocationBasedRecommendedActionSessionsOperationStatus.
+ */
+public class LocationBasedRecommendedActionSessionsOperationStatusInner {
+ /** The Retrofit service to perform REST calls. */
+ private LocationBasedRecommendedActionSessionsOperationStatusService service;
+ /** The service client containing this operation class. */
+ private MariaDBManagementClientImpl client;
+
+ /**
+ * Initializes an instance of LocationBasedRecommendedActionSessionsOperationStatusInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public LocationBasedRecommendedActionSessionsOperationStatusInner(Retrofit retrofit, MariaDBManagementClientImpl client) {
+ this.service = retrofit.create(LocationBasedRecommendedActionSessionsOperationStatusService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for LocationBasedRecommendedActionSessionsOperationStatus to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface LocationBasedRecommendedActionSessionsOperationStatusService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedRecommendedActionSessionsOperationStatus get" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsAzureAsyncOperation/{operationId}")
+ Observable> get(@Path("subscriptionId") String subscriptionId, @Path("locationName") String locationName, @Path("operationId") String operationId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Recommendation action session operation status.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the RecommendedActionSessionsOperationStatusInner object if successful.
+ */
+ public RecommendedActionSessionsOperationStatusInner get(String locationName, String operationId) {
+ return getWithServiceResponseAsync(locationName, operationId).toBlocking().single().body();
+ }
+
+ /**
+ * Recommendation action session operation status.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture getAsync(String locationName, String operationId, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(locationName, operationId), serviceCallback);
+ }
+
+ /**
+ * Recommendation action session operation status.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the RecommendedActionSessionsOperationStatusInner object
+ */
+ public Observable getAsync(String locationName, String operationId) {
+ return getWithServiceResponseAsync(locationName, operationId).map(new Func1, RecommendedActionSessionsOperationStatusInner>() {
+ @Override
+ public RecommendedActionSessionsOperationStatusInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Recommendation action session operation status.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the RecommendedActionSessionsOperationStatusInner object
+ */
+ public Observable> getWithServiceResponseAsync(String locationName, String operationId) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (locationName == null) {
+ throw new IllegalArgumentException("Parameter locationName is required and cannot be null.");
+ }
+ if (operationId == null) {
+ throw new IllegalArgumentException("Parameter operationId is required and cannot be null.");
+ }
+ final String apiVersion = "2018-06-01";
+ return service.get(this.client.subscriptionId(), locationName, operationId, apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = getDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse getDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsImpl.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsImpl.java
new file mode 100644
index 000000000000..7e0c7a773374
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsImpl.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ * abc
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedRecommendedActionSessionsResults;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.mariadb.v2020_01_01.RecommendationAction;
+
+class LocationBasedRecommendedActionSessionsResultsImpl extends WrapperImpl implements LocationBasedRecommendedActionSessionsResults {
+ private final MariaDBManager manager;
+
+ LocationBasedRecommendedActionSessionsResultsImpl(MariaDBManager manager) {
+ super(manager.inner().locationBasedRecommendedActionSessionsResults());
+ this.manager = manager;
+ }
+
+ public MariaDBManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable listAsync(final String locationName, final String operationId) {
+ LocationBasedRecommendedActionSessionsResultsInner client = this.inner();
+ return client.listAsync(locationName, operationId)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public RecommendationAction call(RecommendationActionInner inner) {
+ return new RecommendationActionImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsInner.java b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsInner.java
new file mode 100644
index 000000000000..6b2cad4a85b4
--- /dev/null
+++ b/sdk/mariadb/mgmt-v2020_01_01/src/main/java/com/microsoft/azure/management/mariadb/v2020_01_01/implementation/LocationBasedRecommendedActionSessionsResultsInner.java
@@ -0,0 +1,303 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.mariadb.v2020_01_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.CloudException;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.PagedList;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import java.io.IOException;
+import java.util.List;
+import okhttp3.ResponseBody;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.Path;
+import retrofit2.http.Query;
+import retrofit2.http.Url;
+import retrofit2.Response;
+import rx.functions.Func1;
+import rx.Observable;
+
+/**
+ * An instance of this class provides access to all the operations defined
+ * in LocationBasedRecommendedActionSessionsResults.
+ */
+public class LocationBasedRecommendedActionSessionsResultsInner {
+ /** The Retrofit service to perform REST calls. */
+ private LocationBasedRecommendedActionSessionsResultsService service;
+ /** The service client containing this operation class. */
+ private MariaDBManagementClientImpl client;
+
+ /**
+ * Initializes an instance of LocationBasedRecommendedActionSessionsResultsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public LocationBasedRecommendedActionSessionsResultsInner(Retrofit retrofit, MariaDBManagementClientImpl client) {
+ this.service = retrofit.create(LocationBasedRecommendedActionSessionsResultsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for LocationBasedRecommendedActionSessionsResults to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface LocationBasedRecommendedActionSessionsResultsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedRecommendedActionSessionsResults list" })
+ @GET("subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/recommendedActionSessionsOperationResults/{operationId}")
+ Observable> list(@Path("subscriptionId") String subscriptionId, @Path("locationName") String locationName, @Path("operationId") String operationId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.mariadb.v2020_01_01.LocationBasedRecommendedActionSessionsResults listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<RecommendationActionInner> object if successful.
+ */
+ public PagedList list(final String locationName, final String operationId) {
+ ServiceResponse> response = listSinglePageAsync(locationName, operationId).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listAsync(final String locationName, final String operationId, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(locationName, operationId),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RecommendationActionInner> object
+ */
+ public Observable> listAsync(final String locationName, final String operationId) {
+ return listWithServiceResponseAsync(locationName, operationId)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param locationName The name of the location.
+ * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RecommendationActionInner> object
+ */
+ public Observable>> listWithServiceResponseAsync(final String locationName, final String operationId) {
+ return listSinglePageAsync(locationName, operationId)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ ServiceResponse> * @param locationName The name of the location.
+ ServiceResponse> * @param operationId The operation identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<RecommendationActionInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync(final String locationName, final String operationId) {
+ if (this.client.subscriptionId() == null) {
+ throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
+ }
+ if (locationName == null) {
+ throw new IllegalArgumentException("Parameter locationName is required and cannot be null.");
+ }
+ if (operationId == null) {
+ throw new IllegalArgumentException("Parameter operationId is required and cannot be null.");
+ }
+ final String apiVersion = "2018-06-01";
+ return service.list(this.client.subscriptionId(), locationName, operationId, apiVersion, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., CloudException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .register(201, new TypeToken>() { }.getType())
+ .registerError(CloudException.class)
+ .build(response);
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws CloudException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PagedList<RecommendationActionInner> object if successful.
+ */
+ public PagedList listNext(final String nextPageLink) {
+ ServiceResponse> response = listNextSinglePageAsync(nextPageLink).toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @param serviceFuture the ServiceFuture object tracking the Retrofit calls
+ * @param serviceCallback the async ServiceCallback to handle successful and failed responses.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the {@link ServiceFuture} object
+ */
+ public ServiceFuture> listNextAsync(final String nextPageLink, final ServiceFuture> serviceFuture, final ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listNextSinglePageAsync(nextPageLink),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RecommendationActionInner> object
+ */
+ public Observable> listNextAsync(final String nextPageLink) {
+ return listNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<RecommendationActionInner> object
+ */
+ public Observable>> listNextWithServiceResponseAsync(final String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink)
+ .concatMap(new Func1>, Observable>>>() {
+ @Override
+ public Observable>> call(ServiceResponse> page) {
+ String nextPageLink = page.body().nextPageLink();
+ if (nextPageLink == null) {
+ return Observable.just(page);
+ }
+ return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
+ }
+ });
+ }
+
+ /**
+ * Recommendation action session operation result.
+ *
+ ServiceResponse