or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

index.mdpolicy-governance.mdresource-management.mdresource-protection.mdsubscription-features.md

subscription-features.mddocs/

0

# Subscription and Features

1

2

Subscription operations and Azure feature management including feature registration, tenant-level operations, and subscription metadata management. These clients provide capabilities for managing Azure subscriptions and controlling access to preview features.

3

4

## Capabilities

5

6

### Subscription Management

7

8

Access subscription information, list available subscriptions, and manage subscription-level metadata.

9

10

```python { .api }

11

class SubscriptionsOperations:

12

def list_locations(

13

self,

14

subscription_id: str,

15

**kwargs

16

) -> Iterable[Location]:

17

"""

18

List available locations for a subscription.

19

20

Args:

21

subscription_id (str): Subscription ID

22

23

Returns:

24

Iterable[Location]: Iterator of available locations

25

"""

26

27

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

28

"""

29

Get subscription details.

30

31

Args:

32

subscription_id (str): Subscription ID

33

34

Returns:

35

Subscription: Subscription information

36

"""

37

38

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

39

"""

40

List all subscriptions for the authenticated user.

41

42

Returns:

43

Iterable[Subscription]: Iterator of subscriptions

44

"""

45

46

def check_zone_peers(

47

self,

48

subscription_id: str,

49

parameters: CheckZonePeersRequest,

50

**kwargs

51

) -> CheckZonePeersResult:

52

"""

53

Check availability zone peers for a subscription.

54

55

Args:

56

subscription_id (str): Subscription ID

57

parameters (CheckZonePeersRequest): Zone peer check parameters

58

59

Returns:

60

CheckZonePeersResult: Zone peer information

61

"""

62

```

63

64

### Tenant Operations

65

66

Manage tenant-level operations and access tenant information.

67

68

```python { .api }

69

class TenantsOperations:

70

def list(self, **kwargs) -> Iterable[TenantIdDescription]:

71

"""

72

List tenants for the authenticated user.

73

74

Returns:

75

Iterable[TenantIdDescription]: Iterator of tenant information

76

"""

77

```

78

79

### Feature Registration

80

81

Register and manage Azure preview features for subscriptions.

82

83

```python { .api }

84

class FeaturesOperations:

85

def list(

86

self,

87

resource_provider_namespace: str,

88

**kwargs

89

) -> Iterable[FeatureResult]:

90

"""

91

List features for a resource provider.

92

93

Args:

94

resource_provider_namespace (str): Resource provider namespace

95

96

Returns:

97

Iterable[FeatureResult]: Iterator of features

98

"""

99

100

def list_all(self, **kwargs) -> Iterable[FeatureResult]:

101

"""

102

List all features across all resource providers.

103

104

Returns:

105

Iterable[FeatureResult]: Iterator of all features

106

"""

107

108

def get(

109

self,

110

resource_provider_namespace: str,

111

feature_name: str,

112

**kwargs

113

) -> FeatureResult:

114

"""

115

Get feature information.

116

117

Args:

118

resource_provider_namespace (str): Resource provider namespace

119

feature_name (str): Feature name

120

121

Returns:

122

FeatureResult: Feature details

123

"""

124

125

def register(

126

self,

127

resource_provider_namespace: str,

128

feature_name: str,

129

**kwargs

130

) -> FeatureResult:

131

"""

132

Register a feature for the subscription.

133

134

Args:

135

resource_provider_namespace (str): Resource provider namespace

136

feature_name (str): Feature name

137

138

Returns:

139

FeatureResult: Registration result

140

"""

141

142

def unregister(

143

self,

144

resource_provider_namespace: str,

145

feature_name: str,

146

**kwargs

147

) -> FeatureResult:

148

"""

149

Unregister a feature for the subscription.

150

151

Returns:

152

FeatureResult: Unregistration result

153

"""

154

```

155

156

### Subscription Feature Registrations

157

158

Manage subscription-level feature registrations with enhanced capabilities.

159

160

