diff --git a/sdk/signalr/azure-resourcemanager-signalr/CHANGELOG.md b/sdk/signalr/azure-resourcemanager-signalr/CHANGELOG.md index a428fdc7535e..4e21c2f62d8c 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/CHANGELOG.md +++ b/sdk/signalr/azure-resourcemanager-signalr/CHANGELOG.md @@ -1,7 +1,8 @@ # Release History -## 1.0.0-beta.2 (Unreleased) +## 1.0.0-beta.1 (2021-06-21) +- Azure Resource Manager SignalR client library for Java. This package contains Microsoft Azure SDK for SignalR Management SDK. REST API for Azure SignalR Service. Package tag package-2021-06-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). ## 1.0.0-beta.1 (2021-04-14) diff --git a/sdk/signalr/azure-resourcemanager-signalr/README.md b/sdk/signalr/azure-resourcemanager-signalr/README.md index 6d264a3ebd2a..8e46fd0ebc32 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/README.md +++ b/sdk/signalr/azure-resourcemanager-signalr/README.md @@ -2,7 +2,7 @@ Azure Resource Manager SignalR client library for Java. -This package contains Microsoft Azure SDK for SignalR Management SDK. REST API for Azure SignalR Service. Package tag package-2021-04-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). +This package contains Microsoft Azure SDK for SignalR Management SDK. REST API for Azure SignalR Service. Package tag package-2021-06-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). ## We'd love to hear your feedback @@ -32,7 +32,7 @@ Various documentation is available to help you get started com.azure.resourcemanager azure-resourcemanager-signalr - 1.0.0-beta.1 + 1.0.0-beta.2 ``` [//]: # ({x-version-update-end}) @@ -74,6 +74,8 @@ See [API design][design] for general introduction on design and key concepts on ## Examples + + ## Troubleshooting ## Next steps diff --git a/sdk/signalr/azure-resourcemanager-signalr/pom.xml b/sdk/signalr/azure-resourcemanager-signalr/pom.xml index e407c48fc45b..cb452a33c78d 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/pom.xml +++ b/sdk/signalr/azure-resourcemanager-signalr/pom.xml @@ -1,67 +1,86 @@ - 4.0.0 - - com.azure - azure-client-sdk-parent - 1.7.0 - ../../parents/azure-client-sdk-parent - + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + - com.azure.resourcemanager - azure-resourcemanager-signalr - 1.0.0-beta.2 - jar + com.azure.resourcemanager + azure-resourcemanager-signalr + 1.0.0-beta.2 + jar - Microsoft Azure SDK for SignalR Management - This package contains Microsoft Azure SDK for SignalR Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. REST API for Azure SignalR Service. Package tag package-2021-04-01-preview. - https://github.com/Azure/azure-sdk-for-java + Microsoft Azure SDK for SignalR Management + This package contains Microsoft Azure SDK for SignalR Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. REST API for Azure SignalR Service. Package tag package-2021-06-01-preview. + https://github.com/Azure/azure-sdk-for-java - - - The MIT License (MIT) - http://opensource.org/licenses/MIT - repo - - + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + - - https://github.com/Azure/azure-sdk-for-java - scm:git:git@github.com:Azure/azure-sdk-for-java.git - scm:git:git@github.com:Azure/azure-sdk-for-java.git - HEAD - - - - microsoft - Microsoft - - - - UTF-8 - - - - - com.azure - azure-core - 1.17.0 - - - com.azure - azure-core-management - 1.3.0 - - - - - - org.jacoco - jacoco-maven-plugin - 0.8.5 - - true - - - - + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + + + + + com.azure + azure-core + 1.17.0 + + + com.azure + azure-core-management + 1.3.0 + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.5 + + true + + + + org.revapi + revapi-maven-plugin + 0.11.2 + + + + + java.method.addedToInterface + + + true + .* + com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)* + + + + + + + diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/SignalRManager.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/SignalRManager.java index c7f35fc55fdd..2270bfb9537b 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/SignalRManager.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/SignalRManager.java @@ -9,7 +9,6 @@ import com.azure.core.http.HttpPipeline; import com.azure.core.http.HttpPipelineBuilder; import com.azure.core.http.policy.AddDatePolicy; -import com.azure.core.http.policy.BearerTokenAuthenticationPolicy; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpPipelinePolicy; @@ -17,6 +16,7 @@ import com.azure.core.http.policy.RequestIdPolicy; import com.azure.core.http.policy.RetryPolicy; import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy; import com.azure.core.management.profile.AzureProfile; import com.azure.core.util.Configuration; import com.azure.core.util.logging.ClientLogger; @@ -97,6 +97,7 @@ public static final class Configurable { private HttpClient httpClient; private HttpLogOptions httpLogOptions; private final List policies = new ArrayList<>(); + private final List scopes = new ArrayList<>(); private RetryPolicy retryPolicy; private Duration defaultPollInterval; @@ -136,6 +137,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) { return this; } + /** + * Adds the scope to permission sets. + * + * @param scope the scope. + * @return the configurable object itself. + */ + public Configurable withScope(String scope) { + this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null.")); + return this; + } + /** * Sets the retry policy to the HTTP pipeline. * @@ -192,6 +204,9 @@ public SignalRManager authenticate(TokenCredential credential, AzureProfile prof userAgentBuilder.append(" (auto-generated)"); } + if (scopes.isEmpty()) { + scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default"); + } if (retryPolicy == null) { retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS); } @@ -201,10 +216,7 @@ public SignalRManager authenticate(TokenCredential credential, AzureProfile prof HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(retryPolicy); policies.add(new AddDatePolicy()); - policies - .add( - new BearerTokenAuthenticationPolicy( - credential, profile.getEnvironment().getManagementEndpoint() + "/.default")); + policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0]))); policies.addAll(this.policies); HttpPolicyProviders.addAfterRetryPolicies(policies); policies.add(new HttpLoggingPolicy(httpLogOptions)); diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/fluent/models/SignalRResourceInner.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/fluent/models/SignalRResourceInner.java index 7829345308ac..a60c4a02553b 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/fluent/models/SignalRResourceInner.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/fluent/models/SignalRResourceInner.java @@ -143,6 +143,31 @@ public class SignalRResourceInner extends Resource { @JsonProperty(value = "properties.networkACLs") private SignalRNetworkACLs networkACLs; + /* + * Enable or disable public network access. Default to "Enabled". + * When it's Enabled, network ACLs still apply. + * When it's Disabled, public network access is always disabled no matter + * what you set in network ACLs. + */ + @JsonProperty(value = "properties.publicNetworkAccess") + private String publicNetworkAccess; + + /* + * DisableLocalAuth + * Enable or disable local auth with AccessKey + * When set as true, connection with AccessKey=xxx won't work. + */ + @JsonProperty(value = "properties.disableLocalAuth") + private Boolean disableLocalAuth; + + /* + * disableAadAuth + * Enable or disable aad auth + * When set as true, connection with AuthType=aad won't work. + */ + @JsonProperty(value = "properties.disableAadAuth") + private Boolean disableAadAuth; + /** * Get the sku property: The billing information of the resource.(e.g. Free, Standard). * @@ -396,6 +421,74 @@ public SignalRResourceInner withNetworkACLs(SignalRNetworkACLs networkACLs) { return this; } + /** + * Get the publicNetworkAccess property: Enable or disable public network access. Default to "Enabled". When it's + * Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no matter what + * you set in network ACLs. + * + * @return the publicNetworkAccess value. + */ + public String publicNetworkAccess() { + return this.publicNetworkAccess; + } + + /** + * Set the publicNetworkAccess property: Enable or disable public network access. Default to "Enabled". When it's + * Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no matter what + * you set in network ACLs. + * + * @param publicNetworkAccess the publicNetworkAccess value to set. + * @return the SignalRResourceInner object itself. + */ + public SignalRResourceInner withPublicNetworkAccess(String publicNetworkAccess) { + this.publicNetworkAccess = publicNetworkAccess; + return this; + } + + /** + * Get the disableLocalAuth property: DisableLocalAuth Enable or disable local auth with AccessKey When set as true, + * connection with AccessKey=xxx won't work. + * + * @return the disableLocalAuth value. + */ + public Boolean disableLocalAuth() { + return this.disableLocalAuth; + } + + /** + * Set the disableLocalAuth property: DisableLocalAuth Enable or disable local auth with AccessKey When set as true, + * connection with AccessKey=xxx won't work. + * + * @param disableLocalAuth the disableLocalAuth value to set. + * @return the SignalRResourceInner object itself. + */ + public SignalRResourceInner withDisableLocalAuth(Boolean disableLocalAuth) { + this.disableLocalAuth = disableLocalAuth; + return this; + } + + /** + * Get the disableAadAuth property: disableAadAuth Enable or disable aad auth When set as true, connection with + * AuthType=aad won't work. + * + * @return the disableAadAuth value. + */ + public Boolean disableAadAuth() { + return this.disableAadAuth; + } + + /** + * Set the disableAadAuth property: disableAadAuth Enable or disable aad auth When set as true, connection with + * AuthType=aad won't work. + * + * @param disableAadAuth the disableAadAuth value to set. + * @return the SignalRResourceInner object itself. + */ + public SignalRResourceInner withDisableAadAuth(Boolean disableAadAuth) { + this.disableAadAuth = disableAadAuth; + return this; + } + /** {@inheritDoc} */ @Override public SignalRResourceInner withLocation(String location) { diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRManagementClientImpl.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRManagementClientImpl.java index 3495adc5d748..ead8495b857c 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRManagementClientImpl.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRManagementClientImpl.java @@ -214,7 +214,7 @@ public SignalRSharedPrivateLinkResourcesClient getSignalRSharedPrivateLinkResour this.defaultPollInterval = defaultPollInterval; this.subscriptionId = subscriptionId; this.endpoint = endpoint; - this.apiVersion = "2021-04-01-preview"; + this.apiVersion = "2021-06-01-preview"; this.operations = new OperationsClientImpl(this); this.signalRs = new SignalRsClientImpl(this); this.usages = new UsagesClientImpl(this); diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRResourceImpl.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRResourceImpl.java index d0902f800d69..f49a052de49f 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRResourceImpl.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/implementation/SignalRResourceImpl.java @@ -153,6 +153,18 @@ public SignalRNetworkACLs networkACLs() { return this.innerModel().networkACLs(); } + public String publicNetworkAccess() { + return this.innerModel().publicNetworkAccess(); + } + + public Boolean disableLocalAuth() { + return this.innerModel().disableLocalAuth(); + } + + public Boolean disableAadAuth() { + return this.innerModel().disableAadAuth(); + } + public Region region() { return Region.fromName(this.regionName()); } @@ -330,4 +342,19 @@ public SignalRResourceImpl withNetworkACLs(SignalRNetworkACLs networkACLs) { this.innerModel().withNetworkACLs(networkACLs); return this; } + + public SignalRResourceImpl withPublicNetworkAccess(String publicNetworkAccess) { + this.innerModel().withPublicNetworkAccess(publicNetworkAccess); + return this; + } + + public SignalRResourceImpl withDisableLocalAuth(Boolean disableLocalAuth) { + this.innerModel().withDisableLocalAuth(disableLocalAuth); + return this; + } + + public SignalRResourceImpl withDisableAadAuth(Boolean disableAadAuth) { + this.innerModel().withDisableAadAuth(disableAadAuth); + return this; + } } diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRFeature.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRFeature.java index 748f2fc234a1..6700844c1c98 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRFeature.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRFeature.java @@ -10,7 +10,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Map; -/** Feature of a SignalR resource, which controls the SignalR runtime behavior. */ +/** Feature of a resource, which controls the runtime behavior. */ @Fluent public final class SignalRFeature { @JsonIgnore private final ClientLogger logger = new ClientLogger(SignalRFeature.class); diff --git a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRResource.java b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRResource.java index 0d2821970f61..348db5fe204b 100644 --- a/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRResource.java +++ b/sdk/signalr/azure-resourcemanager-signalr/src/main/java/com/azure/resourcemanager/signalr/models/SignalRResource.java @@ -175,6 +175,31 @@ public interface SignalRResource { */ SignalRNetworkACLs networkACLs(); + /** + * Gets the publicNetworkAccess property: Enable or disable public network access. Default to "Enabled". When it's + * Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no matter what + * you set in network ACLs. + * + * @return the publicNetworkAccess value. + */ + String publicNetworkAccess(); + + /** + * Gets the disableLocalAuth property: DisableLocalAuth Enable or disable local auth with AccessKey When set as + * true, connection with AccessKey=xxx won't work. + * + * @return the disableLocalAuth value. + */ + Boolean disableLocalAuth(); + + /** + * Gets the disableAadAuth property: disableAadAuth Enable or disable aad auth When set as true, connection with + * AuthType=aad won't work. + * + * @return the disableAadAuth value. + */ + Boolean disableAadAuth(); + /** * Gets the region of the resource. * @@ -250,7 +275,10 @@ interface WithCreate DefinitionStages.WithFeatures, DefinitionStages.WithCors, DefinitionStages.WithUpstream, - DefinitionStages.WithNetworkACLs { + DefinitionStages.WithNetworkACLs, + DefinitionStages.WithPublicNetworkAccess, + DefinitionStages.WithDisableLocalAuth, + DefinitionStages.WithDisableAadAuth { /** * Executes the create request. * @@ -366,6 +394,44 @@ interface WithNetworkACLs { */ WithCreate withNetworkACLs(SignalRNetworkACLs networkACLs); } + /** The stage of the SignalRResource definition allowing to specify publicNetworkAccess. */ + interface WithPublicNetworkAccess { + /** + * Specifies the publicNetworkAccess property: Enable or disable public network access. Default to + * "Enabled". When it's Enabled, network ACLs still apply. When it's Disabled, public network access is + * always disabled no matter what you set in network ACLs.. + * + * @param publicNetworkAccess Enable or disable public network access. Default to "Enabled". When it's + * Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no + * matter what you set in network ACLs. + * @return the next definition stage. + */ + WithCreate withPublicNetworkAccess(String publicNetworkAccess); + } + /** The stage of the SignalRResource definition allowing to specify disableLocalAuth. */ + interface WithDisableLocalAuth { + /** + * Specifies the disableLocalAuth property: DisableLocalAuth Enable or disable local auth with AccessKey + * When set as true, connection with AccessKey=xxx won't work.. + * + * @param disableLocalAuth DisableLocalAuth Enable or disable local auth with AccessKey When set as true, + * connection with AccessKey=xxx won't work. + * @return the next definition stage. + */ + WithCreate withDisableLocalAuth(Boolean disableLocalAuth); + } + /** The stage of the SignalRResource definition allowing to specify disableAadAuth. */ + interface WithDisableAadAuth { + /** + * Specifies the disableAadAuth property: disableAadAuth Enable or disable aad auth When set as true, + * connection with AuthType=aad won't work.. + * + * @param disableAadAuth disableAadAuth Enable or disable aad auth When set as true, connection with + * AuthType=aad won't work. + * @return the next definition stage. + */ + WithCreate withDisableAadAuth(Boolean disableAadAuth); + } } /** * Begins update for the SignalRResource resource. @@ -383,7 +449,10 @@ interface Update UpdateStages.WithFeatures, UpdateStages.WithCors, UpdateStages.WithUpstream, - UpdateStages.WithNetworkACLs { + UpdateStages.WithNetworkACLs, + UpdateStages.WithPublicNetworkAccess, + UpdateStages.WithDisableLocalAuth, + UpdateStages.WithDisableAadAuth { /** * Executes the update request. * @@ -490,6 +559,44 @@ interface WithNetworkACLs { */ Update withNetworkACLs(SignalRNetworkACLs networkACLs); } + /** The stage of the SignalRResource update allowing to specify publicNetworkAccess. */ + interface WithPublicNetworkAccess { + /** + * Specifies the publicNetworkAccess property: Enable or disable public network access. Default to + * "Enabled". When it's Enabled, network ACLs still apply. When it's Disabled, public network access is + * always disabled no matter what you set in network ACLs.. + * + * @param publicNetworkAccess Enable or disable public network access. Default to "Enabled". When it's + * Enabled, network ACLs still apply. When it's Disabled, public network access is always disabled no + * matter what you set in network ACLs. + * @return the next definition stage. + */ + Update withPublicNetworkAccess(String publicNetworkAccess); + } + /** The stage of the SignalRResource update allowing to specify disableLocalAuth. */ + interface WithDisableLocalAuth { + /** + * Specifies the disableLocalAuth property: DisableLocalAuth Enable or disable local auth with AccessKey + * When set as true, connection with AccessKey=xxx won't work.. + * + * @param disableLocalAuth DisableLocalAuth Enable or disable local auth with AccessKey When set as true, + * connection with AccessKey=xxx won't work. + * @return the next definition stage. + */ + Update withDisableLocalAuth(Boolean disableLocalAuth); + } + /** The stage of the SignalRResource update allowing to specify disableAadAuth. */ + interface WithDisableAadAuth { + /** + * Specifies the disableAadAuth property: disableAadAuth Enable or disable aad auth When set as true, + * connection with AuthType=aad won't work.. + * + * @param disableAadAuth disableAadAuth Enable or disable aad auth When set as true, connection with + * AuthType=aad won't work. + * @return the next definition stage. + */ + Update withDisableAadAuth(Boolean disableAadAuth); + } } /** * Refreshes the resource to sync with Azure.