We recommend using Azure Native.
Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi
azure.core.getSubscriptions
Explore with Pulumi AI
Use this data source to access information about all the Subscriptions currently available.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const available = azure.core.getSubscriptions({});
export const availableSubscriptions = available.then(available => available.subscriptions);
export const firstAvailableSubscriptionDisplayName = available.then(available => available.subscriptions?.[0]?.displayName);
import pulumi
import pulumi_azure as azure
available = azure.core.get_subscriptions()
pulumi.export("availableSubscriptions", available.subscriptions)
pulumi.export("firstAvailableSubscriptionDisplayName", available.subscriptions[0].display_name)
package main
import (
	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		available, err := core.GetSubscriptions(ctx, &core.GetSubscriptionsArgs{}, nil)
		if err != nil {
			return err
		}
		ctx.Export("availableSubscriptions", available.Subscriptions)
		ctx.Export("firstAvailableSubscriptionDisplayName", available.Subscriptions[0].DisplayName)
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() => 
{
    var available = Azure.Core.GetSubscriptions.Invoke();
    return new Dictionary<string, object?>
    {
        ["availableSubscriptions"] = available.Apply(getSubscriptionsResult => getSubscriptionsResult.Subscriptions),
        ["firstAvailableSubscriptionDisplayName"] = available.Apply(getSubscriptionsResult => getSubscriptionsResult.Subscriptions[0]?.DisplayName),
    };
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var available = CoreFunctions.getSubscriptions();
        ctx.export("availableSubscriptions", available.applyValue(getSubscriptionsResult -> getSubscriptionsResult.subscriptions()));
        ctx.export("firstAvailableSubscriptionDisplayName", available.applyValue(getSubscriptionsResult -> getSubscriptionsResult.subscriptions()[0].displayName()));
    }
}
variables:
  available:
    fn::invoke:
      function: azure:core:getSubscriptions
      arguments: {}
outputs:
  availableSubscriptions: ${available.subscriptions}
  firstAvailableSubscriptionDisplayName: ${available.subscriptions[0].displayName}
