From d84b3bce8b0a37fdb1430384e4cd188d22182a49 Mon Sep 17 00:00:00 2001
From: xccc-msft
Date: Tue, 19 May 2020 16:52:38 +0800
Subject: [PATCH 1/5] mgmt update default subscription logic
---
.../main/java/com/azure/management/Azure.java | 57 +++++++++++++------
.../implementation/ResourceManager.java | 29 +++++++++-
2 files changed, 66 insertions(+), 20 deletions(-)
diff --git a/sdk/management/azure/src/main/java/com/azure/management/Azure.java b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
index 206f70ac26c1..4780f9d18873 100644
--- a/sdk/management/azure/src/main/java/com/azure/management/Azure.java
+++ b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
@@ -73,6 +73,8 @@
import com.azure.management.network.implementation.NetworkManager;
import com.azure.management.resources.Deployments;
import com.azure.management.resources.GenericResources;
+import com.azure.management.resources.PolicyAssignments;
+import com.azure.management.resources.PolicyDefinitions;
import com.azure.management.resources.Providers;
import com.azure.management.resources.ResourceGroups;
import com.azure.management.resources.Subscription;
@@ -94,6 +96,9 @@
import com.azure.management.storage.Usages;
import com.azure.management.storage.implementation.StorageManager;
+import java.util.ArrayList;
+import java.util.List;
+
/** The entry point for accessing resource management APIs in Azure. */
public final class Azure {
private final ResourceManager resourceManager;
@@ -229,9 +234,10 @@ public interface Authenticated extends AccessManagement {
* Selects the default subscription as the subscription for the APIs to work with.
*
* The default subscription can be specified inside the Azure profile using {@link
- * AzureProfile}. If no default subscription has been previously provided, the first subscription as
- * returned by {@link Authenticated#subscriptions()} will be selected.
+ * AzureProfile}. If no default subscription provided, we will try to set the only
+ * subscription if applicable returned by {@link Authenticated#subscriptions()}
*
+ * @throws RuntimeException more than one subscription found in the tenant.
* @return an authenticated Azure client configured to work with the default subscription
*/
Azure withDefaultSubscription();
@@ -325,8 +331,25 @@ public Azure withSubscription(String subscriptionId) {
@Override
public Azure withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- throw logger.logExceptionAsError(
- new IllegalArgumentException("Please specify the subscription ID for resource management."));
+ List subscriptions = new ArrayList<>();
+ this.subscriptions().list().forEach(subscription -> {
+ subscriptions.add(subscription);
+ });
+ if (subscriptions.size() == 0) {
+ throw logger.logExceptionAsError(
+ new RuntimeException("Please create a subscription before you start resource management. " +
+ "To learn more, see: https://azure.microsoft.com/en-us/free/."));
+ } else if (subscriptions.size() > 1) {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("More than one subscription found in your tenant. " +
+ "Please specify which one below is desired for resource management.");
+ subscriptions.forEach(subscription -> {
+ stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
+ });
+ throw logger.logExceptionAsError(new RuntimeException(stringBuilder.toString()));
+ } else {
+ profile.withSubscriptionId(subscriptions.get(0).subscriptionId());
+ }
}
return new Azure(httpPipeline, profile, this);
}
@@ -416,19 +439,19 @@ public Providers providers() {
return resourceManager.providers();
}
- // /**
- // * @return entry point to managing policy definitions.
- // */
- // public PolicyDefinitions policyDefinitions() {
- // return resourceManager.policyDefinitions();
- // }
- //
- // /**
- // * @return entry point to managing policy assignments.
- // */
- // public PolicyAssignments policyAssignments() {
- // return resourceManager.policyAssignments();
- // }
+ /**
+ * @return entry point to managing policy definitions.
+ */
+ public PolicyDefinitions policyDefinitions() {
+ return resourceManager.policyDefinitions();
+ }
+
+ /**
+ * @return entry point to managing policy assignments.
+ */
+ public PolicyAssignments policyAssignments() {
+ return resourceManager.policyAssignments();
+ }
/** @return entry point to managing storage accounts */
public StorageAccounts storageAccounts() {
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
index 5db24712e81b..64c5e54fc9c1 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
@@ -13,6 +13,7 @@
import com.azure.management.resources.PolicyDefinitions;
import com.azure.management.resources.Providers;
import com.azure.management.resources.ResourceGroups;
+import com.azure.management.resources.Subscription;
import com.azure.management.resources.Subscriptions;
import com.azure.management.resources.Tenants;
import com.azure.management.resources.fluentcore.arm.AzureConfigurable;
@@ -31,6 +32,9 @@
import com.azure.management.resources.models.SubscriptionClientBuilder;
import com.azure.management.resources.models.SubscriptionClientImpl;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* Entry point to Azure resource management.
*/
@@ -133,8 +137,10 @@ public interface Authenticated {
ResourceManager withSubscription(String subscriptionId);
/**
- * Specifies to use subscription from Azure profile.
+ * Specifies to use subscription from {@link AzureProfile}. If no subscription provided, we will
+ * try to set the only subscription if applicable returned by {@link Authenticated#subscriptions()}.
*
+ * @throws RuntimeException more than one subscription found in the tenant.
* @return the ResourceManager instance with entry points that work in a subscription
*/
ResourceManager withDefaultSubscription();
@@ -192,8 +198,25 @@ public ResourceManager withSubscription(String subscriptionId) {
@Override
public ResourceManager withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- throw logger.logExceptionAsError(
- new IllegalArgumentException("Please specify the subscription ID for resource management."));
+ List subscriptions = new ArrayList<>();
+ this.subscriptions().list().forEach(subscription -> {
+ //subscriptions.add(subscription);
+ });
+ if (subscriptions.size() == 0) {
+ throw logger.logExceptionAsError(
+ new RuntimeException("Please create a subscription before you start resource management. " +
+ "To learn more, see: https://azure.microsoft.com/en-us/free/."));
+ } else if (subscriptions.size() > 1) {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("More than one subscription found in your tenant. " +
+ "Please specify which one below is desired for resource management.");
+ subscriptions.forEach(subscription -> {
+ stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
+ });
+ throw logger.logExceptionAsError(new RuntimeException(stringBuilder.toString()));
+ } else {
+ profile.withSubscriptionId(subscriptions.get(0).subscriptionId());
+ }
}
return new ResourceManager(httpPipeline, profile, sdkContext);
}
From c693a51fa3cfc754f52dfe44e99de31378c53530 Mon Sep 17 00:00:00 2001
From: xccc-msft
Date: Tue, 19 May 2020 16:58:24 +0800
Subject: [PATCH 2/5] fix checkstyle
---
.../azure/src/main/java/com/azure/management/Azure.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sdk/management/azure/src/main/java/com/azure/management/Azure.java b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
index 4780f9d18873..47ad183d5db4 100644
--- a/sdk/management/azure/src/main/java/com/azure/management/Azure.java
+++ b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
@@ -337,12 +337,12 @@ public Azure withDefaultSubscription() {
});
if (subscriptions.size() == 0) {
throw logger.logExceptionAsError(
- new RuntimeException("Please create a subscription before you start resource management. " +
- "To learn more, see: https://azure.microsoft.com/en-us/free/."));
+ new RuntimeException("Please create a subscription before you start resource management. "
+ + "To learn more, see: https://azure.microsoft.com/en-us/free/."));
} else if (subscriptions.size() > 1) {
StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("More than one subscription found in your tenant. " +
- "Please specify which one below is desired for resource management.");
+ stringBuilder.append("More than one subscription found in your tenant. "
+ + "Please specify which one below is desired for resource management.");
subscriptions.forEach(subscription -> {
stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
});
From 3f97d7f9b1859df2c3b7eceab12f76fcf48b2de5 Mon Sep 17 00:00:00 2001
From: xccc-msft
Date: Tue, 19 May 2020 17:05:52 +0800
Subject: [PATCH 3/5] fix comment
---
.../resources/implementation/ResourceManager.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
index 64c5e54fc9c1..0bb1c9ef7a42 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
@@ -200,16 +200,16 @@ public ResourceManager withDefaultSubscription() {
if (profile.subscriptionId() == null) {
List subscriptions = new ArrayList<>();
this.subscriptions().list().forEach(subscription -> {
- //subscriptions.add(subscription);
+ subscriptions.add(subscription);
});
if (subscriptions.size() == 0) {
throw logger.logExceptionAsError(
- new RuntimeException("Please create a subscription before you start resource management. " +
- "To learn more, see: https://azure.microsoft.com/en-us/free/."));
+ new RuntimeException("Please create a subscription before you start resource management. "
+ + "To learn more, see: https://azure.microsoft.com/en-us/free/."));
} else if (subscriptions.size() > 1) {
StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("More than one subscription found in your tenant. " +
- "Please specify which one below is desired for resource management.");
+ stringBuilder.append("More than one subscription found in your tenant. "
+ + "Please specify which one below is desired for resource management.");
subscriptions.forEach(subscription -> {
stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
});
From 6195ffdeb86e644721914fb71d15595483cb094d Mon Sep 17 00:00:00 2001
From: xccc-msft
Date: Wed, 20 May 2020 11:09:01 +0800
Subject: [PATCH 4/5] use IllegalStateException instead of RuntimeException
---
.../main/java/com/azure/management/Azure.java | 28 ++-------------
.../resources/fluentcore/utils/Utils.java | 36 ++++++++++++++++++-
.../implementation/ResourceManager.java | 29 ++-------------
3 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/sdk/management/azure/src/main/java/com/azure/management/Azure.java b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
index 47ad183d5db4..db109977f73d 100644
--- a/sdk/management/azure/src/main/java/com/azure/management/Azure.java
+++ b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
@@ -5,7 +5,6 @@
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.HttpPipeline;
-import com.azure.core.util.logging.ClientLogger;
import com.azure.management.appservice.AppServiceCertificateOrders;
import com.azure.management.appservice.AppServiceCertificates;
import com.azure.management.appservice.AppServiceDomains;
@@ -85,6 +84,7 @@
import com.azure.management.resources.fluentcore.profile.AzureProfile;
import com.azure.management.resources.fluentcore.utils.HttpPipelineProvider;
import com.azure.management.resources.fluentcore.utils.SdkContext;
+import com.azure.management.resources.fluentcore.utils.Utils;
import com.azure.management.resources.implementation.ResourceManager;
import com.azure.management.sql.SqlServers;
import com.azure.management.sql.implementation.SqlServerManager;
@@ -96,9 +96,6 @@
import com.azure.management.storage.Usages;
import com.azure.management.storage.implementation.StorageManager;
-import java.util.ArrayList;
-import java.util.List;
-
/** The entry point for accessing resource management APIs in Azure. */
public final class Azure {
private final ResourceManager resourceManager;
@@ -237,7 +234,7 @@ public interface Authenticated extends AccessManagement {
* AzureProfile}. If no default subscription provided, we will try to set the only
* subscription if applicable returned by {@link Authenticated#subscriptions()}
*
- * @throws RuntimeException more than one subscription found in the tenant.
+ * @throws IllegalStateException when no subscription or more than one subscription found in the tenant.
* @return an authenticated Azure client configured to work with the default subscription
*/
Azure withDefaultSubscription();
@@ -245,7 +242,6 @@ public interface Authenticated extends AccessManagement {
/** The implementation for the Authenticated interface. */
private static final class AuthenticatedImpl implements Authenticated {
- private final ClientLogger logger = new ClientLogger(AuthenticatedImpl.class);
private final HttpPipeline httpPipeline;
private final AzureProfile profile;
private final ResourceManager.Authenticated resourceManagerAuthenticated;
@@ -331,25 +327,7 @@ public Azure withSubscription(String subscriptionId) {
@Override
public Azure withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- List subscriptions = new ArrayList<>();
- this.subscriptions().list().forEach(subscription -> {
- subscriptions.add(subscription);
- });
- if (subscriptions.size() == 0) {
- throw logger.logExceptionAsError(
- new RuntimeException("Please create a subscription before you start resource management. "
- + "To learn more, see: https://azure.microsoft.com/en-us/free/."));
- } else if (subscriptions.size() > 1) {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("More than one subscription found in your tenant. "
- + "Please specify which one below is desired for resource management.");
- subscriptions.forEach(subscription -> {
- stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
- });
- throw logger.logExceptionAsError(new RuntimeException(stringBuilder.toString()));
- } else {
- profile.withSubscriptionId(subscriptions.get(0).subscriptionId());
- }
+ profile.withSubscriptionId(Utils.subscriptionId(this.subscriptions().list()));
}
return new Azure(httpPipeline, profile, this);
}
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
index fdcbae74048f..ef17831a21d8 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
@@ -7,17 +7,24 @@
import com.azure.core.annotation.PathParam;
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.PagedIterable;
import com.azure.core.http.rest.RestProxy;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.management.resources.Subscription;
import com.azure.management.resources.fluentcore.arm.ResourceId;
import com.azure.management.resources.fluentcore.model.Indexable;
import reactor.core.publisher.Mono;
+import java.util.ArrayList;
import java.util.List;
/**
* Defines a few utilities.
*/
public final class Utils {
+ private Utils() {
+ }
+
/**
* Converts an object Boolean to a primitive boolean.
*
@@ -179,6 +186,33 @@ private interface FileService {
Mono download(@PathParam("url") String url);
}
- private Utils() {
+ /**
+ * Gets the only subscription in the tenant if applicable.
+ *
+ * @param subscriptions the list of subscriptions
+ * @throws IllegalStateException when no subscription or more than one subscription found
+ * @return the only subscription existing in the tenant
+ */
+ public static String subscriptionId(PagedIterable subscriptions) {
+ List subscriptionList = new ArrayList<>();
+ subscriptions.forEach(subscription -> {
+ subscriptionList.add(subscription);
+ });
+ if (subscriptionList.size() == 0) {
+ throw new ClientLogger(Utils.class).logExceptionAsError(
+ new IllegalStateException("Please create a subscription before you start resource management. "
+ + "To learn more, see: https://azure.microsoft.com/en-us/free/."));
+ } else if (subscriptionList.size() > 1) {
+ ClientLogger logger = new ClientLogger(Utils.class);
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("More than one subscription found in your tenant. "
+ + "Please specify which one below is desired for resource management.");
+ subscriptionList.forEach(subscription -> {
+ stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
+ });
+ throw new ClientLogger(Utils.class).logExceptionAsError(
+ new IllegalStateException(stringBuilder.toString()));
+ }
+ return subscriptionList.get(0).subscriptionId();
}
}
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
index 0bb1c9ef7a42..031c3e032af5 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
@@ -5,7 +5,6 @@
import com.azure.core.credential.TokenCredential;
import com.azure.core.http.HttpPipeline;
-import com.azure.core.util.logging.ClientLogger;
import com.azure.management.resources.Deployments;
import com.azure.management.resources.Features;
import com.azure.management.resources.GenericResources;
@@ -13,7 +12,6 @@
import com.azure.management.resources.PolicyDefinitions;
import com.azure.management.resources.Providers;
import com.azure.management.resources.ResourceGroups;
-import com.azure.management.resources.Subscription;
import com.azure.management.resources.Subscriptions;
import com.azure.management.resources.Tenants;
import com.azure.management.resources.fluentcore.arm.AzureConfigurable;
@@ -23,6 +21,7 @@
import com.azure.management.resources.fluentcore.profile.AzureProfile;
import com.azure.management.resources.fluentcore.utils.HttpPipelineProvider;
import com.azure.management.resources.fluentcore.utils.SdkContext;
+import com.azure.management.resources.fluentcore.utils.Utils;
import com.azure.management.resources.models.FeatureClientBuilder;
import com.azure.management.resources.models.FeatureClientImpl;
import com.azure.management.resources.models.PolicyClientBuilder;
@@ -32,9 +31,6 @@
import com.azure.management.resources.models.SubscriptionClientBuilder;
import com.azure.management.resources.models.SubscriptionClientImpl;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Entry point to Azure resource management.
*/
@@ -140,7 +136,7 @@ public interface Authenticated {
* Specifies to use subscription from {@link AzureProfile}. If no subscription provided, we will
* try to set the only subscription if applicable returned by {@link Authenticated#subscriptions()}.
*
- * @throws RuntimeException more than one subscription found in the tenant.
+ * @throws IllegalStateException when no subscription or more than one subscription found in the tenant.
* @return the ResourceManager instance with entry points that work in a subscription
*/
ResourceManager withDefaultSubscription();
@@ -150,7 +146,6 @@ public interface Authenticated {
* The implementation for Authenticated interface.
*/
private static final class AuthenticatedImpl implements Authenticated {
- private final ClientLogger logger = new ClientLogger(AuthenticatedImpl.class);
private HttpPipeline httpPipeline;
private AzureProfile profile;
private SdkContext sdkContext;
@@ -198,25 +193,7 @@ public ResourceManager withSubscription(String subscriptionId) {
@Override
public ResourceManager withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- List subscriptions = new ArrayList<>();
- this.subscriptions().list().forEach(subscription -> {
- subscriptions.add(subscription);
- });
- if (subscriptions.size() == 0) {
- throw logger.logExceptionAsError(
- new RuntimeException("Please create a subscription before you start resource management. "
- + "To learn more, see: https://azure.microsoft.com/en-us/free/."));
- } else if (subscriptions.size() > 1) {
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("More than one subscription found in your tenant. "
- + "Please specify which one below is desired for resource management.");
- subscriptions.forEach(subscription -> {
- stringBuilder.append("\n" + subscription.displayName() + " : " + subscription.subscriptionId());
- });
- throw logger.logExceptionAsError(new RuntimeException(stringBuilder.toString()));
- } else {
- profile.withSubscriptionId(subscriptions.get(0).subscriptionId());
- }
+ profile.withSubscriptionId(Utils.subscriptionId(this.subscriptions().list()));
}
return new ResourceManager(httpPipeline, profile, sdkContext);
}
From e94f2f550586ed04f70c496411da916c6437b4a9 Mon Sep 17 00:00:00 2001
From: xccc-msft
Date: Wed, 20 May 2020 12:53:24 +0800
Subject: [PATCH 5/5] update description
---
.../azure/src/main/java/com/azure/management/Azure.java | 2 +-
.../azure/management/resources/fluentcore/utils/Utils.java | 5 ++---
.../management/resources/implementation/ResourceManager.java | 2 +-
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/sdk/management/azure/src/main/java/com/azure/management/Azure.java b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
index db109977f73d..764b125b95c3 100644
--- a/sdk/management/azure/src/main/java/com/azure/management/Azure.java
+++ b/sdk/management/azure/src/main/java/com/azure/management/Azure.java
@@ -327,7 +327,7 @@ public Azure withSubscription(String subscriptionId) {
@Override
public Azure withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- profile.withSubscriptionId(Utils.subscriptionId(this.subscriptions().list()));
+ profile.withSubscriptionId(Utils.defaultSubscription(this.subscriptions().list()));
}
return new Azure(httpPipeline, profile, this);
}
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
index ef17831a21d8..f10641592306 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/fluentcore/utils/Utils.java
@@ -187,13 +187,13 @@ private interface FileService {
}
/**
- * Gets the only subscription in the tenant if applicable.
+ * Gets the only subscription as the default one in the tenant if applicable.
*
* @param subscriptions the list of subscriptions
* @throws IllegalStateException when no subscription or more than one subscription found
* @return the only subscription existing in the tenant
*/
- public static String subscriptionId(PagedIterable subscriptions) {
+ public static String defaultSubscription(PagedIterable subscriptions) {
List subscriptionList = new ArrayList<>();
subscriptions.forEach(subscription -> {
subscriptionList.add(subscription);
@@ -203,7 +203,6 @@ public static String subscriptionId(PagedIterable subscriptions) {
new IllegalStateException("Please create a subscription before you start resource management. "
+ "To learn more, see: https://azure.microsoft.com/en-us/free/."));
} else if (subscriptionList.size() > 1) {
- ClientLogger logger = new ClientLogger(Utils.class);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("More than one subscription found in your tenant. "
+ "Please specify which one below is desired for resource management.");
diff --git a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
index 031c3e032af5..33d5a7ad5a61 100644
--- a/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
+++ b/sdk/resources/mgmt/src/main/java/com/azure/management/resources/implementation/ResourceManager.java
@@ -193,7 +193,7 @@ public ResourceManager withSubscription(String subscriptionId) {
@Override
public ResourceManager withDefaultSubscription() {
if (profile.subscriptionId() == null) {
- profile.withSubscriptionId(Utils.subscriptionId(this.subscriptions().list()));
+ profile.withSubscriptionId(Utils.defaultSubscription(this.subscriptions().list()));
}
return new ResourceManager(httpPipeline, profile, sdkContext);
}