or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

tessl/pypi-azure-mgmt-batch

Microsoft Azure Batch Management Client Library for Python

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/azure-mgmt-batch@18.0.x

To install, run

npx @tessl/cli install tessl/pypi-azure-mgmt-batch@18.0.0

0

# Azure Batch Management Client

1

2

A comprehensive Python library for managing Azure Batch resources through the Azure Resource Manager APIs. This client library provides programmatic access to create, configure, monitor, and manage Azure Batch accounts, pools, applications, certificates, and related resources.

3

4

## Package Information

5

6

- **Package Name**: azure-mgmt-batch

7

- **Language**: Python

8

- **Installation**: `pip install azure-mgmt-batch azure-identity`

9

10

## Core Imports

11

12

```python

13

from azure.mgmt.batch import BatchManagementClient

14

from azure.identity import DefaultAzureCredential

15

from typing import Union, Optional, IO

16

```

17

18

## Basic Usage

19

20

```python

21

import os

22

from azure.identity import DefaultAzureCredential

23

from azure.mgmt.batch import BatchManagementClient

24

25

# Set up authentication

26

credential = DefaultAzureCredential()

27

subscription_id = os.getenv("AZURE_SUBSCRIPTION_ID")

28

29

# Create the client

30

client = BatchManagementClient(credential=credential, subscription_id=subscription_id)

31

32

# List all Batch accounts in a resource group

33

accounts = client.batch_account.list_by_resource_group("my-resource-group")

34

for account in accounts:

35

print(f"Account: {account.name}, Location: {account.location}")

36

37

# Get details of a specific Batch account

38

account = client.batch_account.get("my-resource-group", "my-batch-account")

39

print(f"Account ID: {account.id}")

40

print(f"Provisioning State: {account.provisioning_state}")

41

42

# Create a new application

43

app_params = {

44

"display_name": "My Application",

45

"allow_updates": True

46

}

47

application = client.application.create(

48

"my-resource-group",

49

"my-batch-account",

50

"my-app",

51

app_params

52

)

53

```

54

55

## Authentication

56

57

Authentication requires Azure Active Directory credentials. The recommended approach uses environment variables:

58

59

- `AZURE_CLIENT_ID`: Azure client ID

60

- `AZURE_TENANT_ID`: Azure tenant ID

61

- `AZURE_CLIENT_SECRET`: Azure client secret

62

- `AZURE_SUBSCRIPTION_ID`: Azure subscription ID

63

64

## Architecture

65

66

The BatchManagementClient provides access to Azure Batch management operations through specialized operation classes:

67

68

- **Batch Accounts**: Core account management, key management, networking

69

- **Pools**: Compute pool creation, scaling, configuration, monitoring

70

- **Applications**: Application deployment and version management

71

- **Certificates**: Security certificate management and deployment

72

- **Networking**: Private endpoints, network security perimeters

73

- **Location Services**: Quota management and VM SKU availability

74

75

## Capabilities

76

77

### Batch Account Management

78

79

Complete lifecycle management of Azure Batch accounts including creation, configuration, key management, and network security settings.

80

81

```python { .api }

82

def begin_create(resource_group_name: str, account_name: str, parameters: Union[BatchAccountCreateParameters, IO[bytes]], **kwargs) -> LROPoller[BatchAccount]

83

def get(resource_group_name: str, account_name: str, **kwargs) -> BatchAccount

84

def update(resource_group_name: str, account_name: str, parameters: Union[BatchAccountUpdateParameters, IO[bytes]], **kwargs) -> BatchAccount

85

def begin_delete(resource_group_name: str, account_name: str, **kwargs) -> LROPoller[None]

86

def list(subscription_id: str, **kwargs) -> ItemPaged[BatchAccount]

87

def list_by_resource_group(resource_group_name: str, **kwargs) -> ItemPaged[BatchAccount]

88

def get_keys(resource_group_name: str, account_name: str, **kwargs) -> BatchAccountKeys

89

def regenerate_key(resource_group_name: str, account_name: str, parameters: Union[BatchAccountRegenerateKeyParameters, IO[bytes]], **kwargs) -> BatchAccountKeys

90

def synchronize_auto_storage_keys(resource_group_name: str, account_name: str, **kwargs) -> None

91

def list_detectors(resource_group_name: str, account_name: str, **kwargs) -> ItemPaged[DetectorResponse]

92

def get_detector(resource_group_name: str, account_name: str, detector_id: str, **kwargs) -> DetectorResponse

93

def list_outbound_network_dependencies_endpoints(resource_group_name: str, account_name: str, **kwargs) -> ItemPaged[OutboundEnvironmentEndpoint]

94

```