```python { .api }

161

class SubscriptionFeatureRegistrationsOperations:

162

def get(

163

self,

164

provider_namespace: str,

165

feature_name: str,

166

**kwargs

167

) -> SubscriptionFeatureRegistration:

168

"""

169

Get subscription feature registration.

170

171

Args:

172

provider_namespace (str): Provider namespace

173

feature_name (str): Feature name

174

175

Returns:

176

SubscriptionFeatureRegistration: Feature registration details

177

"""

178

179

def create_or_update(

180

self,

181

provider_namespace: str,

182

feature_name: str,

183

**kwargs

184

) -> SubscriptionFeatureRegistration:

185

"""

186

Create or update subscription feature registration.

187

188

Args:

189

provider_namespace (str): Provider namespace

190

feature_name (str): Feature name

191

192

Returns:

193

SubscriptionFeatureRegistration: Registration result

194

"""

195

196

def delete(

197

self,

198

provider_namespace: str,

199

feature_name: str,

200

**kwargs

201

) -> None:

202

"""Delete subscription feature registration."""

203

204

def list_all_by_subscription(

205

self,

206

**kwargs

207

) -> Iterable[SubscriptionFeatureRegistration]:

208

"""

209

List all feature registrations for the subscription.

210

211

Returns:

212

Iterable[SubscriptionFeatureRegistration]: Iterator of registrations

213

"""

214

215

def list_by_subscription(

216

self,

217

provider_namespace: str,

218

**kwargs

219

) -> Iterable[SubscriptionFeatureRegistration]:

220

"""

221

List feature registrations for a provider.

222

223

Args:

224

provider_namespace (str): Provider namespace

225

226

Returns:

227

Iterable[SubscriptionFeatureRegistration]: Iterator of registrations

228

"""

229

```

230

231

## Model Classes

232

233

```python { .api }

234

class Subscription:

235

"""Subscription information."""

236

id: str

237

subscription_id: str

238

tenant_id: str

239

display_name: str

240

state: SubscriptionState

241

subscription_policies: SubscriptionPolicies

242

authorization_source: str

243

managed_by_tenants: List[ManagedByTenant]

244

tags: Dict[str, str]

245

246

class SubscriptionPolicies:

247

"""Subscription policies."""

248

location_placement_id: str

249

quota_id: str

250

spending_limit: SpendingLimit

251

252

class Location:

253

"""Azure location information."""

254

id: str

255

subscription_id: str

256

name: str

257

type: str

258

display_name: str

259

latitude: str

260

longitude: str

261

regional_display_name: str

262

metadata: LocationMetadata

263

availability_zone_mappings: List[AvailabilityZoneMapping]

264

265

class TenantIdDescription:

266

"""Tenant information."""

267

id: str

268

tenant_id: str

269

display_name: str

270

domains: List[str]

271

country: str

272

country_code: str

273

tenant_category: TenantCategory

274

default_domain: str

275

tenant_type: str

276

277

class FeatureResult:

278

"""Feature information."""

279

name: str

280

properties: FeatureProperties

281

id: str

282

type: str

283

284

class FeatureProperties:

285

"""Feature properties."""

286

state: str

287

display_name: str

288

description: str

289

290

class SubscriptionFeatureRegistration:

291

"""Subscription feature registration."""

292

id: str

293

name: str

294

type: str

295

properties: SubscriptionFeatureRegistrationProperties

296

297

class SubscriptionFeatureRegistrationProperties:

298

"""Subscription feature registration properties."""

299

tenant_id: str

300

subscription_id: str

301

feature_name: str

302

display_name: str

303

provider_namespace: str

304

state: SubscriptionFeatureRegistrationState

305

authorization_profile: AuthorizationProfile

306

metadata: Dict[str, str]

307

should_feature_display_in_portal: bool

308

description: str

309

documentation_link: str

310

approval_type: SubscriptionFeatureRegistrationApprovalType

311

312

class AuthorizationProfile:

313

"""Authorization profile for feature registration."""

314

requested_time: datetime

315

requester: str

316

requester_object_id: str

317

approved_time: datetime

318

approver: str

319

approval_type: SubscriptionFeatureRegistrationApprovalType

320

321

class CheckZonePeersRequest:

322

"""Zone peers check request."""

323

location: str

324

subscription_ids: List[str]

325

326

class CheckZonePeersResult:

327

"""Zone peers check result."""

328

subscription_id: str

329

location: str

330

availability_zone_peers: List[AvailabilityZonePeers]

331

332

class AvailabilityZonePeers:

333

"""Availability zone peer information."""

334

availability_zone: str

335

peers: List[Peer]

336

```

