diff --git a/sdk/signalr/mgmt-v2020_05_01/pom.xml b/sdk/signalr/mgmt-v2020_05_01/pom.xml
new file mode 100644
index 000000000000..4c662ac4f117
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.signalr.v2020_05_01
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.3.0
+ ../../parents/azure-arm-parent/pom.xml
+
+ azure-mgmt-signalr
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for SignalRService Management
+ This package contains Microsoft SignalRService Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+ 1.6.5
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+ 1.7
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ */
+ ]]>
+
+
+
+
+
+
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ACLAction.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ACLAction.java
new file mode 100644
index 000000000000..4981b3c72f8c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ACLAction.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ACLAction.
+ */
+public final class ACLAction extends ExpandableStringEnum {
+ /** Static value Allow for ACLAction. */
+ public static final ACLAction ALLOW = fromString("Allow");
+
+ /** Static value Deny for ACLAction. */
+ public static final ACLAction DENY = fromString("Deny");
+
+ /**
+ * Creates or finds a ACLAction from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ACLAction
+ */
+ @JsonCreator
+ public static ACLAction fromString(String name) {
+ return fromString(name, ACLAction.class);
+ }
+
+ /**
+ * @return known ACLAction values
+ */
+ public static Collection values() {
+ return values(ACLAction.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Dimension.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Dimension.java
new file mode 100644
index 000000000000..67dd3cc6123c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Dimension.java
@@ -0,0 +1,122 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Dimension of metrics.
+ */
+public class Dimension {
+ /**
+ * The public facing name of the dimension.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the dimension.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Name of the dimension as it appears in MDM.
+ */
+ @JsonProperty(value = "internalName")
+ private String internalName;
+
+ /**
+ * A Boolean flag indicating whether this dimension should be included for
+ * the shoebox export scenario.
+ */
+ @JsonProperty(value = "toBeExportedForShoebox")
+ private Boolean toBeExportedForShoebox;
+
+ /**
+ * Get the public facing name of the dimension.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the public facing name of the dimension.
+ *
+ * @param name the name value to set
+ * @return the Dimension object itself.
+ */
+ public Dimension withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the dimension.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the dimension.
+ *
+ * @param displayName the displayName value to set
+ * @return the Dimension object itself.
+ */
+ public Dimension withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get name of the dimension as it appears in MDM.
+ *
+ * @return the internalName value
+ */
+ public String internalName() {
+ return this.internalName;
+ }
+
+ /**
+ * Set name of the dimension as it appears in MDM.
+ *
+ * @param internalName the internalName value to set
+ * @return the Dimension object itself.
+ */
+ public Dimension withInternalName(String internalName) {
+ this.internalName = internalName;
+ return this;
+ }
+
+ /**
+ * Get a Boolean flag indicating whether this dimension should be included for the shoebox export scenario.
+ *
+ * @return the toBeExportedForShoebox value
+ */
+ public Boolean toBeExportedForShoebox() {
+ return this.toBeExportedForShoebox;
+ }
+
+ /**
+ * Set a Boolean flag indicating whether this dimension should be included for the shoebox export scenario.
+ *
+ * @param toBeExportedForShoebox the toBeExportedForShoebox value to set
+ * @return the Dimension object itself.
+ */
+ public Dimension withToBeExportedForShoebox(Boolean toBeExportedForShoebox) {
+ this.toBeExportedForShoebox = toBeExportedForShoebox;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponse.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponse.java
new file mode 100644
index 000000000000..433ad72dfb90
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponse.java
@@ -0,0 +1,43 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Contains information about an API error.
+ */
+public class ErrorResponse {
+ /**
+ * Describes a particular API error with an error code and a message.
+ */
+ @JsonProperty(value = "error")
+ private ErrorResponseBody error;
+
+ /**
+ * Get describes a particular API error with an error code and a message.
+ *
+ * @return the error value
+ */
+ public ErrorResponseBody error() {
+ return this.error;
+ }
+
+ /**
+ * Set describes a particular API error with an error code and a message.
+ *
+ * @param error the error value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withError(ErrorResponseBody error) {
+ this.error = error;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseBody.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseBody.java
new file mode 100644
index 000000000000..2e3f0b3b71a8
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseBody.java
@@ -0,0 +1,128 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Describes a particular API error with an error code and a message.
+ */
+public class ErrorResponseBody {
+ /**
+ * An error code that describes the error condition more precisely than an
+ * HTTP status code.
+ * Can be used to programmatically handle specific error cases.
+ */
+ @JsonProperty(value = "code", required = true)
+ private String code;
+
+ /**
+ * A message that describes the error in detail and provides debugging
+ * information.
+ */
+ @JsonProperty(value = "message", required = true)
+ private String message;
+
+ /**
+ * The target of the particular error (for example, the name of the
+ * property in error).
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * Contains nested errors that are related to this error.
+ */
+ @JsonProperty(value = "details")
+ private List details;
+
+ /**
+ * Get an error code that describes the error condition more precisely than an HTTP status code.
+ Can be used to programmatically handle specific error cases.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set an error code that describes the error condition more precisely than an HTTP status code.
+ Can be used to programmatically handle specific error cases.
+ *
+ * @param code the code value to set
+ * @return the ErrorResponseBody object itself.
+ */
+ public ErrorResponseBody withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get a message that describes the error in detail and provides debugging information.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set a message that describes the error in detail and provides debugging information.
+ *
+ * @param message the message value to set
+ * @return the ErrorResponseBody object itself.
+ */
+ public ErrorResponseBody withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the target of the particular error (for example, the name of the property in error).
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set the target of the particular error (for example, the name of the property in error).
+ *
+ * @param target the target value to set
+ * @return the ErrorResponseBody object itself.
+ */
+ public ErrorResponseBody withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get contains nested errors that are related to this error.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+ /**
+ * Set contains nested errors that are related to this error.
+ *
+ * @param details the details value to set
+ * @return the ErrorResponseBody object itself.
+ */
+ public ErrorResponseBody withDetails(List details) {
+ this.details = details;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseException.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseException.java
new file mode 100644
index 000000000000..1c912af3706b
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ErrorResponseException.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.signalr.v2020_05_01;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ErrorResponse information.
+ */
+public class ErrorResponseException extends RestException {
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ErrorResponseException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public ErrorResponseException(final String message, final Response response, final ErrorResponse body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ErrorResponse body() {
+ return (ErrorResponse) super.body();
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/FeatureFlags.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/FeatureFlags.java
new file mode 100644
index 000000000000..b5fa641096c4
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/FeatureFlags.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for FeatureFlags.
+ */
+public final class FeatureFlags extends ExpandableStringEnum {
+ /** Static value ServiceMode for FeatureFlags. */
+ public static final FeatureFlags SERVICE_MODE = fromString("ServiceMode");
+
+ /** Static value EnableConnectivityLogs for FeatureFlags. */
+ public static final FeatureFlags ENABLE_CONNECTIVITY_LOGS = fromString("EnableConnectivityLogs");
+
+ /** Static value EnableMessagingLogs for FeatureFlags. */
+ public static final FeatureFlags ENABLE_MESSAGING_LOGS = fromString("EnableMessagingLogs");
+
+ /**
+ * Creates or finds a FeatureFlags from its string representation.
+ * @param name a name to look for
+ * @return the corresponding FeatureFlags
+ */
+ @JsonCreator
+ public static FeatureFlags fromString(String name) {
+ return fromString(name, FeatureFlags.class);
+ }
+
+ /**
+ * @return known FeatureFlags values
+ */
+ public static Collection values() {
+ return values(FeatureFlags.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/KeyType.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/KeyType.java
new file mode 100644
index 000000000000..c5dcc39eb9a7
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/KeyType.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for KeyType.
+ */
+public final class KeyType extends ExpandableStringEnum {
+ /** Static value Primary for KeyType. */
+ public static final KeyType PRIMARY = fromString("Primary");
+
+ /** Static value Secondary for KeyType. */
+ public static final KeyType SECONDARY = fromString("Secondary");
+
+ /**
+ * Creates or finds a KeyType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding KeyType
+ */
+ @JsonCreator
+ public static KeyType fromString(String name) {
+ return fromString(name, KeyType.class);
+ }
+
+ /**
+ * @return known KeyType values
+ */
+ public static Collection values() {
+ return values(KeyType.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/LogSpecification.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/LogSpecification.java
new file mode 100644
index 000000000000..f8bf1ef5fa70
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/LogSpecification.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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Logs for Azure Monitoring.
+ */
+public class LogSpecification {
+ /**
+ * Name of the log.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the log.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Get name of the log.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the log.
+ *
+ * @param name the name value to set
+ * @return the LogSpecification object itself.
+ */
+ public LogSpecification withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the log.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the log.
+ *
+ * @param displayName the displayName value to set
+ * @return the LogSpecification object itself.
+ */
+ public LogSpecification withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/MetricSpecification.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/MetricSpecification.java
new file mode 100644
index 000000000000..7de5917c5b98
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/MetricSpecification.java
@@ -0,0 +1,237 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Specifications of the Metrics for Azure Monitoring.
+ */
+public class MetricSpecification {
+ /**
+ * Name of the metric.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * Localized friendly display name of the metric.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /**
+ * Localized friendly description of the metric.
+ */
+ @JsonProperty(value = "displayDescription")
+ private String displayDescription;
+
+ /**
+ * The unit that makes sense for the metric.
+ */
+ @JsonProperty(value = "unit")
+ private String unit;
+
+ /**
+ * Only provide one value for this field. Valid values: Average, Minimum,
+ * Maximum, Total, Count.
+ */
+ @JsonProperty(value = "aggregationType")
+ private String aggregationType;
+
+ /**
+ * Optional. If set to true, then zero will be returned for time duration
+ * where no metric is emitted/published.
+ * Ex. a metric that returns the number of times a particular error code
+ * was emitted. The error code may not appear
+ * often, instead of the RP publishing 0, Shoebox can auto fill in 0s for
+ * time periods where nothing was emitted.
+ */
+ @JsonProperty(value = "fillGapWithZero")
+ private String fillGapWithZero;
+
+ /**
+ * The name of the metric category that the metric belongs to. A metric can
+ * only belong to a single category.
+ */
+ @JsonProperty(value = "category")
+ private String category;
+
+ /**
+ * The dimensions of the metrics.
+ */
+ @JsonProperty(value = "dimensions")
+ private List dimensions;
+
+ /**
+ * Get name of the metric.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the metric.
+ *
+ * @param name the name value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get localized friendly display name of the metric.
+ *
+ * @return the displayName value
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set localized friendly display name of the metric.
+ *
+ * @param displayName the displayName value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get localized friendly description of the metric.
+ *
+ * @return the displayDescription value
+ */
+ public String displayDescription() {
+ return this.displayDescription;
+ }
+
+ /**
+ * Set localized friendly description of the metric.
+ *
+ * @param displayDescription the displayDescription value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDisplayDescription(String displayDescription) {
+ this.displayDescription = displayDescription;
+ return this;
+ }
+
+ /**
+ * Get the unit that makes sense for the metric.
+ *
+ * @return the unit value
+ */
+ public String unit() {
+ return this.unit;
+ }
+
+ /**
+ * Set the unit that makes sense for the metric.
+ *
+ * @param unit the unit value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withUnit(String unit) {
+ this.unit = unit;
+ return this;
+ }
+
+ /**
+ * Get only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.
+ *
+ * @return the aggregationType value
+ */
+ public String aggregationType() {
+ return this.aggregationType;
+ }
+
+ /**
+ * Set only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.
+ *
+ * @param aggregationType the aggregationType value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withAggregationType(String aggregationType) {
+ this.aggregationType = aggregationType;
+ return this;
+ }
+
+ /**
+ * Get optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.
+ Ex. a metric that returns the number of times a particular error code was emitted. The error code may not appear
+ often, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.
+ *
+ * @return the fillGapWithZero value
+ */
+ public String fillGapWithZero() {
+ return this.fillGapWithZero;
+ }
+
+ /**
+ * Set optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.
+ Ex. a metric that returns the number of times a particular error code was emitted. The error code may not appear
+ often, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.
+ *
+ * @param fillGapWithZero the fillGapWithZero value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withFillGapWithZero(String fillGapWithZero) {
+ this.fillGapWithZero = fillGapWithZero;
+ return this;
+ }
+
+ /**
+ * Get the name of the metric category that the metric belongs to. A metric can only belong to a single category.
+ *
+ * @return the category value
+ */
+ public String category() {
+ return this.category;
+ }
+
+ /**
+ * Set the name of the metric category that the metric belongs to. A metric can only belong to a single category.
+ *
+ * @param category the category value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withCategory(String category) {
+ this.category = category;
+ return this;
+ }
+
+ /**
+ * Get the dimensions of the metrics.
+ *
+ * @return the dimensions value
+ */
+ public List dimensions() {
+ return this.dimensions;
+ }
+
+ /**
+ * Set the dimensions of the metrics.
+ *
+ * @param dimensions the dimensions value to set
+ * @return the MetricSpecification object itself.
+ */
+ public MetricSpecification withDimensions(List dimensions) {
+ this.dimensions = dimensions;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailability.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailability.java
new file mode 100644
index 000000000000..24d38daf25d3
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailability.java
@@ -0,0 +1,35 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.NameAvailabilityInner;
+
+/**
+ * Type representing NameAvailability.
+ */
+public interface NameAvailability extends HasInner, HasManager {
+ /**
+ * @return the message value.
+ */
+ String message();
+
+ /**
+ * @return the nameAvailable value.
+ */
+ Boolean nameAvailable();
+
+ /**
+ * @return the reason value.
+ */
+ String reason();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailabilityParameters.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailabilityParameters.java
new file mode 100644
index 000000000000..e858497d3427
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NameAvailabilityParameters.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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Data POST-ed to the nameAvailability action.
+ */
+public class NameAvailabilityParameters {
+ /**
+ * The resource type. Should be always "Microsoft.SignalRService/SignalR".
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * The SignalR service name to validate. e.g."my-signalR-name-here".
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get the resource type. Should be always "Microsoft.SignalRService/SignalR".
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the resource type. Should be always "Microsoft.SignalRService/SignalR".
+ *
+ * @param type the type value to set
+ * @return the NameAvailabilityParameters object itself.
+ */
+ public NameAvailabilityParameters withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the SignalR service name to validate. e.g."my-signalR-name-here".
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the SignalR service name to validate. e.g."my-signalR-name-here".
+ *
+ * @param name the name value to set
+ * @return the NameAvailabilityParameters object itself.
+ */
+ public NameAvailabilityParameters withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NetworkACL.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NetworkACL.java
new file mode 100644
index 000000000000..5013baae84db
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/NetworkACL.java
@@ -0,0 +1,72 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Network ACL.
+ */
+public class NetworkACL {
+ /**
+ * Allowed request types. The value can be one or more of:
+ * ClientConnection, ServerConnection, RESTAPI.
+ */
+ @JsonProperty(value = "allow")
+ private List allow;
+
+ /**
+ * Denied request types. The value can be one or more of: ClientConnection,
+ * ServerConnection, RESTAPI.
+ */
+ @JsonProperty(value = "deny")
+ private List deny;
+
+ /**
+ * Get allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
+ *
+ * @return the allow value
+ */
+ public List allow() {
+ return this.allow;
+ }
+
+ /**
+ * Set allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
+ *
+ * @param allow the allow value to set
+ * @return the NetworkACL object itself.
+ */
+ public NetworkACL withAllow(List allow) {
+ this.allow = allow;
+ return this;
+ }
+
+ /**
+ * Get denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
+ *
+ * @return the deny value
+ */
+ public List deny() {
+ return this.deny;
+ }
+
+ /**
+ * Set denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.
+ *
+ * @param deny the deny value to set
+ * @return the NetworkACL object itself.
+ */
+ public NetworkACL withDeny(List deny) {
+ this.deny = deny;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operation.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operation.java
new file mode 100644
index 000000000000..dd3ebfcafc52
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operation.java
@@ -0,0 +1,45 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.OperationInner;
+
+/**
+ * Type representing Operation.
+ */
+public interface Operation extends HasInner, HasManager {
+ /**
+ * @return the display value.
+ */
+ OperationDisplay display();
+
+ /**
+ * @return the isDataAction value.
+ */
+ Boolean isDataAction();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the origin value.
+ */
+ String origin();
+
+ /**
+ * @return the properties value.
+ */
+ OperationProperties properties();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationDisplay.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationDisplay.java
new file mode 100644
index 000000000000..4dae3ccad299
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationDisplay.java
@@ -0,0 +1,121 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The object that describes a operation.
+ */
+public class OperationDisplay {
+ /**
+ * Friendly name of the resource provider.
+ */
+ @JsonProperty(value = "provider")
+ private String provider;
+
+ /**
+ * Resource type on which the operation is performed.
+ */
+ @JsonProperty(value = "resource")
+ private String resource;
+
+ /**
+ * The localized friendly name for the operation.
+ */
+ @JsonProperty(value = "operation")
+ private String operation;
+
+ /**
+ * The localized friendly description for the operation.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Get friendly name of the resource provider.
+ *
+ * @return the provider value
+ */
+ public String provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set friendly name of the resource provider.
+ *
+ * @param provider the provider value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withProvider(String provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get resource type on which the operation is performed.
+ *
+ * @return the resource value
+ */
+ public String resource() {
+ return this.resource;
+ }
+
+ /**
+ * Set resource type on which the operation is performed.
+ *
+ * @param resource the resource value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withResource(String resource) {
+ this.resource = resource;
+ return this;
+ }
+
+ /**
+ * Get the localized friendly name for the operation.
+ *
+ * @return the operation value
+ */
+ public String operation() {
+ return this.operation;
+ }
+
+ /**
+ * Set the localized friendly name for the operation.
+ *
+ * @param operation the operation value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withOperation(String operation) {
+ this.operation = operation;
+ return this;
+ }
+
+ /**
+ * Get the localized friendly description for the operation.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the localized friendly description for the operation.
+ *
+ * @param description the description value to set
+ * @return the OperationDisplay object itself.
+ */
+ public OperationDisplay withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationProperties.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationProperties.java
new file mode 100644
index 000000000000..f9535634007d
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/OperationProperties.java
@@ -0,0 +1,43 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Extra Operation properties.
+ */
+public class OperationProperties {
+ /**
+ * The service specifications.
+ */
+ @JsonProperty(value = "serviceSpecification")
+ private ServiceSpecification serviceSpecification;
+
+ /**
+ * Get the service specifications.
+ *
+ * @return the serviceSpecification value
+ */
+ public ServiceSpecification serviceSpecification() {
+ return this.serviceSpecification;
+ }
+
+ /**
+ * Set the service specifications.
+ *
+ * @param serviceSpecification the serviceSpecification value to set
+ * @return the OperationProperties object itself.
+ */
+ public OperationProperties withServiceSpecification(ServiceSpecification serviceSpecification) {
+ this.serviceSpecification = serviceSpecification;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operations.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operations.java
new file mode 100644
index 000000000000..abf99e382b3c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Operations.java
@@ -0,0 +1,27 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.OperationsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Operations.
+ */
+public interface Operations extends HasInner {
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpoint.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpoint.java
new file mode 100644
index 000000000000..dee2c74765d1
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpoint.java
@@ -0,0 +1,43 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Private endpoint.
+ */
+public class PrivateEndpoint {
+ /**
+ * Full qualified Id of the private endpoint.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /**
+ * Get full qualified Id of the private endpoint.
+ *
+ * @return the id value
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set full qualified Id of the private endpoint.
+ *
+ * @param id the id value to set
+ * @return the PrivateEndpoint object itself.
+ */
+ public PrivateEndpoint withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointACL.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointACL.java
new file mode 100644
index 000000000000..c3bad5843e8c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointACL.java
@@ -0,0 +1,43 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * ACL for a private endpoint.
+ */
+public class PrivateEndpointACL extends NetworkACL {
+ /**
+ * Name of the private endpoint connection.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Get name of the private endpoint connection.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the private endpoint connection.
+ *
+ * @param name the name value to set
+ * @return the PrivateEndpointACL object itself.
+ */
+ public PrivateEndpointACL withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointConnection.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointConnection.java
new file mode 100644
index 000000000000..417123042d56
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateEndpointConnection.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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.signalr.v2020_05_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.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+
+/**
+ * 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.
+ */
+ PrivateEndpoint privateEndpoint();
+
+ /**
+ * @return the privateLinkServiceConnectionState value.
+ */
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * 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 associated with the private endpoint connection
+ * @return the next update stage
+ */
+ Update withPrivateEndpoint(PrivateEndpoint privateEndpoint);
+ }
+
+ /**
+ * The stage of the privateendpointconnection update allowing to specify PrivateLinkServiceConnectionState.
+ */
+ interface WithPrivateLinkServiceConnectionState {
+ /**
+ * Specifies privateLinkServiceConnectionState.
+ * @param privateLinkServiceConnectionState Connection state
+ * @return the next update stage
+ */
+ Update withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionState privateLinkServiceConnectionState);
+ }
+
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkResource.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkResource.java
new file mode 100644
index 000000000000..e55630bec1b7
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkResource.java
@@ -0,0 +1,51 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.PrivateLinkResourceInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+import java.util.List;
+
+/**
+ * Type representing PrivateLinkResource.
+ */
+public interface PrivateLinkResource extends HasInner, HasManager {
+ /**
+ * @return the groupId value.
+ */
+ String groupId();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the requiredMembers value.
+ */
+ List requiredMembers();
+
+ /**
+ * @return the requiredZoneNames value.
+ */
+ List requiredZoneNames();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionState.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionState.java
new file mode 100644
index 000000000000..7ab1112afb35
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionState.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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Connection state of the private endpoint connection.
+ */
+public class PrivateLinkServiceConnectionState {
+ /**
+ * Indicates whether the connection has been Approved/Rejected/Removed by
+ * the owner of the service. Possible values include: 'Pending',
+ * 'Approved', 'Rejected', 'Disconnected'.
+ */
+ @JsonProperty(value = "status")
+ private PrivateLinkServiceConnectionStatus status;
+
+ /**
+ * The reason for approval/rejection of the connection.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * A message indicating if changes on the service provider require any
+ * updates on the consumer.
+ */
+ @JsonProperty(value = "actionsRequired")
+ private String actionsRequired;
+
+ /**
+ * Get indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected'.
+ *
+ * @return the status value
+ */
+ public PrivateLinkServiceConnectionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Possible values include: 'Pending', 'Approved', 'Rejected', 'Disconnected'.
+ *
+ * @param status the status value to set
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withStatus(PrivateLinkServiceConnectionStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the reason for approval/rejection of the connection.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the reason for approval/rejection of the connection.
+ *
+ * @param description the description value to set
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get a message indicating if changes on the service provider require any updates on the consumer.
+ *
+ * @return the actionsRequired value
+ */
+ public String actionsRequired() {
+ return this.actionsRequired;
+ }
+
+ /**
+ * Set a message indicating if changes on the service provider require any updates on the consumer.
+ *
+ * @param actionsRequired the actionsRequired value to set
+ * @return the PrivateLinkServiceConnectionState object itself.
+ */
+ public PrivateLinkServiceConnectionState withActionsRequired(String actionsRequired) {
+ this.actionsRequired = actionsRequired;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionStatus.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionStatus.java
new file mode 100644
index 000000000000..ec55f23c29cc
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/PrivateLinkServiceConnectionStatus.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for PrivateLinkServiceConnectionStatus.
+ */
+public final class PrivateLinkServiceConnectionStatus extends ExpandableStringEnum {
+ /** Static value Pending for PrivateLinkServiceConnectionStatus. */
+ public static final PrivateLinkServiceConnectionStatus PENDING = fromString("Pending");
+
+ /** Static value Approved for PrivateLinkServiceConnectionStatus. */
+ public static final PrivateLinkServiceConnectionStatus APPROVED = fromString("Approved");
+
+ /** Static value Rejected for PrivateLinkServiceConnectionStatus. */
+ public static final PrivateLinkServiceConnectionStatus REJECTED = fromString("Rejected");
+
+ /** Static value Disconnected for PrivateLinkServiceConnectionStatus. */
+ public static final PrivateLinkServiceConnectionStatus DISCONNECTED = fromString("Disconnected");
+
+ /**
+ * Creates or finds a PrivateLinkServiceConnectionStatus from its string representation.
+ * @param name a name to look for
+ * @return the corresponding PrivateLinkServiceConnectionStatus
+ */
+ @JsonCreator
+ public static PrivateLinkServiceConnectionStatus fromString(String name) {
+ return fromString(name, PrivateLinkServiceConnectionStatus.class);
+ }
+
+ /**
+ * @return known PrivateLinkServiceConnectionStatus values
+ */
+ public static Collection values() {
+ return values(PrivateLinkServiceConnectionStatus.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ProvisioningState.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ProvisioningState.java
new file mode 100644
index 000000000000..a883e291c711
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ProvisioningState.java
@@ -0,0 +1,62 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ProvisioningState.
+ */
+public final class ProvisioningState extends ExpandableStringEnum {
+ /** Static value Unknown for ProvisioningState. */
+ public static final ProvisioningState UNKNOWN = fromString("Unknown");
+
+ /** Static value Succeeded for ProvisioningState. */
+ public static final ProvisioningState SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for ProvisioningState. */
+ public static final ProvisioningState FAILED = fromString("Failed");
+
+ /** Static value Canceled for ProvisioningState. */
+ public static final ProvisioningState CANCELED = fromString("Canceled");
+
+ /** Static value Running for ProvisioningState. */
+ public static final ProvisioningState RUNNING = fromString("Running");
+
+ /** Static value Creating for ProvisioningState. */
+ public static final ProvisioningState CREATING = fromString("Creating");
+
+ /** Static value Updating for ProvisioningState. */
+ public static final ProvisioningState UPDATING = fromString("Updating");
+
+ /** Static value Deleting for ProvisioningState. */
+ public static final ProvisioningState DELETING = fromString("Deleting");
+
+ /** Static value Moving for ProvisioningState. */
+ public static final ProvisioningState MOVING = fromString("Moving");
+
+ /**
+ * Creates or finds a ProvisioningState from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ProvisioningState
+ */
+ @JsonCreator
+ public static ProvisioningState fromString(String name) {
+ return fromString(name, ProvisioningState.class);
+ }
+
+ /**
+ * @return known ProvisioningState values
+ */
+ public static Collection values() {
+ return values(ProvisioningState.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/RegenerateKeyParameters.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/RegenerateKeyParameters.java
new file mode 100644
index 000000000000..423718cd9474
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/RegenerateKeyParameters.java
@@ -0,0 +1,45 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Parameters describes the request to regenerate access keys.
+ */
+public class RegenerateKeyParameters {
+ /**
+ * The keyType to regenerate. Must be either 'primary' or
+ * 'secondary'(case-insensitive). Possible values include: 'Primary',
+ * 'Secondary'.
+ */
+ @JsonProperty(value = "keyType")
+ private KeyType keyType;
+
+ /**
+ * Get the keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive). Possible values include: 'Primary', 'Secondary'.
+ *
+ * @return the keyType value
+ */
+ public KeyType keyType() {
+ return this.keyType;
+ }
+
+ /**
+ * Set the keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive). Possible values include: 'Primary', 'Secondary'.
+ *
+ * @param keyType the keyType value to set
+ * @return the RegenerateKeyParameters object itself.
+ */
+ public RegenerateKeyParameters withKeyType(KeyType keyType) {
+ this.keyType = keyType;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ResourceSku.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ResourceSku.java
new file mode 100644
index 000000000000..c83f9cdae9d8
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ResourceSku.java
@@ -0,0 +1,166 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The billing information of the SignalR resource.
+ */
+public class ResourceSku {
+ /**
+ * The name of the SKU. Required.
+ *
+ * Allowed values: Standard_S1, Free_F1.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Optional tier of this particular SKU. 'Standard' or 'Free'.
+ *
+ * `Basic` is deprecated, use `Standard` instead. Possible values include:
+ * 'Free', 'Basic', 'Standard', 'Premium'.
+ */
+ @JsonProperty(value = "tier")
+ private SignalRSkuTier tier;
+
+ /**
+ * Optional string. For future use.
+ */
+ @JsonProperty(value = "size")
+ private String size;
+
+ /**
+ * Optional string. For future use.
+ */
+ @JsonProperty(value = "family")
+ private String family;
+
+ /**
+ * Optional, integer. The unit count of SignalR resource. 1 by default.
+ *
+ * If present, following values are allowed:
+ * Free: 1
+ * Standard: 1,2,5,10,20,50,100.
+ */
+ @JsonProperty(value = "capacity")
+ private Integer capacity;
+
+ /**
+ * Get the name of the SKU. Required.
+ Allowed values: Standard_S1, Free_F1.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name of the SKU. Required.
+ Allowed values: Standard_S1, Free_F1.
+ *
+ * @param name the name value to set
+ * @return the ResourceSku object itself.
+ */
+ public ResourceSku withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get optional tier of this particular SKU. 'Standard' or 'Free'.
+ `Basic` is deprecated, use `Standard` instead. Possible values include: 'Free', 'Basic', 'Standard', 'Premium'.
+ *
+ * @return the tier value
+ */
+ public SignalRSkuTier tier() {
+ return this.tier;
+ }
+
+ /**
+ * Set optional tier of this particular SKU. 'Standard' or 'Free'.
+ `Basic` is deprecated, use `Standard` instead. Possible values include: 'Free', 'Basic', 'Standard', 'Premium'.
+ *
+ * @param tier the tier value to set
+ * @return the ResourceSku object itself.
+ */
+ public ResourceSku withTier(SignalRSkuTier tier) {
+ this.tier = tier;
+ return this;
+ }
+
+ /**
+ * Get optional string. For future use.
+ *
+ * @return the size value
+ */
+ public String size() {
+ return this.size;
+ }
+
+ /**
+ * Set optional string. For future use.
+ *
+ * @param size the size value to set
+ * @return the ResourceSku object itself.
+ */
+ public ResourceSku withSize(String size) {
+ this.size = size;
+ return this;
+ }
+
+ /**
+ * Get optional string. For future use.
+ *
+ * @return the family value
+ */
+ public String family() {
+ return this.family;
+ }
+
+ /**
+ * Set optional string. For future use.
+ *
+ * @param family the family value to set
+ * @return the ResourceSku object itself.
+ */
+ public ResourceSku withFamily(String family) {
+ this.family = family;
+ return this;
+ }
+
+ /**
+ * Get optional, integer. The unit count of SignalR resource. 1 by default.
+ If present, following values are allowed:
+ Free: 1
+ Standard: 1,2,5,10,20,50,100.
+ *
+ * @return the capacity value
+ */
+ public Integer capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set optional, integer. The unit count of SignalR resource. 1 by default.
+ If present, following values are allowed:
+ Free: 1
+ Standard: 1,2,5,10,20,50,100.
+ *
+ * @param capacity the capacity value to set
+ * @return the ResourceSku object itself.
+ */
+ public ResourceSku withCapacity(Integer capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServerlessUpstreamSettings.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServerlessUpstreamSettings.java
new file mode 100644
index 000000000000..b211645e1ce7
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServerlessUpstreamSettings.java
@@ -0,0 +1,45 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The settings for the Upstream when the Azure SignalR is in server-less mode.
+ */
+public class ServerlessUpstreamSettings {
+ /**
+ * Gets or sets the list of Upstream URL templates. Order matters, and the
+ * first matching template takes effects.
+ */
+ @JsonProperty(value = "templates")
+ private List templates;
+
+ /**
+ * Get gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.
+ *
+ * @return the templates value
+ */
+ public List templates() {
+ return this.templates;
+ }
+
+ /**
+ * Set gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.
+ *
+ * @param templates the templates value to set
+ * @return the ServerlessUpstreamSettings object itself.
+ */
+ public ServerlessUpstreamSettings withTemplates(List templates) {
+ this.templates = templates;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceKind.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceKind.java
new file mode 100644
index 000000000000..f0f325370a93
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceKind.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for ServiceKind.
+ */
+public final class ServiceKind extends ExpandableStringEnum {
+ /** Static value SignalR for ServiceKind. */
+ public static final ServiceKind SIGNALR = fromString("SignalR");
+
+ /** Static value RawWebSockets for ServiceKind. */
+ public static final ServiceKind RAW_WEB_SOCKETS = fromString("RawWebSockets");
+
+ /**
+ * Creates or finds a ServiceKind from its string representation.
+ * @param name a name to look for
+ * @return the corresponding ServiceKind
+ */
+ @JsonCreator
+ public static ServiceKind fromString(String name) {
+ return fromString(name, ServiceKind.class);
+ }
+
+ /**
+ * @return known ServiceKind values
+ */
+ public static Collection values() {
+ return values(ServiceKind.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceSpecification.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceSpecification.java
new file mode 100644
index 000000000000..48d6765853f3
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/ServiceSpecification.java
@@ -0,0 +1,70 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * An object that describes a specification.
+ */
+public class ServiceSpecification {
+ /**
+ * Specifications of the Metrics for Azure Monitoring.
+ */
+ @JsonProperty(value = "metricSpecifications")
+ private List metricSpecifications;
+
+ /**
+ * Specifications of the Logs for Azure Monitoring.
+ */
+ @JsonProperty(value = "logSpecifications")
+ private List logSpecifications;
+
+ /**
+ * Get specifications of the Metrics for Azure Monitoring.
+ *
+ * @return the metricSpecifications value
+ */
+ public List metricSpecifications() {
+ return this.metricSpecifications;
+ }
+
+ /**
+ * Set specifications of the Metrics for Azure Monitoring.
+ *
+ * @param metricSpecifications the metricSpecifications value to set
+ * @return the ServiceSpecification object itself.
+ */
+ public ServiceSpecification withMetricSpecifications(List metricSpecifications) {
+ this.metricSpecifications = metricSpecifications;
+ return this;
+ }
+
+ /**
+ * Get specifications of the Logs for Azure Monitoring.
+ *
+ * @return the logSpecifications value
+ */
+ public List logSpecifications() {
+ return this.logSpecifications;
+ }
+
+ /**
+ * Set specifications of the Logs for Azure Monitoring.
+ *
+ * @param logSpecifications the logSpecifications value to set
+ * @return the ServiceSpecification object itself.
+ */
+ public ServiceSpecification withLogSpecifications(List logSpecifications) {
+ this.logSpecifications = logSpecifications;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCorsSettings.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCorsSettings.java
new file mode 100644
index 000000000000..ae0c48f5ea41
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCorsSettings.java
@@ -0,0 +1,46 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Cross-Origin Resource Sharing (CORS) settings.
+ */
+public class SignalRCorsSettings {
+ /**
+ * Gets or sets the list of origins that should be allowed to make
+ * cross-origin calls (for example: http://example.com:12345). Use "*" to
+ * allow all. If omitted, allow all by default.
+ */
+ @JsonProperty(value = "allowedOrigins")
+ private List allowedOrigins;
+
+ /**
+ * Get gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use "*" to allow all. If omitted, allow all by default.
+ *
+ * @return the allowedOrigins value
+ */
+ public List allowedOrigins() {
+ return this.allowedOrigins;
+ }
+
+ /**
+ * Set gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use "*" to allow all. If omitted, allow all by default.
+ *
+ * @param allowedOrigins the allowedOrigins value to set
+ * @return the SignalRCorsSettings object itself.
+ */
+ public SignalRCorsSettings withAllowedOrigins(List allowedOrigins) {
+ this.allowedOrigins = allowedOrigins;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCreateOrUpdateProperties.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCreateOrUpdateProperties.java
new file mode 100644
index 000000000000..3eeb23fefb7c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRCreateOrUpdateProperties.java
@@ -0,0 +1,168 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Settings used to provision or configure the resource.
+ */
+public class SignalRCreateOrUpdateProperties {
+ /**
+ * Prefix for the hostName of the SignalR service. Retained for future use.
+ * The hostname will be of format:
+ * <hostNamePrefix>.service.signalr.net.
+ */
+ @JsonProperty(value = "hostNamePrefix")
+ private String hostNamePrefix;
+
+ /**
+ * List of SignalR featureFlags. e.g. ServiceMode.
+ *
+ * FeatureFlags that are not included in the parameters for the update
+ * operation will not be modified.
+ * And the response will only include featureFlags that are explicitly set.
+ * When a featureFlag is not explicitly set, SignalR service will use its
+ * globally default value.
+ * But keep in mind, the default value doesn't mean "false". It varies in
+ * terms of different FeatureFlags.
+ */
+ @JsonProperty(value = "features")
+ private List features;
+
+ /**
+ * Cross-Origin Resource Sharing (CORS) settings.
+ */
+ @JsonProperty(value = "cors")
+ private SignalRCorsSettings cors;
+
+ /**
+ * Upstream settings when the Azure SignalR is in server-less mode.
+ */
+ @JsonProperty(value = "upstream")
+ private ServerlessUpstreamSettings upstream;
+
+ /**
+ * Network ACLs.
+ */
+ @JsonProperty(value = "networkACLs")
+ private SignalRNetworkACLs networkACLs;
+
+ /**
+ * Get prefix for the hostName of the SignalR service. Retained for future use.
+ The hostname will be of format: <hostNamePrefix>.service.signalr.net.
+ *
+ * @return the hostNamePrefix value
+ */
+ public String hostNamePrefix() {
+ return this.hostNamePrefix;
+ }
+
+ /**
+ * Set prefix for the hostName of the SignalR service. Retained for future use.
+ The hostname will be of format: <hostNamePrefix>.service.signalr.net.
+ *
+ * @param hostNamePrefix the hostNamePrefix value to set
+ * @return the SignalRCreateOrUpdateProperties object itself.
+ */
+ public SignalRCreateOrUpdateProperties withHostNamePrefix(String hostNamePrefix) {
+ this.hostNamePrefix = hostNamePrefix;
+ return this;
+ }
+
+ /**
+ * Get list of SignalR featureFlags. e.g. ServiceMode.
+ FeatureFlags that are not included in the parameters for the update operation will not be modified.
+ And the response will only include featureFlags that are explicitly set.
+ When a featureFlag is not explicitly set, SignalR service will use its globally default value.
+ But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags.
+ *
+ * @return the features value
+ */
+ public List features() {
+ return this.features;
+ }
+
+ /**
+ * Set list of SignalR featureFlags. e.g. ServiceMode.
+ FeatureFlags that are not included in the parameters for the update operation will not be modified.
+ And the response will only include featureFlags that are explicitly set.
+ When a featureFlag is not explicitly set, SignalR service will use its globally default value.
+ But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags.
+ *
+ * @param features the features value to set
+ * @return the SignalRCreateOrUpdateProperties object itself.
+ */
+ public SignalRCreateOrUpdateProperties withFeatures(List features) {
+ this.features = features;
+ return this;
+ }
+
+ /**
+ * Get cross-Origin Resource Sharing (CORS) settings.
+ *
+ * @return the cors value
+ */
+ public SignalRCorsSettings cors() {
+ return this.cors;
+ }
+
+ /**
+ * Set cross-Origin Resource Sharing (CORS) settings.
+ *
+ * @param cors the cors value to set
+ * @return the SignalRCreateOrUpdateProperties object itself.
+ */
+ public SignalRCreateOrUpdateProperties withCors(SignalRCorsSettings cors) {
+ this.cors = cors;
+ return this;
+ }
+
+ /**
+ * Get upstream settings when the Azure SignalR is in server-less mode.
+ *
+ * @return the upstream value
+ */
+ public ServerlessUpstreamSettings upstream() {
+ return this.upstream;
+ }
+
+ /**
+ * Set upstream settings when the Azure SignalR is in server-less mode.
+ *
+ * @param upstream the upstream value to set
+ * @return the SignalRCreateOrUpdateProperties object itself.
+ */
+ public SignalRCreateOrUpdateProperties withUpstream(ServerlessUpstreamSettings upstream) {
+ this.upstream = upstream;
+ return this;
+ }
+
+ /**
+ * Get network ACLs.
+ *
+ * @return the networkACLs value
+ */
+ public SignalRNetworkACLs networkACLs() {
+ return this.networkACLs;
+ }
+
+ /**
+ * Set network ACLs.
+ *
+ * @param networkACLs the networkACLs value to set
+ * @return the SignalRCreateOrUpdateProperties object itself.
+ */
+ public SignalRCreateOrUpdateProperties withNetworkACLs(SignalRNetworkACLs networkACLs) {
+ this.networkACLs = networkACLs;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRFeature.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRFeature.java
new file mode 100644
index 000000000000..b924c6aff54e
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRFeature.java
@@ -0,0 +1,109 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Feature of a SignalR resource, which controls the SignalR runtime behavior.
+ */
+public class SignalRFeature {
+ /**
+ * FeatureFlags is the supported features of Azure SignalR service.
+ * - ServiceMode: Flag for backend server for SignalR service. Values
+ * allowed: "Default": have your own backend server; "Serverless": your
+ * application doesn't have a backend server; "Classic": for backward
+ * compatibility. Support both Default and Serverless mode but not
+ * recommended; "PredefinedOnly": for future use.
+ * - EnableConnectivityLogs: "true"/"false", to enable/disable the
+ * connectivity log category respectively. Possible values include:
+ * 'ServiceMode', 'EnableConnectivityLogs', 'EnableMessagingLogs'.
+ */
+ @JsonProperty(value = "flag", required = true)
+ private FeatureFlags flag;
+
+ /**
+ * Value of the feature flag. See Azure SignalR service document
+ * https://docs.microsoft.com/azure/azure-signalr/ for allowed values.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * Optional properties related to this feature.
+ */
+ @JsonProperty(value = "properties")
+ private Map properties;
+
+ /**
+ * Get featureFlags is the supported features of Azure SignalR service.
+ - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
+ - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. Possible values include: 'ServiceMode', 'EnableConnectivityLogs', 'EnableMessagingLogs'.
+ *
+ * @return the flag value
+ */
+ public FeatureFlags flag() {
+ return this.flag;
+ }
+
+ /**
+ * Set featureFlags is the supported features of Azure SignalR service.
+ - ServiceMode: Flag for backend server for SignalR service. Values allowed: "Default": have your own backend server; "Serverless": your application doesn't have a backend server; "Classic": for backward compatibility. Support both Default and Serverless mode but not recommended; "PredefinedOnly": for future use.
+ - EnableConnectivityLogs: "true"/"false", to enable/disable the connectivity log category respectively. Possible values include: 'ServiceMode', 'EnableConnectivityLogs', 'EnableMessagingLogs'.
+ *
+ * @param flag the flag value to set
+ * @return the SignalRFeature object itself.
+ */
+ public SignalRFeature withFlag(FeatureFlags flag) {
+ this.flag = flag;
+ return this;
+ }
+
+ /**
+ * Get value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.
+ *
+ * @param value the value value to set
+ * @return the SignalRFeature object itself.
+ */
+ public SignalRFeature withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get optional properties related to this feature.
+ *
+ * @return the properties value
+ */
+ public Map properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set optional properties related to this feature.
+ *
+ * @param properties the properties value to set
+ * @return the SignalRFeature object itself.
+ */
+ public SignalRFeature withProperties(Map properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRKeys.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRKeys.java
new file mode 100644
index 000000000000..fc3c98353cae
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRKeys.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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRKeysInner;
+
+/**
+ * Type representing SignalRKeys.
+ */
+public interface SignalRKeys extends HasInner, HasManager {
+ /**
+ * @return the primaryConnectionString value.
+ */
+ String primaryConnectionString();
+
+ /**
+ * @return the primaryKey value.
+ */
+ String primaryKey();
+
+ /**
+ * @return the secondaryConnectionString value.
+ */
+ String secondaryConnectionString();
+
+ /**
+ * @return the secondaryKey value.
+ */
+ String secondaryKey();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRNetworkACLs.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRNetworkACLs.java
new file mode 100644
index 000000000000..256c59ebccf0
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRNetworkACLs.java
@@ -0,0 +1,97 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Network ACLs for SignalR.
+ */
+public class SignalRNetworkACLs {
+ /**
+ * Default action when no other rule matches. Possible values include:
+ * 'Allow', 'Deny'.
+ */
+ @JsonProperty(value = "defaultAction")
+ private ACLAction defaultAction;
+
+ /**
+ * ACL for requests from public network.
+ */
+ @JsonProperty(value = "publicNetwork")
+ private NetworkACL publicNetwork;
+
+ /**
+ * ACLs for requests from private endpoints.
+ */
+ @JsonProperty(value = "privateEndpoints")
+ private List privateEndpoints;
+
+ /**
+ * Get default action when no other rule matches. Possible values include: 'Allow', 'Deny'.
+ *
+ * @return the defaultAction value
+ */
+ public ACLAction defaultAction() {
+ return this.defaultAction;
+ }
+
+ /**
+ * Set default action when no other rule matches. Possible values include: 'Allow', 'Deny'.
+ *
+ * @param defaultAction the defaultAction value to set
+ * @return the SignalRNetworkACLs object itself.
+ */
+ public SignalRNetworkACLs withDefaultAction(ACLAction defaultAction) {
+ this.defaultAction = defaultAction;
+ return this;
+ }
+
+ /**
+ * Get aCL for requests from public network.
+ *
+ * @return the publicNetwork value
+ */
+ public NetworkACL publicNetwork() {
+ return this.publicNetwork;
+ }
+
+ /**
+ * Set aCL for requests from public network.
+ *
+ * @param publicNetwork the publicNetwork value to set
+ * @return the SignalRNetworkACLs object itself.
+ */
+ public SignalRNetworkACLs withPublicNetwork(NetworkACL publicNetwork) {
+ this.publicNetwork = publicNetwork;
+ return this;
+ }
+
+ /**
+ * Get aCLs for requests from private endpoints.
+ *
+ * @return the privateEndpoints value
+ */
+ public List privateEndpoints() {
+ return this.privateEndpoints;
+ }
+
+ /**
+ * Set aCLs for requests from private endpoints.
+ *
+ * @param privateEndpoints the privateEndpoints value to set
+ * @return the SignalRNetworkACLs object itself.
+ */
+ public SignalRNetworkACLs withPrivateEndpoints(List privateEndpoints) {
+ this.privateEndpoints = privateEndpoints;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateEndpointConnections.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateEndpointConnections.java
new file mode 100644
index 000000000000..57fd433e1511
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateEndpointConnections.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.signalr.v2020_05_01;
+
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRPrivateEndpointConnectionsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing SignalRPrivateEndpointConnections.
+ */
+public interface SignalRPrivateEndpointConnections extends HasInner {
+ /**
+ * Get the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName);
+
+ /**
+ * Delete the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName);
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateLinkResources.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateLinkResources.java
new file mode 100644
index 000000000000..8b0cda17abcd
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRPrivateLinkResources.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.signalr.v2020_05_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRPrivateLinkResourcesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing SignalRPrivateLinkResources.
+ */
+public interface SignalRPrivateLinkResources extends HasInner {
+ /**
+ * Get the private link resources that need to be created for a SignalR resource.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String resourceGroupName, final String resourceName);
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRRequestType.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRRequestType.java
new file mode 100644
index 000000000000..ddb231696aa2
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRRequestType.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SignalRRequestType.
+ */
+public final class SignalRRequestType extends ExpandableStringEnum {
+ /** Static value ClientConnection for SignalRRequestType. */
+ public static final SignalRRequestType CLIENT_CONNECTION = fromString("ClientConnection");
+
+ /** Static value ServerConnection for SignalRRequestType. */
+ public static final SignalRRequestType SERVER_CONNECTION = fromString("ServerConnection");
+
+ /** Static value RESTAPI for SignalRRequestType. */
+ public static final SignalRRequestType RESTAPI = fromString("RESTAPI");
+
+ /**
+ * Creates or finds a SignalRRequestType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SignalRRequestType
+ */
+ @JsonCreator
+ public static SignalRRequestType fromString(String name) {
+ return fromString(name, SignalRRequestType.class);
+ }
+
+ /**
+ * @return known SignalRRequestType values
+ */
+ public static Collection values() {
+ return values(SignalRRequestType.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRResource.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRResource.java
new file mode 100644
index 000000000000..116f8b31f466
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRResource.java
@@ -0,0 +1,317 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+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.signalr.v2020_05_01.implementation.SignalRManager;
+import java.util.List;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRResourceInner;
+
+/**
+ * Type representing SignalRResource.
+ */
+public interface SignalRResource extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the cors value.
+ */
+ SignalRCorsSettings cors();
+
+ /**
+ * @return the externalIP value.
+ */
+ String externalIP();
+
+ /**
+ * @return the features value.
+ */
+ List features();
+
+ /**
+ * @return the hostName value.
+ */
+ String hostName();
+
+ /**
+ * @return the hostNamePrefix value.
+ */
+ String hostNamePrefix();
+
+ /**
+ * @return the kind value.
+ */
+ ServiceKind kind();
+
+ /**
+ * @return the networkACLs value.
+ */
+ SignalRNetworkACLs networkACLs();
+
+ /**
+ * @return the privateEndpointConnections value.
+ */
+ List privateEndpointConnections();
+
+ /**
+ * @return the provisioningState value.
+ */
+ ProvisioningState provisioningState();
+
+ /**
+ * @return the publicPort value.
+ */
+ Integer publicPort();
+
+ /**
+ * @return the serverPort value.
+ */
+ Integer serverPort();
+
+ /**
+ * @return the sku value.
+ */
+ ResourceSku sku();
+
+ /**
+ * @return the upstream value.
+ */
+ ServerlessUpstreamSettings upstream();
+
+ /**
+ * @return the version value.
+ */
+ String version();
+
+ /**
+ * The entirety of the SignalRResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of SignalRResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a SignalRResource definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the SignalRResource definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify Cors.
+ */
+ interface WithCors {
+ /**
+ * Specifies cors.
+ * @param cors Cross-Origin Resource Sharing (CORS) settings
+ * @return the next definition stage
+ */
+ WithCreate withCors(SignalRCorsSettings cors);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify Features.
+ */
+ interface WithFeatures {
+ /**
+ * Specifies features.
+ * @param features List of SignalR featureFlags. e.g. ServiceMode.
+ FeatureFlags that are not included in the parameters for the update operation will not be modified.
+ And the response will only include featureFlags that are explicitly set.
+ When a featureFlag is not explicitly set, SignalR service will use its globally default value.
+ But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags
+ * @return the next definition stage
+ */
+ WithCreate withFeatures(List features);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify HostNamePrefix.
+ */
+ interface WithHostNamePrefix {
+ /**
+ * Specifies hostNamePrefix.
+ * @param hostNamePrefix Prefix for the hostName of the SignalR service. Retained for future use.
+ The hostname will be of format: <hostNamePrefix>.service.signalr.net
+ * @return the next definition stage
+ */
+ WithCreate withHostNamePrefix(String hostNamePrefix);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify Kind.
+ */
+ interface WithKind {
+ /**
+ * Specifies kind.
+ * @param kind The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR". Possible values include: 'SignalR', 'RawWebSockets'
+ * @return the next definition stage
+ */
+ WithCreate withKind(ServiceKind kind);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify NetworkACLs.
+ */
+ interface WithNetworkACLs {
+ /**
+ * Specifies networkACLs.
+ * @param networkACLs Network ACLs
+ * @return the next definition stage
+ */
+ WithCreate withNetworkACLs(SignalRNetworkACLs networkACLs);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku The billing information of the resource.(e.g. Free, Standard)
+ * @return the next definition stage
+ */
+ WithCreate withSku(ResourceSku sku);
+ }
+
+ /**
+ * The stage of the signalrresource definition allowing to specify Upstream.
+ */
+ interface WithUpstream {
+ /**
+ * Specifies upstream.
+ * @param upstream Upstream settings when the Azure SignalR is in server-less mode
+ * @return the next definition stage
+ */
+ WithCreate withUpstream(ServerlessUpstreamSettings upstream);
+ }
+
+ /**
+ * 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, Resource.DefinitionWithTags, DefinitionStages.WithCors, DefinitionStages.WithFeatures, DefinitionStages.WithHostNamePrefix, DefinitionStages.WithKind, DefinitionStages.WithNetworkACLs, DefinitionStages.WithSku, DefinitionStages.WithUpstream {
+ }
+ }
+ /**
+ * The template for a SignalRResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithCors, UpdateStages.WithFeatures, UpdateStages.WithHostNamePrefix, UpdateStages.WithKind, UpdateStages.WithNetworkACLs, UpdateStages.WithSku, UpdateStages.WithUpstream {
+ }
+
+ /**
+ * Grouping of SignalRResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the signalrresource update allowing to specify Cors.
+ */
+ interface WithCors {
+ /**
+ * Specifies cors.
+ * @param cors Cross-Origin Resource Sharing (CORS) settings
+ * @return the next update stage
+ */
+ Update withCors(SignalRCorsSettings cors);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify Features.
+ */
+ interface WithFeatures {
+ /**
+ * Specifies features.
+ * @param features List of SignalR featureFlags. e.g. ServiceMode.
+ FeatureFlags that are not included in the parameters for the update operation will not be modified.
+ And the response will only include featureFlags that are explicitly set.
+ When a featureFlag is not explicitly set, SignalR service will use its globally default value.
+ But keep in mind, the default value doesn't mean "false". It varies in terms of different FeatureFlags
+ * @return the next update stage
+ */
+ Update withFeatures(List features);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify HostNamePrefix.
+ */
+ interface WithHostNamePrefix {
+ /**
+ * Specifies hostNamePrefix.
+ * @param hostNamePrefix Prefix for the hostName of the SignalR service. Retained for future use.
+ The hostname will be of format: <hostNamePrefix>.service.signalr.net
+ * @return the next update stage
+ */
+ Update withHostNamePrefix(String hostNamePrefix);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify Kind.
+ */
+ interface WithKind {
+ /**
+ * Specifies kind.
+ * @param kind The kind of the service - e.g. "SignalR", or "RawWebSockets" for "Microsoft.SignalRService/SignalR". Possible values include: 'SignalR', 'RawWebSockets'
+ * @return the next update stage
+ */
+ Update withKind(ServiceKind kind);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify NetworkACLs.
+ */
+ interface WithNetworkACLs {
+ /**
+ * Specifies networkACLs.
+ * @param networkACLs Network ACLs
+ * @return the next update stage
+ */
+ Update withNetworkACLs(SignalRNetworkACLs networkACLs);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify Sku.
+ */
+ interface WithSku {
+ /**
+ * Specifies sku.
+ * @param sku The billing information of the resource.(e.g. Free, Standard)
+ * @return the next update stage
+ */
+ Update withSku(ResourceSku sku);
+ }
+
+ /**
+ * The stage of the signalrresource update allowing to specify Upstream.
+ */
+ interface WithUpstream {
+ /**
+ * Specifies upstream.
+ * @param upstream Upstream settings when the Azure SignalR is in server-less mode
+ * @return the next update stage
+ */
+ Update withUpstream(ServerlessUpstreamSettings upstream);
+ }
+
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRSkuTier.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRSkuTier.java
new file mode 100644
index 000000000000..d454b24ea1b6
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRSkuTier.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.signalr.v2020_05_01;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for SignalRSkuTier.
+ */
+public final class SignalRSkuTier extends ExpandableStringEnum {
+ /** Static value Free for SignalRSkuTier. */
+ public static final SignalRSkuTier FREE = fromString("Free");
+
+ /** Static value Basic for SignalRSkuTier. */
+ public static final SignalRSkuTier BASIC = fromString("Basic");
+
+ /** Static value Standard for SignalRSkuTier. */
+ public static final SignalRSkuTier STANDARD = fromString("Standard");
+
+ /** Static value Premium for SignalRSkuTier. */
+ public static final SignalRSkuTier PREMIUM = fromString("Premium");
+
+ /**
+ * Creates or finds a SignalRSkuTier from its string representation.
+ * @param name a name to look for
+ * @return the corresponding SignalRSkuTier
+ */
+ @JsonCreator
+ public static SignalRSkuTier fromString(String name) {
+ return fromString(name, SignalRSkuTier.class);
+ }
+
+ /**
+ * @return known SignalRSkuTier values
+ */
+ public static Collection values() {
+ return values(SignalRSkuTier.class);
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsage.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsage.java
new file mode 100644
index 000000000000..c27f20835cb7
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsage.java
@@ -0,0 +1,45 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRUsageInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRManager;
+
+/**
+ * Type representing SignalRUsage.
+ */
+public interface SignalRUsage extends HasInner, HasManager {
+ /**
+ * @return the currentValue value.
+ */
+ Long currentValue();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the limit value.
+ */
+ Long limit();
+
+ /**
+ * @return the name value.
+ */
+ SignalRUsageName name();
+
+ /**
+ * @return the unit value.
+ */
+ String unit();
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsageName.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsageName.java
new file mode 100644
index 000000000000..ccdf1358a14e
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRUsageName.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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Localizable String object containing the name and a localized value.
+ */
+public class SignalRUsageName {
+ /**
+ * The identifier of the usage.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Localized name of the usage.
+ */
+ @JsonProperty(value = "localizedValue")
+ private String localizedValue;
+
+ /**
+ * Get the identifier of the usage.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the identifier of the usage.
+ *
+ * @param value the value value to set
+ * @return the SignalRUsageName object itself.
+ */
+ public SignalRUsageName withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get localized name of the usage.
+ *
+ * @return the localizedValue value
+ */
+ public String localizedValue() {
+ return this.localizedValue;
+ }
+
+ /**
+ * Set localized name of the usage.
+ *
+ * @param localizedValue the localizedValue value to set
+ * @return the SignalRUsageName object itself.
+ */
+ public SignalRUsageName withLocalizedValue(String localizedValue) {
+ this.localizedValue = localizedValue;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRs.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRs.java
new file mode 100644
index 000000000000..b551a0662143
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/SignalRs.java
@@ -0,0 +1,65 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.SignalRsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing SignalRs.
+ */
+public interface SignalRs extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Get the access keys of the SignalR resource.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listKeysAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Regenerate SignalR service access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable regenerateKeyAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Operation to restart a SignalR service.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable restartAsync(String resourceGroupName, String resourceName);
+
+ /**
+ * Checks that the SignalR name is valid and is not already in use.
+ *
+ * @param location the region
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable checkNameAvailabilityAsync(String location);
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/UpstreamTemplate.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/UpstreamTemplate.java
new file mode 100644
index 000000000000..8d42f2d7c07c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/UpstreamTemplate.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.signalr.v2020_05_01;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Upstream template item settings. It defines the Upstream URL of the incoming
+ * requests.
+ * The template defines the pattern of the event, the hub or the category of
+ * the incoming request that matches current URL template.
+ */
+public class UpstreamTemplate {
+ /**
+ * Gets or sets the matching pattern for hub names. If not set, it matches
+ * any hub.
+ * There are 3 kind of patterns supported:
+ * 1. "*", it to matches any hub name
+ * 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches
+ * "hub1" and "hub2"
+ * 3. The single hub name, for example, "hub1", it matches "hub1".
+ */
+ @JsonProperty(value = "hubPattern")
+ private String hubPattern;
+
+ /**
+ * Gets or sets the matching pattern for event names. If not set, it
+ * matches any event.
+ * There are 3 kind of patterns supported:
+ * 1. "*", it to matches any event name
+ * 2. Combine multiple events with ",", for example "connect,disconnect",
+ * it matches event "connect" and "disconnect"
+ * 3. The single event name, for example, "connect", it matches "connect".
+ */
+ @JsonProperty(value = "eventPattern")
+ private String eventPattern;
+
+ /**
+ * Gets or sets the matching pattern for category names. If not set, it
+ * matches any category.
+ * There are 3 kind of patterns supported:
+ * 1. "*", it to matches any category name
+ * 2. Combine multiple categories with ",", for example
+ * "connections,messages", it matches category "connections" and "messages"
+ * 3. The single category name, for example, "connections", it matches the
+ * category "connections".
+ */
+ @JsonProperty(value = "categoryPattern")
+ private String categoryPattern;
+
+ /**
+ * Gets or sets the Upstream URL template. You can use 3 predefined
+ * parameters {hub}, {category} {event} inside the template, the value of
+ * the Upstream URL is dynamically calculated when the client request comes
+ * in.
+ * For example, if the urlTemplate is
+ * `http://example.com/{hub}/api/{event}`, with a client request from hub
+ * `chat` connects, it will first POST to this URL:
+ * `http://example.com/chat/api/connect`.
+ */
+ @JsonProperty(value = "urlTemplate", required = true)
+ private String urlTemplate;
+
+ /**
+ * Get gets or sets the matching pattern for hub names. If not set, it matches any hub.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any hub name
+ 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2"
+ 3. The single hub name, for example, "hub1", it matches "hub1".
+ *
+ * @return the hubPattern value
+ */
+ public String hubPattern() {
+ return this.hubPattern;
+ }
+
+ /**
+ * Set gets or sets the matching pattern for hub names. If not set, it matches any hub.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any hub name
+ 2. Combine multiple hubs with ",", for example "hub1,hub2", it matches "hub1" and "hub2"
+ 3. The single hub name, for example, "hub1", it matches "hub1".
+ *
+ * @param hubPattern the hubPattern value to set
+ * @return the UpstreamTemplate object itself.
+ */
+ public UpstreamTemplate withHubPattern(String hubPattern) {
+ this.hubPattern = hubPattern;
+ return this;
+ }
+
+ /**
+ * Get gets or sets the matching pattern for event names. If not set, it matches any event.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any event name
+ 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect"
+ 3. The single event name, for example, "connect", it matches "connect".
+ *
+ * @return the eventPattern value
+ */
+ public String eventPattern() {
+ return this.eventPattern;
+ }
+
+ /**
+ * Set gets or sets the matching pattern for event names. If not set, it matches any event.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any event name
+ 2. Combine multiple events with ",", for example "connect,disconnect", it matches event "connect" and "disconnect"
+ 3. The single event name, for example, "connect", it matches "connect".
+ *
+ * @param eventPattern the eventPattern value to set
+ * @return the UpstreamTemplate object itself.
+ */
+ public UpstreamTemplate withEventPattern(String eventPattern) {
+ this.eventPattern = eventPattern;
+ return this;
+ }
+
+ /**
+ * Get gets or sets the matching pattern for category names. If not set, it matches any category.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any category name
+ 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and "messages"
+ 3. The single category name, for example, "connections", it matches the category "connections".
+ *
+ * @return the categoryPattern value
+ */
+ public String categoryPattern() {
+ return this.categoryPattern;
+ }
+
+ /**
+ * Set gets or sets the matching pattern for category names. If not set, it matches any category.
+ There are 3 kind of patterns supported:
+ 1. "*", it to matches any category name
+ 2. Combine multiple categories with ",", for example "connections,messages", it matches category "connections" and "messages"
+ 3. The single category name, for example, "connections", it matches the category "connections".
+ *
+ * @param categoryPattern the categoryPattern value to set
+ * @return the UpstreamTemplate object itself.
+ */
+ public UpstreamTemplate withCategoryPattern(String categoryPattern) {
+ this.categoryPattern = categoryPattern;
+ return this;
+ }
+
+ /**
+ * Get gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.
+ For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.
+ *
+ * @return the urlTemplate value
+ */
+ public String urlTemplate() {
+ return this.urlTemplate;
+ }
+
+ /**
+ * Set gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.
+ For example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.
+ *
+ * @param urlTemplate the urlTemplate value to set
+ * @return the UpstreamTemplate object itself.
+ */
+ public UpstreamTemplate withUrlTemplate(String urlTemplate) {
+ this.urlTemplate = urlTemplate;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Usages.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Usages.java
new file mode 100644
index 000000000000..b4959e85f2f8
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/Usages.java
@@ -0,0 +1,28 @@
+/**
+ * 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.signalr.v2020_05_01;
+
+import rx.Observable;
+import com.microsoft.azure.management.signalr.v2020_05_01.implementation.UsagesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Usages.
+ */
+public interface Usages extends HasInner {
+ /**
+ * List usage quotas for Azure SignalR service by location.
+ *
+ * @param location the location like "eastus"
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listAsync(final String location);
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/IdParsingUtils.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/IdParsingUtils.java
new file mode 100644
index 000000000000..081b83914d9e
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/IdParsingUtils.java
@@ -0,0 +1,57 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+import java.util.Arrays;
+import java.util.Iterator;
+
+class IdParsingUtils {
+ public static String getValueFromIdByName(String id, String name) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (part.equalsIgnoreCase(name)) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ }
+ return null;
+ }
+
+ public static String getValueFromIdByPosition(String id, int pos) {
+ if (id == null) {
+ return null;
+ }
+ Iterable iterable = Arrays.asList(id.split("/"));
+ Iterator itr = iterable.iterator();
+ int index = 0;
+ while (itr.hasNext()) {
+ String part = itr.next();
+ if (part != null && part.trim() != "") {
+ if (index == pos) {
+ if (itr.hasNext()) {
+ return itr.next();
+ } else {
+ return null;
+ }
+ }
+ }
+ index++;
+ }
+ return null;
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityImpl.java
new file mode 100644
index 000000000000..251c119b06a7
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityImpl.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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.NameAvailability;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class NameAvailabilityImpl extends WrapperImpl implements NameAvailability {
+ private final SignalRManager manager;
+ NameAvailabilityImpl(NameAvailabilityInner inner, SignalRManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String message() {
+ return this.inner().message();
+ }
+
+ @Override
+ public Boolean nameAvailable() {
+ return this.inner().nameAvailable();
+ }
+
+ @Override
+ public String reason() {
+ return this.inner().reason();
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityInner.java
new file mode 100644
index 000000000000..d30e6ba40edb
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/NameAvailabilityInner.java
@@ -0,0 +1,96 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Result of the request to check name availability. It contains a flag and
+ * possible reason of failure.
+ */
+public class NameAvailabilityInner {
+ /**
+ * Indicates whether the name is available or not.
+ */
+ @JsonProperty(value = "nameAvailable")
+ private Boolean nameAvailable;
+
+ /**
+ * The reason of the availability. Required if name is not available.
+ */
+ @JsonProperty(value = "reason")
+ private String reason;
+
+ /**
+ * The message of the operation.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get indicates whether the name is available or not.
+ *
+ * @return the nameAvailable value
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set indicates whether the name is available or not.
+ *
+ * @param nameAvailable the nameAvailable value to set
+ * @return the NameAvailabilityInner object itself.
+ */
+ public NameAvailabilityInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the reason of the availability. Required if name is not available.
+ *
+ * @return the reason value
+ */
+ public String reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason of the availability. Required if name is not available.
+ *
+ * @param reason the reason value to set
+ * @return the NameAvailabilityInner object itself.
+ */
+ public NameAvailabilityInner withReason(String reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Get the message of the operation.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message of the operation.
+ *
+ * @param message the message value to set
+ * @return the NameAvailabilityInner object itself.
+ */
+ public NameAvailabilityInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationImpl.java
new file mode 100644
index 000000000000..f58119424a5a
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationImpl.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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.Operation;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.signalr.v2020_05_01.OperationDisplay;
+import com.microsoft.azure.management.signalr.v2020_05_01.OperationProperties;
+
+class OperationImpl extends WrapperImpl implements Operation {
+ private final SignalRManager manager;
+ OperationImpl(OperationInner inner, SignalRManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public OperationDisplay display() {
+ return this.inner().display();
+ }
+
+ @Override
+ public Boolean isDataAction() {
+ return this.inner().isDataAction();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String origin() {
+ return this.inner().origin();
+ }
+
+ @Override
+ public OperationProperties properties() {
+ return this.inner().properties();
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationInner.java
new file mode 100644
index 000000000000..0f24ae7111bd
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationInner.java
@@ -0,0 +1,150 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.OperationDisplay;
+import com.microsoft.azure.management.signalr.v2020_05_01.OperationProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * REST API operation supported by SignalR resource provider.
+ */
+public class OperationInner {
+ /**
+ * Name of the operation with format: {provider}/{resource}/{operation}.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /**
+ * If the operation is a data action. (for data plane rbac).
+ */
+ @JsonProperty(value = "isDataAction")
+ private Boolean isDataAction;
+
+ /**
+ * The object that describes the operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /**
+ * Optional. The intended executor of the operation; governs the display of
+ * the operation in the RBAC UX and the audit logs UX.
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /**
+ * Extra properties for the operation.
+ */
+ @JsonProperty(value = "properties")
+ private OperationProperties properties;
+
+ /**
+ * Get name of the operation with format: {provider}/{resource}/{operation}.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set name of the operation with format: {provider}/{resource}/{operation}.
+ *
+ * @param name the name value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get if the operation is a data action. (for data plane rbac).
+ *
+ * @return the isDataAction value
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set if the operation is a data action. (for data plane rbac).
+ *
+ * @param isDataAction the isDataAction value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the object that describes the operation.
+ *
+ * @return the display value
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the object that describes the operation.
+ *
+ * @param display the display value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.
+ *
+ * @return the origin value
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.
+ *
+ * @param origin the origin value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get extra properties for the operation.
+ *
+ * @return the properties value
+ */
+ public OperationProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set extra properties for the operation.
+ *
+ * @param properties the properties value to set
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withProperties(OperationProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsImpl.java
new file mode 100644
index 000000000000..3cdb7a641830
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsImpl.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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.signalr.v2020_05_01.Operations;
+import rx.functions.Func1;
+import rx.Observable;
+import com.microsoft.azure.Page;
+import com.microsoft.azure.management.signalr.v2020_05_01.Operation;
+
+class OperationsImpl extends WrapperImpl implements Operations {
+ private final SignalRManager manager;
+
+ OperationsImpl(SignalRManager manager) {
+ super(manager.inner().operations());
+ this.manager = manager;
+ }
+
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable listAsync() {
+ OperationsInner client = this.inner();
+ return client.listAsync()
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public Operation call(OperationInner inner) {
+ return new OperationImpl(inner, manager());
+ }
+ });
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsInner.java
new file mode 100644
index 000000000000..30b7bb1c65a9
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/OperationsInner.java
@@ -0,0 +1,283 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.AzureServiceFuture;
+import com.microsoft.azure.ListOperationCallback;
+import com.microsoft.azure.management.signalr.v2020_05_01.ErrorResponseException;
+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.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 Operations.
+ */
+public class OperationsInner {
+ /** The Retrofit service to perform REST calls. */
+ private OperationsService service;
+ /** The service client containing this operation class. */
+ private SignalRManagementClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public OperationsInner(Retrofit retrofit, SignalRManagementClientImpl client) {
+ this.service = retrofit.create(OperationsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for Operations to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface OperationsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.signalr.v2020_05_01.Operations list" })
+ @GET("providers/Microsoft.SignalRService/operations")
+ Observable> list(@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.signalr.v2020_05_01.Operations listNext" })
+ @GET
+ Observable> listNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<OperationInner> object if successful.
+ */
+ public PagedList list() {
+ ServiceResponse> response = listSinglePageAsync().toBlocking().single();
+ return new PagedList(response.body()) {
+ @Override
+ public Page nextPage(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ }
+ };
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @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 ListOperationCallback serviceCallback) {
+ return AzureServiceFuture.fromPageResponse(
+ listSinglePageAsync(),
+ new Func1>>>() {
+ @Override
+ public Observable>> call(String nextPageLink) {
+ return listNextSinglePageAsync(nextPageLink);
+ }
+ },
+ serviceCallback);
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationInner> object
+ */
+ public Observable> listAsync() {
+ return listWithServiceResponseAsync()
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PagedList<OperationInner> object
+ */
+ public Observable>> listWithServiceResponseAsync() {
+ return listSinglePageAsync()
+ .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));
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<OperationInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listSinglePageAsync() {
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.list(this.client.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 ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException 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<OperationInner> 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();
+ }
+ };
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @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);
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @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<OperationInner> object
+ */
+ public Observable> listNextAsync(final String nextPageLink) {
+ return listNextWithServiceResponseAsync(nextPageLink)
+ .map(new Func1>, Page>() {
+ @Override
+ public Page call(ServiceResponse> response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ * @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<OperationInner> 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));
+ }
+ });
+ }
+
+ /**
+ * Lists all of the available REST API operations of the Microsoft.SignalRService provider.
+ *
+ ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the PagedList<OperationInner> object wrapped in {@link ServiceResponse} if successful.
+ */
+ public Observable>> listNextSinglePageAsync(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.listNext(nextUrl, this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>>() {
+ @Override
+ public Observable>> call(Response response) {
+ try {
+ ServiceResponse> result = listNextDelegate(response);
+ return Observable.just(new ServiceResponse>(result.body(), result.response()));
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse> listNextDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory()., ErrorResponseException>newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken>() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PageImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PageImpl.java
new file mode 100644
index 000000000000..39cedd15096c
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PageImpl.java
@@ -0,0 +1,75 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.azure.Page;
+import java.util.List;
+
+/**
+ * An instance of this class defines a page of Azure resources and a link to
+ * get the next page of resources, if any.
+ *
+ * @param type of Azure resource
+ */
+public class PageImpl implements Page {
+ /**
+ * The link to the next page.
+ */
+ @JsonProperty("nextLink")
+ private String nextPageLink;
+
+ /**
+ * The list of items.
+ */
+ @JsonProperty("value")
+ private List items;
+
+ /**
+ * Gets the link to the next page.
+ *
+ * @return the link to the next page.
+ */
+ @Override
+ public String nextPageLink() {
+ return this.nextPageLink;
+ }
+
+ /**
+ * Gets the list of items.
+ *
+ * @return the list of items in {@link List}.
+ */
+ @Override
+ public List items() {
+ return items;
+ }
+
+ /**
+ * Sets the link to the next page.
+ *
+ * @param nextPageLink the link to the next page.
+ * @return this Page object itself.
+ */
+ public PageImpl setNextPageLink(String nextPageLink) {
+ this.nextPageLink = nextPageLink;
+ return this;
+ }
+
+ /**
+ * Sets the list of items.
+ *
+ * @param items the list of items in {@link List}.
+ * @return this Page object itself.
+ */
+ public PageImpl setItems(List items) {
+ this.items = items;
+ return this;
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionImpl.java
new file mode 100644
index 000000000000..d6b91ee07628
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionImpl.java
@@ -0,0 +1,116 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateEndpointConnection;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+import com.microsoft.azure.management.signalr.v2020_05_01.ProvisioningState;
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateEndpoint;
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateLinkServiceConnectionState;
+
+class PrivateEndpointConnectionImpl extends CreatableUpdatableImpl implements PrivateEndpointConnection, PrivateEndpointConnection.Update {
+ private final SignalRManager manager;
+ private String privateEndpointConnectionName;
+ private String resourceGroupName;
+ private String resourceName;
+
+ PrivateEndpointConnectionImpl(String name, SignalRManager manager) {
+ super(name, new PrivateEndpointConnectionInner());
+ this.manager = manager;
+ // Set resource name
+ this.privateEndpointConnectionName = name;
+ //
+ }
+
+ PrivateEndpointConnectionImpl(PrivateEndpointConnectionInner inner, SignalRManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.privateEndpointConnectionName = inner.name();
+ // set resource ancestor and positional variables
+ this.privateEndpointConnectionName = IdParsingUtils.getValueFromIdByName(inner.id(), "privateEndpointConnections");
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.resourceName = IdParsingUtils.getValueFromIdByName(inner.id(), "signalR");
+ //
+ }
+
+ @Override
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ SignalRPrivateEndpointConnectionsInner client = this.manager().inner().signalRPrivateEndpointConnections();
+ return null; // NOP createResourceAsync implementation as create is not supported
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ SignalRPrivateEndpointConnectionsInner client = this.manager().inner().signalRPrivateEndpointConnections();
+ return client.updateAsync(this.privateEndpointConnectionName, this.resourceGroupName, this.resourceName, this.inner())
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ SignalRPrivateEndpointConnectionsInner client = this.manager().inner().signalRPrivateEndpointConnections();
+ return client.getAsync(this.privateEndpointConnectionName, this.resourceGroupName, this.resourceName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public PrivateEndpoint privateEndpoint() {
+ return this.inner().privateEndpoint();
+ }
+
+ @Override
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.inner().privateLinkServiceConnectionState();
+ }
+
+ @Override
+ public ProvisioningState provisioningState() {
+ return this.inner().provisioningState();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public PrivateEndpointConnectionImpl withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.inner().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ @Override
+ public PrivateEndpointConnectionImpl withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.inner().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..9317c8a3af88
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateEndpointConnectionInner.java
@@ -0,0 +1,92 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.ProvisioningState;
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateEndpoint;
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateLinkServiceConnectionState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * A private endpoint connection to SignalR resource.
+ */
+@JsonFlatten
+public class PrivateEndpointConnectionInner extends ProxyResource {
+ /**
+ * Provisioning state of the private endpoint connection. Possible values
+ * include: 'Unknown', 'Succeeded', 'Failed', 'Canceled', 'Running',
+ * 'Creating', 'Updating', 'Deleting', 'Moving'.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ProvisioningState provisioningState;
+
+ /**
+ * Private endpoint associated with the private endpoint connection.
+ */
+ @JsonProperty(value = "properties.privateEndpoint")
+ private PrivateEndpoint privateEndpoint;
+
+ /**
+ * Connection state.
+ */
+ @JsonProperty(value = "properties.privateLinkServiceConnectionState")
+ private PrivateLinkServiceConnectionState privateLinkServiceConnectionState;
+
+ /**
+ * Get provisioning state of the private endpoint connection. Possible values include: 'Unknown', 'Succeeded', 'Failed', 'Canceled', 'Running', 'Creating', 'Updating', 'Deleting', 'Moving'.
+ *
+ * @return the provisioningState value
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get private endpoint associated with the private endpoint connection.
+ *
+ * @return the privateEndpoint value
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set private endpoint associated with the private endpoint connection.
+ *
+ * @param privateEndpoint the privateEndpoint value to set
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.privateEndpoint = privateEndpoint;
+ return this;
+ }
+
+ /**
+ * Get connection state.
+ *
+ * @return the privateLinkServiceConnectionState value
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set connection state.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateLinkServiceConnectionState(PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceImpl.java
new file mode 100644
index 000000000000..28d4cbef8713
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceImpl.java
@@ -0,0 +1,61 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateLinkResource;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import rx.Observable;
+import java.util.List;
+
+class PrivateLinkResourceImpl extends WrapperImpl implements PrivateLinkResource {
+ private final SignalRManager manager;
+
+ PrivateLinkResourceImpl(PrivateLinkResourceInner inner, SignalRManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+
+
+ @Override
+ public String groupId() {
+ return this.inner().groupId();
+ }
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public List requiredMembers() {
+ return this.inner().requiredMembers();
+ }
+
+ @Override
+ public List requiredZoneNames() {
+ return this.inner().requiredZoneNames();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceInner.java
new file mode 100644
index 000000000000..d71b05e4277b
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/PrivateLinkResourceInner.java
@@ -0,0 +1,99 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.ProxyResource;
+
+/**
+ * Private link resource.
+ */
+@JsonFlatten
+public class PrivateLinkResourceInner extends ProxyResource {
+ /**
+ * Group Id of the private link resource.
+ */
+ @JsonProperty(value = "properties.groupId")
+ private String groupId;
+
+ /**
+ * Required members of the private link resource.
+ */
+ @JsonProperty(value = "properties.requiredMembers")
+ private List requiredMembers;
+
+ /**
+ * Required private DNS zone names.
+ */
+ @JsonProperty(value = "properties.requiredZoneNames")
+ private List requiredZoneNames;
+
+ /**
+ * Get group Id of the private link resource.
+ *
+ * @return the groupId value
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Set group Id of the private link resource.
+ *
+ * @param groupId the groupId value to set
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ /**
+ * Get required members of the private link resource.
+ *
+ * @return the requiredMembers value
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+ /**
+ * Set required members of the private link resource.
+ *
+ * @param requiredMembers the requiredMembers value to set
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withRequiredMembers(List requiredMembers) {
+ this.requiredMembers = requiredMembers;
+ return this;
+ }
+
+ /**
+ * Get required private DNS zone names.
+ *
+ * @return the requiredZoneNames value
+ */
+ public List requiredZoneNames() {
+ return this.requiredZoneNames;
+ }
+
+ /**
+ * Set required private DNS zone names.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withRequiredZoneNames(List requiredZoneNames) {
+ this.requiredZoneNames = requiredZoneNames;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysImpl.java
new file mode 100644
index 000000000000..bf305b96081e
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysImpl.java
@@ -0,0 +1,46 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.management.signalr.v2020_05_01.SignalRKeys;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+
+class SignalRKeysImpl extends WrapperImpl implements SignalRKeys {
+ private final SignalRManager manager;
+ SignalRKeysImpl(SignalRKeysInner inner, SignalRManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public String primaryConnectionString() {
+ return this.inner().primaryConnectionString();
+ }
+
+ @Override
+ public String primaryKey() {
+ return this.inner().primaryKey();
+ }
+
+ @Override
+ public String secondaryConnectionString() {
+ return this.inner().secondaryConnectionString();
+ }
+
+ @Override
+ public String secondaryKey() {
+ return this.inner().secondaryKey();
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysInner.java
new file mode 100644
index 000000000000..2bb67b198f51
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRKeysInner.java
@@ -0,0 +1,121 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * A class represents the access keys of SignalR service.
+ */
+public class SignalRKeysInner {
+ /**
+ * The primary access key.
+ */
+ @JsonProperty(value = "primaryKey")
+ private String primaryKey;
+
+ /**
+ * The secondary access key.
+ */
+ @JsonProperty(value = "secondaryKey")
+ private String secondaryKey;
+
+ /**
+ * SignalR connection string constructed via the primaryKey.
+ */
+ @JsonProperty(value = "primaryConnectionString")
+ private String primaryConnectionString;
+
+ /**
+ * SignalR connection string constructed via the secondaryKey.
+ */
+ @JsonProperty(value = "secondaryConnectionString")
+ private String secondaryConnectionString;
+
+ /**
+ * Get the primary access key.
+ *
+ * @return the primaryKey value
+ */
+ public String primaryKey() {
+ return this.primaryKey;
+ }
+
+ /**
+ * Set the primary access key.
+ *
+ * @param primaryKey the primaryKey value to set
+ * @return the SignalRKeysInner object itself.
+ */
+ public SignalRKeysInner withPrimaryKey(String primaryKey) {
+ this.primaryKey = primaryKey;
+ return this;
+ }
+
+ /**
+ * Get the secondary access key.
+ *
+ * @return the secondaryKey value
+ */
+ public String secondaryKey() {
+ return this.secondaryKey;
+ }
+
+ /**
+ * Set the secondary access key.
+ *
+ * @param secondaryKey the secondaryKey value to set
+ * @return the SignalRKeysInner object itself.
+ */
+ public SignalRKeysInner withSecondaryKey(String secondaryKey) {
+ this.secondaryKey = secondaryKey;
+ return this;
+ }
+
+ /**
+ * Get signalR connection string constructed via the primaryKey.
+ *
+ * @return the primaryConnectionString value
+ */
+ public String primaryConnectionString() {
+ return this.primaryConnectionString;
+ }
+
+ /**
+ * Set signalR connection string constructed via the primaryKey.
+ *
+ * @param primaryConnectionString the primaryConnectionString value to set
+ * @return the SignalRKeysInner object itself.
+ */
+ public SignalRKeysInner withPrimaryConnectionString(String primaryConnectionString) {
+ this.primaryConnectionString = primaryConnectionString;
+ return this;
+ }
+
+ /**
+ * Get signalR connection string constructed via the secondaryKey.
+ *
+ * @return the secondaryConnectionString value
+ */
+ public String secondaryConnectionString() {
+ return this.secondaryConnectionString;
+ }
+
+ /**
+ * Set signalR connection string constructed via the secondaryKey.
+ *
+ * @param secondaryConnectionString the secondaryConnectionString value to set
+ * @return the SignalRKeysInner object itself.
+ */
+ public SignalRKeysInner withSecondaryConnectionString(String secondaryConnectionString) {
+ this.secondaryConnectionString = secondaryConnectionString;
+ return this;
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManagementClientImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManagementClientImpl.java
new file mode 100644
index 000000000000..b84dfeedcde2
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManagementClientImpl.java
@@ -0,0 +1,254 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.AzureClient;
+import com.microsoft.azure.AzureServiceClient;
+import com.microsoft.azure.LongRunningFinalState;
+import com.microsoft.azure.LongRunningOperationOptions;
+import com.microsoft.rest.credentials.ServiceClientCredentials;
+import com.microsoft.rest.RestClient;
+
+/**
+ * Initializes a new instance of the SignalRManagementClientImpl class.
+ */
+public class SignalRManagementClientImpl extends AzureServiceClient {
+ /** the {@link AzureClient} used for long running operations. */
+ private AzureClient azureClient;
+
+ /**
+ * Gets the {@link AzureClient} used for long running operations.
+ * @return the azure client;
+ */
+ public AzureClient getAzureClient() {
+ return this.azureClient;
+ }
+
+ /** Client Api Version. */
+ private String apiVersion;
+
+ /**
+ * Gets Client Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String apiVersion() {
+ return this.apiVersion;
+ }
+
+ /** Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call. */
+ private String subscriptionId;
+
+ /**
+ * Gets Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Sets Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the service client itself
+ */
+ public SignalRManagementClientImpl withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /** The preferred language for the response. */
+ private String acceptLanguage;
+
+ /**
+ * Gets The preferred language for the response.
+ *
+ * @return the acceptLanguage value.
+ */
+ public String acceptLanguage() {
+ return this.acceptLanguage;
+ }
+
+ /**
+ * Sets The preferred language for the response.
+ *
+ * @param acceptLanguage the acceptLanguage value.
+ * @return the service client itself
+ */
+ public SignalRManagementClientImpl withAcceptLanguage(String acceptLanguage) {
+ this.acceptLanguage = acceptLanguage;
+ return this;
+ }
+
+ /** The retry timeout in seconds for Long Running Operations. Default value is 30. */
+ private int longRunningOperationRetryTimeout;
+
+ /**
+ * Gets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @return the longRunningOperationRetryTimeout value.
+ */
+ public int longRunningOperationRetryTimeout() {
+ return this.longRunningOperationRetryTimeout;
+ }
+
+ /**
+ * Sets The retry timeout in seconds for Long Running Operations. Default value is 30.
+ *
+ * @param longRunningOperationRetryTimeout the longRunningOperationRetryTimeout value.
+ * @return the service client itself
+ */
+ public SignalRManagementClientImpl withLongRunningOperationRetryTimeout(int longRunningOperationRetryTimeout) {
+ this.longRunningOperationRetryTimeout = longRunningOperationRetryTimeout;
+ return this;
+ }
+
+ /** Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true. */
+ private boolean generateClientRequestId;
+
+ /**
+ * Gets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @return the generateClientRequestId value.
+ */
+ public boolean generateClientRequestId() {
+ return this.generateClientRequestId;
+ }
+
+ /**
+ * Sets Whether a unique x-ms-client-request-id should be generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
+ *
+ * @param generateClientRequestId the generateClientRequestId value.
+ * @return the service client itself
+ */
+ public SignalRManagementClientImpl withGenerateClientRequestId(boolean generateClientRequestId) {
+ this.generateClientRequestId = generateClientRequestId;
+ return this;
+ }
+
+ /**
+ * The OperationsInner object to access its operations.
+ */
+ private OperationsInner operations;
+
+ /**
+ * Gets the OperationsInner object to access its operations.
+ * @return the OperationsInner object.
+ */
+ public OperationsInner operations() {
+ return this.operations;
+ }
+
+ /**
+ * The SignalRsInner object to access its operations.
+ */
+ private SignalRsInner signalRs;
+
+ /**
+ * Gets the SignalRsInner object to access its operations.
+ * @return the SignalRsInner object.
+ */
+ public SignalRsInner signalRs() {
+ return this.signalRs;
+ }
+
+ /**
+ * The SignalRPrivateEndpointConnectionsInner object to access its operations.
+ */
+ private SignalRPrivateEndpointConnectionsInner signalRPrivateEndpointConnections;
+
+ /**
+ * Gets the SignalRPrivateEndpointConnectionsInner object to access its operations.
+ * @return the SignalRPrivateEndpointConnectionsInner object.
+ */
+ public SignalRPrivateEndpointConnectionsInner signalRPrivateEndpointConnections() {
+ return this.signalRPrivateEndpointConnections;
+ }
+
+ /**
+ * The SignalRPrivateLinkResourcesInner object to access its operations.
+ */
+ private SignalRPrivateLinkResourcesInner signalRPrivateLinkResources;
+
+ /**
+ * Gets the SignalRPrivateLinkResourcesInner object to access its operations.
+ * @return the SignalRPrivateLinkResourcesInner object.
+ */
+ public SignalRPrivateLinkResourcesInner signalRPrivateLinkResources() {
+ return this.signalRPrivateLinkResources;
+ }
+
+ /**
+ * The UsagesInner object to access its operations.
+ */
+ private UsagesInner usages;
+
+ /**
+ * Gets the UsagesInner object to access its operations.
+ * @return the UsagesInner object.
+ */
+ public UsagesInner usages() {
+ return this.usages;
+ }
+
+ /**
+ * Initializes an instance of SignalRManagementClient client.
+ *
+ * @param credentials the management credentials for Azure
+ */
+ public SignalRManagementClientImpl(ServiceClientCredentials credentials) {
+ this("https://management.azure.com", credentials);
+ }
+
+ /**
+ * Initializes an instance of SignalRManagementClient client.
+ *
+ * @param baseUrl the base URL of the host
+ * @param credentials the management credentials for Azure
+ */
+ public SignalRManagementClientImpl(String baseUrl, ServiceClientCredentials credentials) {
+ super(baseUrl, credentials);
+ initialize();
+ }
+
+ /**
+ * Initializes an instance of SignalRManagementClient client.
+ *
+ * @param restClient the REST client to connect to Azure.
+ */
+ public SignalRManagementClientImpl(RestClient restClient) {
+ super(restClient);
+ initialize();
+ }
+
+ protected void initialize() {
+ this.apiVersion = "2020-05-01";
+ this.acceptLanguage = "en-US";
+ this.longRunningOperationRetryTimeout = 30;
+ this.generateClientRequestId = true;
+ this.operations = new OperationsInner(restClient().retrofit(), this);
+ this.signalRs = new SignalRsInner(restClient().retrofit(), this);
+ this.signalRPrivateEndpointConnections = new SignalRPrivateEndpointConnectionsInner(restClient().retrofit(), this);
+ this.signalRPrivateLinkResources = new SignalRPrivateLinkResourcesInner(restClient().retrofit(), this);
+ this.usages = new UsagesInner(restClient().retrofit(), this);
+ this.azureClient = new AzureClient(this);
+ }
+
+ /**
+ * Gets the User-Agent header for the client.
+ *
+ * @return the user agent string.
+ */
+ @Override
+ public String userAgent() {
+ return String.format("%s (%s, %s, auto-generated)", super.userAgent(), "SignalRManagementClient", "2020-05-01");
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManager.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManager.java
new file mode 100644
index 000000000000..da34295b2cf9
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRManager.java
@@ -0,0 +1,147 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.AzureEnvironment;
+import com.microsoft.azure.AzureResponseBuilder;
+import com.microsoft.azure.credentials.AzureTokenCredentials;
+import com.microsoft.azure.management.apigeneration.Beta;
+import com.microsoft.azure.management.apigeneration.Beta.SinceVersion;
+import com.microsoft.azure.arm.resources.AzureConfigurable;
+import com.microsoft.azure.serializer.AzureJacksonAdapter;
+import com.microsoft.rest.RestClient;
+import com.microsoft.azure.management.signalr.v2020_05_01.Operations;
+import com.microsoft.azure.management.signalr.v2020_05_01.SignalRs;
+import com.microsoft.azure.management.signalr.v2020_05_01.SignalRPrivateEndpointConnections;
+import com.microsoft.azure.management.signalr.v2020_05_01.SignalRPrivateLinkResources;
+import com.microsoft.azure.management.signalr.v2020_05_01.Usages;
+import com.microsoft.azure.arm.resources.implementation.AzureConfigurableCoreImpl;
+import com.microsoft.azure.arm.resources.implementation.ManagerCore;
+
+/**
+ * Entry point to Azure SignalRService resource management.
+ */
+public final class SignalRManager extends ManagerCore {
+ private Operations operations;
+ private SignalRs signalRs;
+ private SignalRPrivateEndpointConnections signalRPrivateEndpointConnections;
+ private SignalRPrivateLinkResources signalRPrivateLinkResources;
+ private Usages usages;
+ /**
+ * Get a Configurable instance that can be used to create SignalRManager with optional configuration.
+ *
+ * @return the instance allowing configurations
+ */
+ public static Configurable configure() {
+ return new SignalRManager.ConfigurableImpl();
+ }
+ /**
+ * Creates an instance of SignalRManager that exposes SignalRService resource management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the SignalRManager
+ */
+ public static SignalRManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return new SignalRManager(new RestClient.Builder()
+ .withBaseUrl(credentials.environment(), AzureEnvironment.Endpoint.RESOURCE_MANAGER)
+ .withCredentials(credentials)
+ .withSerializerAdapter(new AzureJacksonAdapter())
+ .withResponseBuilderFactory(new AzureResponseBuilder.Factory())
+ .build(), subscriptionId);
+ }
+ /**
+ * Creates an instance of SignalRManager that exposes SignalRService resource management API entry points.
+ *
+ * @param restClient the RestClient to be used for API calls.
+ * @param subscriptionId the subscription UUID
+ * @return the SignalRManager
+ */
+ public static SignalRManager authenticate(RestClient restClient, String subscriptionId) {
+ return new SignalRManager(restClient, subscriptionId);
+ }
+ /**
+ * The interface allowing configurations to be set.
+ */
+ public interface Configurable extends AzureConfigurable {
+ /**
+ * Creates an instance of SignalRManager that exposes SignalRService management API entry points.
+ *
+ * @param credentials the credentials to use
+ * @param subscriptionId the subscription UUID
+ * @return the interface exposing SignalRService management API entry points that work across subscriptions
+ */
+ SignalRManager authenticate(AzureTokenCredentials credentials, String subscriptionId);
+ }
+
+ /**
+ * @return Entry point to manage Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(this);
+ }
+ return this.operations;
+ }
+
+ /**
+ * @return Entry point to manage SignalRs.
+ */
+ public SignalRs signalRs() {
+ if (this.signalRs == null) {
+ this.signalRs = new SignalRsImpl(this);
+ }
+ return this.signalRs;
+ }
+
+ /**
+ * @return Entry point to manage SignalRPrivateEndpointConnections.
+ */
+ public SignalRPrivateEndpointConnections signalRPrivateEndpointConnections() {
+ if (this.signalRPrivateEndpointConnections == null) {
+ this.signalRPrivateEndpointConnections = new SignalRPrivateEndpointConnectionsImpl(this);
+ }
+ return this.signalRPrivateEndpointConnections;
+ }
+
+ /**
+ * @return Entry point to manage SignalRPrivateLinkResources.
+ */
+ public SignalRPrivateLinkResources signalRPrivateLinkResources() {
+ if (this.signalRPrivateLinkResources == null) {
+ this.signalRPrivateLinkResources = new SignalRPrivateLinkResourcesImpl(this);
+ }
+ return this.signalRPrivateLinkResources;
+ }
+
+ /**
+ * @return Entry point to manage Usages.
+ */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(this);
+ }
+ return this.usages;
+ }
+
+ /**
+ * The implementation for Configurable interface.
+ */
+ private static final class ConfigurableImpl extends AzureConfigurableCoreImpl implements Configurable {
+ public SignalRManager authenticate(AzureTokenCredentials credentials, String subscriptionId) {
+ return SignalRManager.authenticate(buildRestClient(credentials), subscriptionId);
+ }
+ }
+ private SignalRManager(RestClient restClient, String subscriptionId) {
+ super(
+ restClient,
+ subscriptionId,
+ new SignalRManagementClientImpl(restClient).withSubscriptionId(subscriptionId));
+ }
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsImpl.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsImpl.java
new file mode 100644
index 000000000000..5aaa33ad4b47
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsImpl.java
@@ -0,0 +1,57 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import com.microsoft.azure.management.signalr.v2020_05_01.SignalRPrivateEndpointConnections;
+import rx.Completable;
+import rx.Observable;
+import rx.functions.Func1;
+import com.microsoft.azure.management.signalr.v2020_05_01.PrivateEndpointConnection;
+
+class SignalRPrivateEndpointConnectionsImpl extends WrapperImpl implements SignalRPrivateEndpointConnections {
+ private final SignalRManager manager;
+
+ SignalRPrivateEndpointConnectionsImpl(SignalRManager manager) {
+ super(manager.inner().signalRPrivateEndpointConnections());
+ this.manager = manager;
+ }
+
+ public SignalRManager manager() {
+ return this.manager;
+ }
+
+ private PrivateEndpointConnectionImpl wrapModel(PrivateEndpointConnectionInner inner) {
+ return new PrivateEndpointConnectionImpl(inner, manager());
+ }
+
+ @Override
+ public Observable getAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ SignalRPrivateEndpointConnectionsInner client = this.inner();
+ return client.getAsync(privateEndpointConnectionName, resourceGroupName, resourceName)
+ .flatMap(new Func1>() {
+ @Override
+ public Observable call(PrivateEndpointConnectionInner inner) {
+ if (inner == null) {
+ return Observable.empty();
+ } else {
+ return Observable.just((PrivateEndpointConnection)wrapModel(inner));
+ }
+ }
+ });
+ }
+
+ @Override
+ public Completable deleteAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ SignalRPrivateEndpointConnectionsInner client = this.inner();
+ return client.deleteAsync(privateEndpointConnectionName, resourceGroupName, resourceName).toCompletable();
+ }
+
+}
diff --git a/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsInner.java b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsInner.java
new file mode 100644
index 000000000000..3988d4afcbdd
--- /dev/null
+++ b/sdk/signalr/mgmt-v2020_05_01/src/main/java/com/microsoft/azure/management/signalr/v2020_05_01/implementation/SignalRPrivateEndpointConnectionsInner.java
@@ -0,0 +1,522 @@
+/**
+ * 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.signalr.v2020_05_01.implementation;
+
+import retrofit2.Retrofit;
+import com.google.common.reflect.TypeToken;
+import com.microsoft.azure.management.signalr.v2020_05_01.ErrorResponseException;
+import com.microsoft.rest.ServiceCallback;
+import com.microsoft.rest.ServiceFuture;
+import com.microsoft.rest.ServiceResponse;
+import com.microsoft.rest.Validator;
+import java.io.IOException;
+import okhttp3.ResponseBody;
+import retrofit2.http.Body;
+import retrofit2.http.GET;
+import retrofit2.http.Header;
+import retrofit2.http.Headers;
+import retrofit2.http.HTTP;
+import retrofit2.http.Path;
+import retrofit2.http.PUT;
+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 SignalRPrivateEndpointConnections.
+ */
+public class SignalRPrivateEndpointConnectionsInner {
+ /** The Retrofit service to perform REST calls. */
+ private SignalRPrivateEndpointConnectionsService service;
+ /** The service client containing this operation class. */
+ private SignalRManagementClientImpl client;
+
+ /**
+ * Initializes an instance of SignalRPrivateEndpointConnectionsInner.
+ *
+ * @param retrofit the Retrofit instance built from a Retrofit Builder.
+ * @param client the instance of the service client containing this operation class.
+ */
+ public SignalRPrivateEndpointConnectionsInner(Retrofit retrofit, SignalRManagementClientImpl client) {
+ this.service = retrofit.create(SignalRPrivateEndpointConnectionsService.class);
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for SignalRPrivateEndpointConnections to be
+ * used by Retrofit to perform actually REST calls.
+ */
+ interface SignalRPrivateEndpointConnectionsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.signalr.v2020_05_01.SignalRPrivateEndpointConnections get" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ Observable> get(@Path("privateEndpointConnectionName") String privateEndpointConnectionName, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @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.signalr.v2020_05_01.SignalRPrivateEndpointConnections update" })
+ @PUT("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ Observable> update(@Path("privateEndpointConnectionName") String privateEndpointConnectionName, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Body PrivateEndpointConnectionInner parameters, @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.signalr.v2020_05_01.SignalRPrivateEndpointConnections delete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}", method = "DELETE", hasBody = true)
+ Observable> delete(@Path("privateEndpointConnectionName") String privateEndpointConnectionName, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @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.signalr.v2020_05_01.SignalRPrivateEndpointConnections beginDelete" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}", method = "DELETE", hasBody = true)
+ Observable> beginDelete(@Path("privateEndpointConnectionName") String privateEndpointConnectionName, @Path("subscriptionId") String subscriptionId, @Path("resourceGroupName") String resourceGroupName, @Path("resourceName") String resourceName, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ }
+
+ /**
+ * Get the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PrivateEndpointConnectionInner object if successful.
+ */
+ public PrivateEndpointConnectionInner get(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ return getWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).toBlocking().single().body();
+ }
+
+ /**
+ * Get the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @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 privateEndpointConnectionName, String resourceGroupName, String resourceName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName), serviceCallback);
+ }
+
+ /**
+ * Get the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable getAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ return getWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).map(new Func1, PrivateEndpointConnectionInner>() {
+ @Override
+ public PrivateEndpointConnectionInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Get the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable> getWithServiceResponseAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ if (privateEndpointConnectionName == null) {
+ throw new IllegalArgumentException("Parameter privateEndpointConnectionName is required and cannot be null.");
+ }
+ 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 (resourceName == null) {
+ throw new IllegalArgumentException("Parameter resourceName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ return service.get(privateEndpointConnectionName, this.client.subscriptionId(), resourceGroupName, resourceName, this.client.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 ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PrivateEndpointConnectionInner object if successful.
+ */
+ public PrivateEndpointConnectionInner update(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ return updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).toBlocking().single().body();
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @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 updateAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName), serviceCallback);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable updateAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ return updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).map(new Func1, PrivateEndpointConnectionInner>() {
+ @Override
+ public PrivateEndpointConnectionInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable> updateWithServiceResponseAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ if (privateEndpointConnectionName == null) {
+ throw new IllegalArgumentException("Parameter privateEndpointConnectionName is required and cannot be null.");
+ }
+ 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 (resourceName == null) {
+ throw new IllegalArgumentException("Parameter resourceName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ final PrivateEndpointConnectionInner parameters = null;
+ return service.update(privateEndpointConnectionName, this.client.subscriptionId(), resourceGroupName, resourceName, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = updateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @param parameters The resource of private endpoint and its properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ * @return the PrivateEndpointConnectionInner object if successful.
+ */
+ public PrivateEndpointConnectionInner update(String privateEndpointConnectionName, String resourceGroupName, String resourceName, PrivateEndpointConnectionInner parameters) {
+ return updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName, parameters).toBlocking().single().body();
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @param parameters The resource of private endpoint and its properties.
+ * @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 updateAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName, PrivateEndpointConnectionInner parameters, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName, parameters), serviceCallback);
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @param parameters The resource of private endpoint and its properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable updateAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName, PrivateEndpointConnectionInner parameters) {
+ return updateWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName, parameters).map(new Func1, PrivateEndpointConnectionInner>() {
+ @Override
+ public PrivateEndpointConnectionInner call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Update the state of specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @param parameters The resource of private endpoint and its properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable to the PrivateEndpointConnectionInner object
+ */
+ public Observable> updateWithServiceResponseAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName, PrivateEndpointConnectionInner parameters) {
+ if (privateEndpointConnectionName == null) {
+ throw new IllegalArgumentException("Parameter privateEndpointConnectionName is required and cannot be null.");
+ }
+ 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 (resourceName == null) {
+ throw new IllegalArgumentException("Parameter resourceName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ Validator.validate(parameters);
+ return service.update(privateEndpointConnectionName, this.client.subscriptionId(), resourceGroupName, resourceName, parameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ .flatMap(new Func1, Observable>>() {
+ @Override
+ public Observable> call(Response response) {
+ try {
+ ServiceResponse clientResponse = updateDelegate(response);
+ return Observable.just(clientResponse);
+ } catch (Throwable t) {
+ return Observable.error(t);
+ }
+ }
+ });
+ }
+
+ private ServiceResponse updateDelegate(Response response) throws ErrorResponseException, IOException, IllegalArgumentException {
+ return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
+ .register(200, new TypeToken() { }.getType())
+ .registerError(ErrorResponseException.class)
+ .build(response);
+ }
+
+ /**
+ * Delete the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @throws ErrorResponseException thrown if the request is rejected by server
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
+ */
+ public void delete(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ deleteWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).toBlocking().last().body();
+ }
+
+ /**
+ * Delete the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @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 deleteAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName), serviceCallback);
+ }
+
+ /**
+ * Delete the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable deleteAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ return deleteWithServiceResponseAsync(privateEndpointConnectionName, resourceGroupName, resourceName).map(new Func1, Void>() {
+ @Override
+ public Void call(ServiceResponse response) {
+ return response.body();
+ }
+ });
+ }
+
+ /**
+ * Delete the specified private endpoint connection associated with a SignalR resource.
+ *
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the SignalR resource.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param resourceName The name of the SignalR resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ public Observable> deleteWithServiceResponseAsync(String privateEndpointConnectionName, String resourceGroupName, String resourceName) {
+ if (privateEndpointConnectionName == null) {
+ throw new IllegalArgumentException("Parameter privateEndpointConnectionName is required and cannot be null.");
+ }
+ 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 (resourceName == null) {
+ throw new IllegalArgumentException("Parameter resourceName is required and cannot be null.");
+ }
+ if (this.client.apiVersion() == null) {
+ throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
+ }
+ Observable