95

96

[Batch Account Management](./batch-accounts.md)

97

98

### Pool Management

99

100

Creation and management of compute pools for batch workloads, including virtual machine configuration, scaling policies, and network settings.

101

102

```python { .api }

103

def create(resource_group_name: str, account_name: str, pool_name: str, parameters: Union[Pool, IO[bytes]], if_match: Optional[str] = None, if_none_match: Optional[str] = None, **kwargs) -> Pool

104

def get(resource_group_name: str, account_name: str, pool_name: str, **kwargs) -> Pool

105

def update(resource_group_name: str, account_name: str, pool_name: str, parameters: Union[Pool, IO[bytes]], if_match: Optional[str] = None, **kwargs) -> Pool

106

def begin_delete(resource_group_name: str, account_name: str, pool_name: str, **kwargs) -> LROPoller[None]

107

def list_by_batch_account(resource_group_name: str, account_name: str, maxresults: Optional[int] = None, select: Optional[str] = None, filter: Optional[str] = None, **kwargs) -> ItemPaged[Pool]

108

def disable_auto_scale(resource_group_name: str, account_name: str, pool_name: str, **kwargs) -> Pool

109

def stop_resize(resource_group_name: str, account_name: str, pool_name: str, **kwargs) -> Pool

110

```

111

112

[Pool Management](./pools.md)

113

114

### Application Management

115

116

Deployment and version management for applications that run on Batch compute nodes, including application packages.

117

118

```python { .api }

119

# Application Operations

120

def create(resource_group_name: str, account_name: str, application_name: str, parameters: Optional[Union[Application, IO[bytes]]] = None, **kwargs) -> Application

121

def get(resource_group_name: str, account_name: str, application_name: str, **kwargs) -> Application

122

def update(resource_group_name: str, account_name: str, application_name: str, parameters: Union[Application, IO[bytes]], **kwargs) -> Application

123

def delete(resource_group_name: str, account_name: str, application_name: str, **kwargs) -> None

124

def list(resource_group_name: str, account_name: str, maxresults: Optional[int] = None, **kwargs) -> ItemPaged[Application]

125

126

# Application Package Operations

127

def create_package(resource_group_name: str, account_name: str, application_name: str, version_name: str, parameters: Optional[Union[ApplicationPackage, IO[bytes]]] = None, **kwargs) -> ApplicationPackage

128

def activate_package(resource_group_name: str, account_name: str, application_name: str, version_name: str, parameters: Union[ActivateApplicationPackageParameters, IO[bytes]], **kwargs) -> ApplicationPackage

129

def get_package(resource_group_name: str, account_name: str, application_name: str, version_name: str, **kwargs) -> ApplicationPackage

130

def delete_package(resource_group_name: str, account_name: str, application_name: str, version_name: str, **kwargs) -> None

131

def list_packages(resource_group_name: str, account_name: str, application_name: str, maxresults: Optional[int] = None, **kwargs) -> ItemPaged[ApplicationPackage]

132

```

133

134

[Application Management](./applications.md)

135

136

### Certificate Management

137

138

Management of security certificates for secure communication and authentication in Batch environments.

139

140

```python { .api }

141

def list_by_batch_account(resource_group_name: str, account_name: str, maxresults: Optional[int] = None, select: Optional[str] = None, filter: Optional[str] = None, **kwargs) -> ItemPaged[Certificate]

142

def create(resource_group_name: str, account_name: str, certificate_name: str, parameters: Union[CertificateCreateOrUpdateParameters, IO[bytes]], if_match: Optional[str] = None, if_none_match: Optional[str] = None, **kwargs) -> Certificate

143

def get(resource_group_name: str, account_name: str, certificate_name: str, **kwargs) -> Certificate

144

def update(resource_group_name: str, account_name: str, certificate_name: str, parameters: Union[CertificateCreateOrUpdateParameters, IO[bytes]], if_match: Optional[str] = None, **kwargs) -> Certificate

145

def begin_delete(resource_group_name: str, account_name: str, certificate_name: str, **kwargs) -> LROPoller[None]

146

def cancel_deletion(resource_group_name: str, account_name: str, certificate_name: str, **kwargs) -> Certificate

147

```