Using getSubscriptions
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getSubscriptions(args: GetSubscriptionsArgs, opts?: InvokeOptions): Promise<GetSubscriptionsResult>
function getSubscriptionsOutput(args: GetSubscriptionsOutputArgs, opts?: InvokeOptions): Output<GetSubscriptionsResult>def get_subscriptions(display_name_contains: Optional[str] = None,
                      display_name_prefix: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> GetSubscriptionsResult
def get_subscriptions_output(display_name_contains: Optional[pulumi.Input[str]] = None,
                      display_name_prefix: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetSubscriptionsResult]func GetSubscriptions(ctx *Context, args *GetSubscriptionsArgs, opts ...InvokeOption) (*GetSubscriptionsResult, error)
func GetSubscriptionsOutput(ctx *Context, args *GetSubscriptionsOutputArgs, opts ...InvokeOption) GetSubscriptionsResultOutput> Note: This function is named GetSubscriptions in the Go SDK.
public static class GetSubscriptions 
{
    public static Task<GetSubscriptionsResult> InvokeAsync(GetSubscriptionsArgs args, InvokeOptions? opts = null)
    public static Output<GetSubscriptionsResult> Invoke(GetSubscriptionsInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSubscriptionsResult> getSubscriptions(GetSubscriptionsArgs args, InvokeOptions options)
public static Output<GetSubscriptionsResult> getSubscriptions(GetSubscriptionsArgs args, InvokeOptions options)
fn::invoke:
  function: azure:core/getSubscriptions:getSubscriptions
  arguments:
    # arguments dictionaryThe following arguments are supported:
- DisplayName stringContains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- DisplayName stringPrefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
- DisplayName stringContains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- DisplayName stringPrefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
- displayName StringContains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- displayName StringPrefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
- displayName stringContains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- displayName stringPrefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
- display_name_ strcontains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- display_name_ strprefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
- displayName StringContains 
- A case-insensitive value which must be contained within the display_namefield, used to filter the results
- displayName StringPrefix 
- A case-insensitive prefix which can be used to filter on the display_namefield
getSubscriptions Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Subscriptions
List<GetSubscriptions Subscription> 
- One or more subscriptionblocks as defined below.
- DisplayName stringContains 
- DisplayName stringPrefix 
- Id string
- The provider-assigned unique ID for this managed resource.
- Subscriptions
[]GetSubscriptions Subscription 
- One or more subscriptionblocks as defined below.
- DisplayName stringContains 
- DisplayName stringPrefix 
- id String
- The provider-assigned unique ID for this managed resource.
- subscriptions
List<GetSubscriptions Subscription> 
- One or more subscriptionblocks as defined below.
- displayName StringContains 
- displayName StringPrefix 
- id string
- The provider-assigned unique ID for this managed resource.
- subscriptions
GetSubscriptions Subscription[] 
- One or more subscriptionblocks as defined below.
- displayName stringContains 
- displayName stringPrefix 
- id str
- The provider-assigned unique ID for this managed resource.
- subscriptions
Sequence[GetSubscriptions Subscription] 
- One or more subscriptionblocks as defined below.
- display_name_ strcontains 
- display_name_ strprefix 
- id String
- The provider-assigned unique ID for this managed resource.
- subscriptions List<Property Map>
- One or more subscriptionblocks as defined below.
- displayName StringContains 
- displayName StringPrefix 
Supporting Types
GetSubscriptionsSubscription  
- DisplayName string
- The subscription display name.
- Id string
- The ID of this subscription.
- LocationPlacement stringId 
- The subscription location placement ID.
- QuotaId string
- The subscription quota ID.
- SpendingLimit string
- The subscription spending limit.
- State string
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- SubscriptionId string
- The subscription GUID.
- Dictionary<string, string>
- A mapping of tags assigned to the resource.
- TenantId string
- The subscription tenant ID.
- DisplayName string
- The subscription display name.
- Id string
- The ID of this subscription.
- LocationPlacement stringId 
- The subscription location placement ID.
- QuotaId string
- The subscription quota ID.
- SpendingLimit string
- The subscription spending limit.
- State string
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- SubscriptionId string
- The subscription GUID.
- map[string]string
- A mapping of tags assigned to the resource.
- TenantId string
- The subscription tenant ID.
- displayName String
- The subscription display name.
- id String
- The ID of this subscription.
- locationPlacement StringId 
- The subscription location placement ID.
- quotaId String
- The subscription quota ID.
- spendingLimit String
- The subscription spending limit.
- state String
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- subscriptionId String
- The subscription GUID.
- Map<String,String>
- A mapping of tags assigned to the resource.
- tenantId String
- The subscription tenant ID.
- displayName string
- The subscription display name.
- id string
- The ID of this subscription.
- locationPlacement stringId 
- The subscription location placement ID.
- quotaId string
- The subscription quota ID.
- spendingLimit string
- The subscription spending limit.
- state string
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- subscriptionId string
- The subscription GUID.
- {[key: string]: string}
- A mapping of tags assigned to the resource.
- tenantId string
- The subscription tenant ID.
- display_name str
- The subscription display name.
- id str
- The ID of this subscription.
- location_placement_ strid 
- The subscription location placement ID.
- quota_id str
- The subscription quota ID.
- spending_limit str
- The subscription spending limit.
- state str
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- subscription_id str
- The subscription GUID.
- Mapping[str, str]
- A mapping of tags assigned to the resource.
- tenant_id str
- The subscription tenant ID.
- displayName String
- The subscription display name.
- id String
- The ID of this subscription.
- locationPlacement StringId 
- The subscription location placement ID.
- quotaId String
- The subscription quota ID.
- spendingLimit String
- The subscription spending limit.
- state String
- The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted.
- subscriptionId String
- The subscription GUID.
- Map<String>
- A mapping of tags assigned to the resource.
- tenantId String
- The subscription tenant ID.
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the azurermTerraform Provider.