or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

index.mdpolicy-management.mdservice-operations.mdsubscription-creation.mdsubscription-lifecycle.mdsubscription-management.mdtenant-operations.md

subscription-management.mddocs/

0

# Subscription Management

1

2

Core subscription operations including listing, retrieving details, and accessing subscription location information. These operations form the foundation of subscription management workflows and provide essential functionality for discovering and working with Azure subscriptions.

3

4

## Capabilities

5

6

### List Subscriptions

7

8

Lists all subscriptions accessible to the authenticated user across all tenants.

9

10

```python { .api }

11

def list(**kwargs) -> Iterable[Subscription]:

12

"""

13

Gets all subscriptions for a tenant.

14

15

Returns:

16

Iterable[Subscription]: Paginated list of accessible subscriptions

17

"""

18

```

19

20

**Usage Example:**

21

22

```python

23

from azure.identity import DefaultAzureCredential

24

from azure.mgmt.subscription import SubscriptionClient

25

26

credential = DefaultAzureCredential()

27

client = SubscriptionClient(credential)

28

29

# List all accessible subscriptions

30

subscriptions = list(client.subscriptions.list())

31

for subscription in subscriptions:

32

print(f"ID: {subscription.subscription_id}")

33

print(f"Name: {subscription.display_name}")

34

print(f"State: {subscription.state}")

35

print(f"ID: {subscription.id}")

36

print("---")

37

```

38

39

**Async Usage Example:**

40

41

```python

42

import asyncio

43

from azure.identity.aio import DefaultAzureCredential

44

from azure.mgmt.subscription.aio import SubscriptionClient

45

46

async def list_subscriptions_async():

47

credential = DefaultAzureCredential()

48

async with SubscriptionClient(credential) as client:

49

subscriptions = []

50

async for subscription in client.subscriptions.list():

51

subscriptions.append(subscription)

52

print(f"ID: {subscription.subscription_id}")

53

print(f"Name: {subscription.display_name}")

54

print(f"State: {subscription.state}")

55

print("---")

56

return subscriptions

57

58

# Run async operation

59

subscriptions = asyncio.run(list_subscriptions_async())

60

```

61

62

### Get Subscription Details

63

64

Retrieves detailed information about a specific subscription by its ID.

65

66

```python { .api }

67

def get(subscription_id: str, **kwargs) -> Subscription:

68

"""

69

Gets details about a specified subscription.

70

71

Args:

72

subscription_id (str): The subscription ID

73

74

Returns:

75

Subscription: Complete subscription details

76

"""

77

```

78

79

**Usage Example:**

80

81

```python

82

subscription_id = "12345678-1234-1234-1234-123456789012"

83

subscription = client.subscriptions.get(subscription_id)

84

85

print(f"Display Name: {subscription.display_name}")

86

print(f"State: {subscription.state}")

87

print(f"Authorization Source: {subscription.authorization_source}")

88

89

# Access subscription policies

90

policies = subscription.subscription_policies

91

if policies:

92

print(f"Location Placement ID: {policies.location_placement_id}")

93

print(f"Quota ID: {policies.quota_id}")

94

print(f"Spending Limit: {policies.spending_limit}")

95

```

96

97

### List Subscription Locations

98

99

Gets all available geo-locations for a specific subscription, showing where resources can be deployed.

100

101

```python { .api }

102

def list_locations(subscription_id: str, **kwargs) -> Iterable[Location]:

103

"""

104

Gets all available geo-locations for a subscription.

105

106

Args:

107

subscription_id (str): The subscription ID

108

109

Returns:

110

Iterable[Location]: Paginated list of available locations

111

"""

112

```

113

114

**Usage Example:**

115

116

```python

117

subscription_id = "12345678-1234-1234-1234-123456789012"

118

locations = list(client.subscriptions.list_locations(subscription_id))

119

120

print(f"Available locations for subscription {subscription_id}:")

121

for location in locations:

122

print(f"Name: {location.name}")

123

print(f"Display Name: {location.display_name}")

124

print(f"Latitude: {location.latitude}")

125

print(f"Longitude: {location.longitude}")

126

print("---")

127

```

128

129

## Error Handling

130

131

Common errors when working with subscription operations:

132

133

```python

134

from azure.core.exceptions import HttpResponseError

135

136

try:

137

subscription = client.subscriptions.get("invalid-subscription-id")

138

except HttpResponseError as e:

139

if e.status_code == 404:

140

print("Subscription not found or not accessible")

141

elif e.status_code == 403:

142

print("Access denied to subscription")

143

else:

144

print(f"Error: {e.status_code} - {e.message}")

145

```

146

147

## Types

148

149

```python { .api }

150

class Subscription:

151

"""Azure subscription information."""

152

id: str # The fully qualified ID for the subscription

153

subscription_id: str # The subscription ID

154

display_name: str # The subscription display name

155

state: Union[str, SubscriptionState] # Current subscription state

156

subscription_policies: SubscriptionPolicies # Associated policies

157

authorization_source: str # Authorization method used

158

159

class Location:

160

"""Azure geographic location/region."""

161

id: str # The fully qualified ID of the location

162

subscription_id: str # The subscription ID

163

name: str # The location name

164

display_name: str # The display name of the location

165

latitude: str # The latitude of the location

166

longitude: str # The longitude of the location

167

168

class SubscriptionPolicies:

169

"""Subscription-level policies and settings."""

170

location_placement_id: str # Default location for resources

171

quota_id: str # Quota profile identifier

172

spending_limit: Union[str, SpendingLimit] # Spending limit status

173

```

174

175

## Enums

176

177

```python { .api }

178

class SubscriptionState(str, Enum):

179

"""The subscription state."""

180

ENABLED = "Enabled"

181

WARNED = "Warned"

182

PAST_DUE = "PastDue"

183

DISABLED = "Disabled"

184

DELETED = "Deleted"

185

186

class SpendingLimit(str, Enum):

187

"""The subscription spending limit."""

188

ON = "On"

189

OFF = "Off"

190

CURRENT_PERIOD_OFF = "CurrentPeriodOff"

191

```