148

149

[Certificate Management](./certificates.md)

150

151

### Location and Quota Management

152

153

Regional quota management and virtual machine SKU availability queries.

154

155

```python { .api }

156

def get_quotas(location_name: str, **kwargs) -> BatchLocationQuota

157

def list_supported_virtual_machine_skus(location_name: str, maxresults: Optional[int] = None, filter: Optional[str] = None, **kwargs) -> ItemPaged[SupportedSku]

158

def check_name_availability(location_name: str, parameters: Union[CheckNameAvailabilityParameters, IO[bytes]], **kwargs) -> CheckNameAvailabilityResult

159

```

160

161

[Location Services](./location-services.md)

162

163

### Network Security

164

165

Private endpoint connections and network security perimeter configuration for secure network access.

166

167

```python { .api }

168

def list_by_batch_account(resource_group_name: str, account_name: str, maxresults: Optional[int] = None, **kwargs) -> ItemPaged[PrivateEndpointConnection]

169

def get(resource_group_name: str, account_name: str, private_endpoint_connection_name: str, **kwargs) -> PrivateEndpointConnection

170

def begin_update(resource_group_name: str, account_name: str, private_endpoint_connection_name: str, parameters: Union[PrivateEndpointConnection, IO[bytes]], if_match: Optional[str] = None, **kwargs) -> LROPoller[PrivateEndpointConnection]

171

def begin_delete(resource_group_name: str, account_name: str, private_endpoint_connection_name: str, **kwargs) -> LROPoller[None]

172

```

173

174

[Network Security](./network-security.md)

175

176

## Types

177

178

### Core Client Types

179

180

```python { .api }

181

class BatchManagementClient:

182

def __init__(

183

self,

184

credential: TokenCredential,

185

subscription_id: str,

186

base_url: str = "https://management.azure.com",

187

**kwargs: Any

188

) -> None

189

190

# Operation attributes

191

batch_account: BatchAccountOperations

192

application_package: ApplicationPackageOperations

193

application: ApplicationOperations

194

location: LocationOperations

195

operations: Operations

196

certificate: CertificateOperations

197

private_link_resource: PrivateLinkResourceOperations

198

private_endpoint_connection: PrivateEndpointConnectionOperations

199

pool: PoolOperations

200

network_security_perimeter: NetworkSecurityPerimeterOperations

201

202

def close() -> None

203

def _send_request(request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse

204

```

205

206

### Common Resource Types

207

208

```python { .api }

209

class BatchAccount:

210

id: str

211

name: str

212

type: str

213

location: str

214

tags: dict

215

identity: BatchAccountIdentity

216

provisioning_state: ProvisioningState

217

account_endpoint: str

218

node_management_endpoint: str

219

auto_storage: AutoStorageProperties

220

encryption: EncryptionProperties

221

dedicated_core_quota: int

222

low_priority_core_quota: int

223

dedicated_core_quota_per_vm_family: list

224

pool_allocation_mode: PoolAllocationMode

225

public_network_access: PublicNetworkAccessType

226

network_profile: NetworkProfile

227

228

class Pool:

229

id: str

230

name: str

231

type: str

232

etag: str

233

identity: BatchPoolIdentity

234

display_name: str

235

vm_size: str

236

deployment_configuration: DeploymentConfiguration

237

scale_settings: ScaleSettings

238

provisioning_state: PoolProvisioningState

239

allocation_state: AllocationState

240

creation_time: datetime

241

provisioning_state_transition_time: datetime

242

allocation_state_transition_time: datetime

243

current_dedicated_nodes: int

244

current_low_priority_nodes: int

245

network_configuration: NetworkConfiguration

246

247

class Application:

248

id: str

249

name: str

250

type: str

251

etag: str

252

display_name: str

253

allow_updates: bool

254

default_version: str

255

```