337

338

## Enums

339

340

```python { .api }

341

class SubscriptionState(str, Enum):

342

"""Subscription states."""

343

ENABLED = "Enabled"

344

WARNED = "Warned"

345

PAST_DUE = "PastDue"

346

DISABLED = "Disabled"

347

DELETED = "Deleted"

348

349

class SpendingLimit(str, Enum):

350

"""Spending limit states."""

351

ON = "On"

352

OFF = "Off"

353

CURRENT_PERIOD_OFF = "CurrentPeriodOff"

354

355

class TenantCategory(str, Enum):

356

"""Tenant categories."""

357

HOME = "Home"

358

PROJECTED_BY = "ProjectedBy"

359

MANAGED_BY = "ManagedBy"

360

361

class SubscriptionFeatureRegistrationState(str, Enum):

362

"""Feature registration states."""

363

NOT_SPECIFIED = "NotSpecified"

364

NOT_REGISTERED = "NotRegistered"

365

PENDING = "Pending"

366

REGISTERING = "Registering"

367

REGISTERED = "Registered"

368

UNREGISTERING = "Unregistering"

369

UNREGISTERED = "Unregistered"

370

371

class SubscriptionFeatureRegistrationApprovalType(str, Enum):

372

"""Feature registration approval types."""

373

NOT_SPECIFIED = "NotSpecified"

374

REQUIRED = "Required"

375

AUTO_APPROVAL = "AutoApproval"

376

```

377

378

## Usage Examples

379

380

**Managing Subscriptions and Locations:**

381

382

```python

383

from azure.identity import DefaultAzureCredential

384

from azure.mgmt.resource import SubscriptionClient

385

386

# Create subscription client (no subscription_id needed)

387

credential = DefaultAzureCredential()

388

sub_client = SubscriptionClient(credential=credential)

389

390

# List all accessible subscriptions

391

print("Available subscriptions:")

392

for subscription in sub_client.subscriptions.list():

393

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

394

395

# Get details for a specific subscription

396

subscription = sub_client.subscriptions.get("your-subscription-id")

397

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

398

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

399

print(f"Tenant ID: {subscription.tenant_id}")

400

401

# List available locations

402

locations = sub_client.subscriptions.list_locations("your-subscription-id")

403

for location in locations:

404

print(f"Location: {location.display_name} ({location.name})")

405

```

406

407

**Managing Azure Preview Features:**

408

409

```python

410

from azure.identity import DefaultAzureCredential

411

from azure.mgmt.resource import FeatureClient

412

413

credential = DefaultAzureCredential()

414

feature_client = FeatureClient(

415

credential=credential,

416

subscription_id="your-subscription-id"

417

)

418

419

# List all features for a resource provider

420

features = feature_client.features.list("Microsoft.Compute")

421

for feature in features:

422

print(f"Feature: {feature.name}")

423

print(f" State: {feature.properties.state}")

424

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

425

426

# Register a preview feature

427

registration = feature_client.features.register(

428

resource_provider_namespace="Microsoft.Compute",

429

feature_name="SomePreviewFeature"

430

)

431

print(f"Registration state: {registration.properties.state}")

432

433

# Check feature registration status

434

feature = feature_client.features.get(

435

resource_provider_namespace="Microsoft.Compute",

436

feature_name="SomePreviewFeature"

437

)

438

print(f"Current state: {feature.properties.state}")

439

```

440

441

**Working with Subscription Feature Registrations:**

442

443

```python

444

# List all feature registrations for the subscription

445

registrations = feature_client.subscription_feature_registrations.list_all_by_subscription()

446

for registration in registrations:

447

print(f"Feature: {registration.properties.feature_name}")

448

print(f" Provider: {registration.properties.provider_namespace}")

449

print(f" State: {registration.properties.state}")

450

print(f" Approval Type: {registration.properties.approval_type}")

451

452

# Create a subscription feature registration

453

registration = feature_client.subscription_feature_registrations.create_or_update(

454

provider_namespace="Microsoft.Storage",

455

feature_name="AllowBlobPublicAccess"

456

)

457

```