pulumi-azure-native 2.58.0a1724260656__py3-none-any.whl → 2.58.0a1724403460__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pulumi-azure-native might be problematic. Click here for more details.
- pulumi_azure_native/__init__.py +52 -0
- pulumi_azure_native/azurelargeinstance/__init__.py +22 -0
- pulumi_azure_native/azurelargeinstance/_enums.py +256 -0
- pulumi_azure_native/azurelargeinstance/_inputs.py +646 -0
- pulumi_azure_native/azurelargeinstance/azure_large_instance.py +475 -0
- pulumi_azure_native/azurelargeinstance/azure_large_storage_instance.py +320 -0
- pulumi_azure_native/azurelargeinstance/get_azure_large_instance.py +271 -0
- pulumi_azure_native/azurelargeinstance/get_azure_large_storage_instance.py +193 -0
- pulumi_azure_native/azurelargeinstance/outputs.py +795 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/__init__.py +14 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/_enums.py +256 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/_inputs.py +646 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/azure_large_instance.py +473 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/azure_large_storage_instance.py +318 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/get_azure_large_instance.py +269 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/get_azure_large_storage_instance.py +191 -0
- pulumi_azure_native/azurelargeinstance/v20240801preview/outputs.py +795 -0
- pulumi_azure_native/baremetalinfrastructure/__init__.py +5 -0
- pulumi_azure_native/baremetalinfrastructure/_enums.py +74 -0
- pulumi_azure_native/baremetalinfrastructure/_inputs.py +368 -0
- pulumi_azure_native/baremetalinfrastructure/azure_bare_metal_instance.py +502 -0
- pulumi_azure_native/baremetalinfrastructure/azure_bare_metal_storage_instance.py +3 -3
- pulumi_azure_native/baremetalinfrastructure/get_azure_bare_metal_instance.py +281 -0
- pulumi_azure_native/baremetalinfrastructure/get_azure_bare_metal_storage_instance.py +2 -2
- pulumi_azure_native/baremetalinfrastructure/outputs.py +351 -0
- pulumi_azure_native/baremetalinfrastructure/v20230406/azure_bare_metal_storage_instance.py +1 -1
- pulumi_azure_native/baremetalinfrastructure/v20230804preview/azure_bare_metal_storage_instance.py +1 -1
- pulumi_azure_native/baremetalinfrastructure/v20231101preview/azure_bare_metal_storage_instance.py +1 -1
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/__init__.py +14 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/_enums.py +106 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/_inputs.py +644 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/azure_bare_metal_instance.py +500 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/azure_bare_metal_storage_instance.py +316 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/get_azure_bare_metal_instance.py +279 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/get_azure_bare_metal_storage_instance.py +188 -0
- pulumi_azure_native/baremetalinfrastructure/v20240801preview/outputs.py +726 -0
- pulumi_azure_native/batch/__init__.py +3 -0
- pulumi_azure_native/batch/application.py +3 -3
- pulumi_azure_native/batch/application_package.py +3 -3
- pulumi_azure_native/batch/batch_account.py +3 -3
- pulumi_azure_native/batch/get_application.py +2 -2
- pulumi_azure_native/batch/get_application_package.py +2 -2
- pulumi_azure_native/batch/get_batch_account.py +2 -2
- pulumi_azure_native/batch/get_pool.py +2 -2
- pulumi_azure_native/batch/list_batch_account_keys.py +2 -2
- pulumi_azure_native/batch/pool.py +3 -3
- pulumi_azure_native/batch/v20220101/batch_account.py +1 -1
- pulumi_azure_native/batch/v20230501/application.py +1 -1
- pulumi_azure_native/batch/v20230501/application_package.py +1 -1
- pulumi_azure_native/batch/v20230501/batch_account.py +1 -1
- pulumi_azure_native/batch/v20230501/pool.py +1 -1
- pulumi_azure_native/batch/v20231101/application.py +1 -1
- pulumi_azure_native/batch/v20231101/application_package.py +1 -1
- pulumi_azure_native/batch/v20231101/batch_account.py +1 -1
- pulumi_azure_native/batch/v20231101/pool.py +1 -1
- pulumi_azure_native/batch/v20240201/application.py +1 -1
- pulumi_azure_native/batch/v20240201/application_package.py +1 -1
- pulumi_azure_native/batch/v20240201/batch_account.py +1 -1
- pulumi_azure_native/batch/v20240201/pool.py +1 -1
- pulumi_azure_native/batch/v20240701/__init__.py +19 -0
- pulumi_azure_native/batch/v20240701/_enums.py +510 -0
- pulumi_azure_native/batch/v20240701/_inputs.py +4319 -0
- pulumi_azure_native/batch/v20240701/application.py +305 -0
- pulumi_azure_native/batch/v20240701/application_package.py +289 -0
- pulumi_azure_native/batch/v20240701/batch_account.py +545 -0
- pulumi_azure_native/batch/v20240701/get_application.py +179 -0
- pulumi_azure_native/batch/v20240701/get_application_package.py +210 -0
- pulumi_azure_native/batch/v20240701/get_batch_account.py +364 -0
- pulumi_azure_native/batch/v20240701/get_pool.py +503 -0
- pulumi_azure_native/batch/v20240701/list_batch_account_keys.py +109 -0
- pulumi_azure_native/batch/v20240701/outputs.py +4161 -0
- pulumi_azure_native/batch/v20240701/pool.py +854 -0
- pulumi_azure_native/hardwaresecuritymodules/__init__.py +3 -0
- pulumi_azure_native/hardwaresecuritymodules/cloud_hsm_cluster.py +3 -3
- pulumi_azure_native/hardwaresecuritymodules/cloud_hsm_cluster_private_endpoint_connection.py +3 -3
- pulumi_azure_native/hardwaresecuritymodules/dedicated_hsm.py +5 -1
- pulumi_azure_native/hardwaresecuritymodules/get_cloud_hsm_cluster.py +2 -2
- pulumi_azure_native/hardwaresecuritymodules/get_cloud_hsm_cluster_private_endpoint_connection.py +2 -2
- pulumi_azure_native/hardwaresecuritymodules/get_dedicated_hsm.py +4 -0
- pulumi_azure_native/hardwaresecuritymodules/v20211130/dedicated_hsm.py +1 -1
- pulumi_azure_native/hardwaresecuritymodules/v20220831preview/cloud_hsm_cluster.py +1 -1
- pulumi_azure_native/hardwaresecuritymodules/v20220831preview/cloud_hsm_cluster_private_endpoint_connection.py +1 -1
- pulumi_azure_native/hardwaresecuritymodules/v20231210preview/cloud_hsm_cluster.py +1 -1
- pulumi_azure_native/hardwaresecuritymodules/v20231210preview/cloud_hsm_cluster_private_endpoint_connection.py +1 -1
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/__init__.py +16 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/_enums.py +100 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/_inputs.py +405 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/cloud_hsm_cluster.py +428 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/cloud_hsm_cluster_private_endpoint_connection.py +262 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/dedicated_hsm.py +394 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/get_cloud_hsm_cluster.py +279 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/get_cloud_hsm_cluster_private_endpoint_connection.py +193 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/get_dedicated_hsm.py +240 -0
- pulumi_azure_native/hardwaresecuritymodules/v20240630preview/outputs.py +772 -0
- pulumi_azure_native/machinelearningservices/v20240701preview/_inputs.py +20 -0
- pulumi_azure_native/machinelearningservices/v20240701preview/outputs.py +12 -11
- pulumi_azure_native/pulumi-plugin.json +1 -1
- {pulumi_azure_native-2.58.0a1724260656.dist-info → pulumi_azure_native-2.58.0a1724403460.dist-info}/METADATA +1 -1
- {pulumi_azure_native-2.58.0a1724260656.dist-info → pulumi_azure_native-2.58.0a1724403460.dist-info}/RECORD +101 -52
- {pulumi_azure_native-2.58.0a1724260656.dist-info → pulumi_azure_native-2.58.0a1724403460.dist-info}/WHEEL +0 -0
- {pulumi_azure_native-2.58.0a1724260656.dist-info → pulumi_azure_native-2.58.0a1724403460.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,4319 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from ... import _utilities
|
|
16
|
+
from ._enums import *
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
'ApplicationPackageReferenceArgs',
|
|
20
|
+
'ApplicationPackageReferenceArgsDict',
|
|
21
|
+
'AutoScaleSettingsArgs',
|
|
22
|
+
'AutoScaleSettingsArgsDict',
|
|
23
|
+
'AutoStorageBasePropertiesArgs',
|
|
24
|
+
'AutoStorageBasePropertiesArgsDict',
|
|
25
|
+
'AutoUserSpecificationArgs',
|
|
26
|
+
'AutoUserSpecificationArgsDict',
|
|
27
|
+
'AutomaticOSUpgradePolicyArgs',
|
|
28
|
+
'AutomaticOSUpgradePolicyArgsDict',
|
|
29
|
+
'AzureBlobFileSystemConfigurationArgs',
|
|
30
|
+
'AzureBlobFileSystemConfigurationArgsDict',
|
|
31
|
+
'AzureFileShareConfigurationArgs',
|
|
32
|
+
'AzureFileShareConfigurationArgsDict',
|
|
33
|
+
'BatchAccountIdentityArgs',
|
|
34
|
+
'BatchAccountIdentityArgsDict',
|
|
35
|
+
'BatchPoolIdentityArgs',
|
|
36
|
+
'BatchPoolIdentityArgsDict',
|
|
37
|
+
'CIFSMountConfigurationArgs',
|
|
38
|
+
'CIFSMountConfigurationArgsDict',
|
|
39
|
+
'CertificateReferenceArgs',
|
|
40
|
+
'CertificateReferenceArgsDict',
|
|
41
|
+
'ComputeNodeIdentityReferenceArgs',
|
|
42
|
+
'ComputeNodeIdentityReferenceArgsDict',
|
|
43
|
+
'ContainerConfigurationArgs',
|
|
44
|
+
'ContainerConfigurationArgsDict',
|
|
45
|
+
'ContainerHostBatchBindMountEntryArgs',
|
|
46
|
+
'ContainerHostBatchBindMountEntryArgsDict',
|
|
47
|
+
'ContainerRegistryArgs',
|
|
48
|
+
'ContainerRegistryArgsDict',
|
|
49
|
+
'DataDiskArgs',
|
|
50
|
+
'DataDiskArgsDict',
|
|
51
|
+
'DeploymentConfigurationArgs',
|
|
52
|
+
'DeploymentConfigurationArgsDict',
|
|
53
|
+
'DiffDiskSettingsArgs',
|
|
54
|
+
'DiffDiskSettingsArgsDict',
|
|
55
|
+
'DiskEncryptionConfigurationArgs',
|
|
56
|
+
'DiskEncryptionConfigurationArgsDict',
|
|
57
|
+
'EncryptionPropertiesArgs',
|
|
58
|
+
'EncryptionPropertiesArgsDict',
|
|
59
|
+
'EndpointAccessProfileArgs',
|
|
60
|
+
'EndpointAccessProfileArgsDict',
|
|
61
|
+
'EnvironmentSettingArgs',
|
|
62
|
+
'EnvironmentSettingArgsDict',
|
|
63
|
+
'FixedScaleSettingsArgs',
|
|
64
|
+
'FixedScaleSettingsArgsDict',
|
|
65
|
+
'IPRuleArgs',
|
|
66
|
+
'IPRuleArgsDict',
|
|
67
|
+
'ImageReferenceArgs',
|
|
68
|
+
'ImageReferenceArgsDict',
|
|
69
|
+
'InboundNatPoolArgs',
|
|
70
|
+
'InboundNatPoolArgsDict',
|
|
71
|
+
'KeyVaultPropertiesArgs',
|
|
72
|
+
'KeyVaultPropertiesArgsDict',
|
|
73
|
+
'KeyVaultReferenceArgs',
|
|
74
|
+
'KeyVaultReferenceArgsDict',
|
|
75
|
+
'LinuxUserConfigurationArgs',
|
|
76
|
+
'LinuxUserConfigurationArgsDict',
|
|
77
|
+
'ManagedDiskArgs',
|
|
78
|
+
'ManagedDiskArgsDict',
|
|
79
|
+
'MetadataItemArgs',
|
|
80
|
+
'MetadataItemArgsDict',
|
|
81
|
+
'MountConfigurationArgs',
|
|
82
|
+
'MountConfigurationArgsDict',
|
|
83
|
+
'NFSMountConfigurationArgs',
|
|
84
|
+
'NFSMountConfigurationArgsDict',
|
|
85
|
+
'NetworkConfigurationArgs',
|
|
86
|
+
'NetworkConfigurationArgsDict',
|
|
87
|
+
'NetworkProfileArgs',
|
|
88
|
+
'NetworkProfileArgsDict',
|
|
89
|
+
'NetworkSecurityGroupRuleArgs',
|
|
90
|
+
'NetworkSecurityGroupRuleArgsDict',
|
|
91
|
+
'NodePlacementConfigurationArgs',
|
|
92
|
+
'NodePlacementConfigurationArgsDict',
|
|
93
|
+
'OSDiskArgs',
|
|
94
|
+
'OSDiskArgsDict',
|
|
95
|
+
'PoolEndpointConfigurationArgs',
|
|
96
|
+
'PoolEndpointConfigurationArgsDict',
|
|
97
|
+
'PublicIPAddressConfigurationArgs',
|
|
98
|
+
'PublicIPAddressConfigurationArgsDict',
|
|
99
|
+
'ResourceFileArgs',
|
|
100
|
+
'ResourceFileArgsDict',
|
|
101
|
+
'RollingUpgradePolicyArgs',
|
|
102
|
+
'RollingUpgradePolicyArgsDict',
|
|
103
|
+
'ScaleSettingsArgs',
|
|
104
|
+
'ScaleSettingsArgsDict',
|
|
105
|
+
'SecurityProfileArgs',
|
|
106
|
+
'SecurityProfileArgsDict',
|
|
107
|
+
'ServiceArtifactReferenceArgs',
|
|
108
|
+
'ServiceArtifactReferenceArgsDict',
|
|
109
|
+
'StartTaskArgs',
|
|
110
|
+
'StartTaskArgsDict',
|
|
111
|
+
'TaskContainerSettingsArgs',
|
|
112
|
+
'TaskContainerSettingsArgsDict',
|
|
113
|
+
'TaskSchedulingPolicyArgs',
|
|
114
|
+
'TaskSchedulingPolicyArgsDict',
|
|
115
|
+
'UefiSettingsArgs',
|
|
116
|
+
'UefiSettingsArgsDict',
|
|
117
|
+
'UpgradePolicyArgs',
|
|
118
|
+
'UpgradePolicyArgsDict',
|
|
119
|
+
'UserAccountArgs',
|
|
120
|
+
'UserAccountArgsDict',
|
|
121
|
+
'UserIdentityArgs',
|
|
122
|
+
'UserIdentityArgsDict',
|
|
123
|
+
'VMDiskSecurityProfileArgs',
|
|
124
|
+
'VMDiskSecurityProfileArgsDict',
|
|
125
|
+
'VMExtensionArgs',
|
|
126
|
+
'VMExtensionArgsDict',
|
|
127
|
+
'VirtualMachineConfigurationArgs',
|
|
128
|
+
'VirtualMachineConfigurationArgsDict',
|
|
129
|
+
'WindowsConfigurationArgs',
|
|
130
|
+
'WindowsConfigurationArgsDict',
|
|
131
|
+
'WindowsUserConfigurationArgs',
|
|
132
|
+
'WindowsUserConfigurationArgsDict',
|
|
133
|
+
]
|
|
134
|
+
|
|
135
|
+
MYPY = False
|
|
136
|
+
|
|
137
|
+
if not MYPY:
|
|
138
|
+
class ApplicationPackageReferenceArgsDict(TypedDict):
|
|
139
|
+
id: pulumi.Input[str]
|
|
140
|
+
version: NotRequired[pulumi.Input[str]]
|
|
141
|
+
"""
|
|
142
|
+
If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409.
|
|
143
|
+
"""
|
|
144
|
+
elif False:
|
|
145
|
+
ApplicationPackageReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
146
|
+
|
|
147
|
+
@pulumi.input_type
|
|
148
|
+
class ApplicationPackageReferenceArgs:
|
|
149
|
+
def __init__(__self__, *,
|
|
150
|
+
id: pulumi.Input[str],
|
|
151
|
+
version: Optional[pulumi.Input[str]] = None):
|
|
152
|
+
"""
|
|
153
|
+
:param pulumi.Input[str] version: If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409.
|
|
154
|
+
"""
|
|
155
|
+
pulumi.set(__self__, "id", id)
|
|
156
|
+
if version is not None:
|
|
157
|
+
pulumi.set(__self__, "version", version)
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
@pulumi.getter
|
|
161
|
+
def id(self) -> pulumi.Input[str]:
|
|
162
|
+
return pulumi.get(self, "id")
|
|
163
|
+
|
|
164
|
+
@id.setter
|
|
165
|
+
def id(self, value: pulumi.Input[str]):
|
|
166
|
+
pulumi.set(self, "id", value)
|
|
167
|
+
|
|
168
|
+
@property
|
|
169
|
+
@pulumi.getter
|
|
170
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
|
171
|
+
"""
|
|
172
|
+
If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409.
|
|
173
|
+
"""
|
|
174
|
+
return pulumi.get(self, "version")
|
|
175
|
+
|
|
176
|
+
@version.setter
|
|
177
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
|
178
|
+
pulumi.set(self, "version", value)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
if not MYPY:
|
|
182
|
+
class AutoScaleSettingsArgsDict(TypedDict):
|
|
183
|
+
formula: pulumi.Input[str]
|
|
184
|
+
evaluation_interval: NotRequired[pulumi.Input[str]]
|
|
185
|
+
"""
|
|
186
|
+
If omitted, the default value is 15 minutes (PT15M).
|
|
187
|
+
"""
|
|
188
|
+
elif False:
|
|
189
|
+
AutoScaleSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
190
|
+
|
|
191
|
+
@pulumi.input_type
|
|
192
|
+
class AutoScaleSettingsArgs:
|
|
193
|
+
def __init__(__self__, *,
|
|
194
|
+
formula: pulumi.Input[str],
|
|
195
|
+
evaluation_interval: Optional[pulumi.Input[str]] = None):
|
|
196
|
+
"""
|
|
197
|
+
:param pulumi.Input[str] evaluation_interval: If omitted, the default value is 15 minutes (PT15M).
|
|
198
|
+
"""
|
|
199
|
+
pulumi.set(__self__, "formula", formula)
|
|
200
|
+
if evaluation_interval is not None:
|
|
201
|
+
pulumi.set(__self__, "evaluation_interval", evaluation_interval)
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
@pulumi.getter
|
|
205
|
+
def formula(self) -> pulumi.Input[str]:
|
|
206
|
+
return pulumi.get(self, "formula")
|
|
207
|
+
|
|
208
|
+
@formula.setter
|
|
209
|
+
def formula(self, value: pulumi.Input[str]):
|
|
210
|
+
pulumi.set(self, "formula", value)
|
|
211
|
+
|
|
212
|
+
@property
|
|
213
|
+
@pulumi.getter(name="evaluationInterval")
|
|
214
|
+
def evaluation_interval(self) -> Optional[pulumi.Input[str]]:
|
|
215
|
+
"""
|
|
216
|
+
If omitted, the default value is 15 minutes (PT15M).
|
|
217
|
+
"""
|
|
218
|
+
return pulumi.get(self, "evaluation_interval")
|
|
219
|
+
|
|
220
|
+
@evaluation_interval.setter
|
|
221
|
+
def evaluation_interval(self, value: Optional[pulumi.Input[str]]):
|
|
222
|
+
pulumi.set(self, "evaluation_interval", value)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
if not MYPY:
|
|
226
|
+
class AutoStorageBasePropertiesArgsDict(TypedDict):
|
|
227
|
+
"""
|
|
228
|
+
The properties related to the auto-storage account.
|
|
229
|
+
"""
|
|
230
|
+
storage_account_id: pulumi.Input[str]
|
|
231
|
+
"""
|
|
232
|
+
The resource ID of the storage account to be used for auto-storage account.
|
|
233
|
+
"""
|
|
234
|
+
authentication_mode: NotRequired[pulumi.Input['AutoStorageAuthenticationMode']]
|
|
235
|
+
"""
|
|
236
|
+
The authentication mode which the Batch service will use to manage the auto-storage account.
|
|
237
|
+
"""
|
|
238
|
+
node_identity_reference: NotRequired[pulumi.Input['ComputeNodeIdentityReferenceArgsDict']]
|
|
239
|
+
"""
|
|
240
|
+
The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.
|
|
241
|
+
"""
|
|
242
|
+
elif False:
|
|
243
|
+
AutoStorageBasePropertiesArgsDict: TypeAlias = Mapping[str, Any]
|
|
244
|
+
|
|
245
|
+
@pulumi.input_type
|
|
246
|
+
class AutoStorageBasePropertiesArgs:
|
|
247
|
+
def __init__(__self__, *,
|
|
248
|
+
storage_account_id: pulumi.Input[str],
|
|
249
|
+
authentication_mode: Optional[pulumi.Input['AutoStorageAuthenticationMode']] = None,
|
|
250
|
+
node_identity_reference: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']] = None):
|
|
251
|
+
"""
|
|
252
|
+
The properties related to the auto-storage account.
|
|
253
|
+
:param pulumi.Input[str] storage_account_id: The resource ID of the storage account to be used for auto-storage account.
|
|
254
|
+
:param pulumi.Input['AutoStorageAuthenticationMode'] authentication_mode: The authentication mode which the Batch service will use to manage the auto-storage account.
|
|
255
|
+
:param pulumi.Input['ComputeNodeIdentityReferenceArgs'] node_identity_reference: The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.
|
|
256
|
+
"""
|
|
257
|
+
pulumi.set(__self__, "storage_account_id", storage_account_id)
|
|
258
|
+
if authentication_mode is None:
|
|
259
|
+
authentication_mode = 'StorageKeys'
|
|
260
|
+
if authentication_mode is not None:
|
|
261
|
+
pulumi.set(__self__, "authentication_mode", authentication_mode)
|
|
262
|
+
if node_identity_reference is not None:
|
|
263
|
+
pulumi.set(__self__, "node_identity_reference", node_identity_reference)
|
|
264
|
+
|
|
265
|
+
@property
|
|
266
|
+
@pulumi.getter(name="storageAccountId")
|
|
267
|
+
def storage_account_id(self) -> pulumi.Input[str]:
|
|
268
|
+
"""
|
|
269
|
+
The resource ID of the storage account to be used for auto-storage account.
|
|
270
|
+
"""
|
|
271
|
+
return pulumi.get(self, "storage_account_id")
|
|
272
|
+
|
|
273
|
+
@storage_account_id.setter
|
|
274
|
+
def storage_account_id(self, value: pulumi.Input[str]):
|
|
275
|
+
pulumi.set(self, "storage_account_id", value)
|
|
276
|
+
|
|
277
|
+
@property
|
|
278
|
+
@pulumi.getter(name="authenticationMode")
|
|
279
|
+
def authentication_mode(self) -> Optional[pulumi.Input['AutoStorageAuthenticationMode']]:
|
|
280
|
+
"""
|
|
281
|
+
The authentication mode which the Batch service will use to manage the auto-storage account.
|
|
282
|
+
"""
|
|
283
|
+
return pulumi.get(self, "authentication_mode")
|
|
284
|
+
|
|
285
|
+
@authentication_mode.setter
|
|
286
|
+
def authentication_mode(self, value: Optional[pulumi.Input['AutoStorageAuthenticationMode']]):
|
|
287
|
+
pulumi.set(self, "authentication_mode", value)
|
|
288
|
+
|
|
289
|
+
@property
|
|
290
|
+
@pulumi.getter(name="nodeIdentityReference")
|
|
291
|
+
def node_identity_reference(self) -> Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]:
|
|
292
|
+
"""
|
|
293
|
+
The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.
|
|
294
|
+
"""
|
|
295
|
+
return pulumi.get(self, "node_identity_reference")
|
|
296
|
+
|
|
297
|
+
@node_identity_reference.setter
|
|
298
|
+
def node_identity_reference(self, value: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]):
|
|
299
|
+
pulumi.set(self, "node_identity_reference", value)
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
if not MYPY:
|
|
303
|
+
class AutoUserSpecificationArgsDict(TypedDict):
|
|
304
|
+
elevation_level: NotRequired[pulumi.Input['ElevationLevel']]
|
|
305
|
+
"""
|
|
306
|
+
The default value is nonAdmin.
|
|
307
|
+
"""
|
|
308
|
+
scope: NotRequired[pulumi.Input['AutoUserScope']]
|
|
309
|
+
"""
|
|
310
|
+
The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.
|
|
311
|
+
"""
|
|
312
|
+
elif False:
|
|
313
|
+
AutoUserSpecificationArgsDict: TypeAlias = Mapping[str, Any]
|
|
314
|
+
|
|
315
|
+
@pulumi.input_type
|
|
316
|
+
class AutoUserSpecificationArgs:
|
|
317
|
+
def __init__(__self__, *,
|
|
318
|
+
elevation_level: Optional[pulumi.Input['ElevationLevel']] = None,
|
|
319
|
+
scope: Optional[pulumi.Input['AutoUserScope']] = None):
|
|
320
|
+
"""
|
|
321
|
+
:param pulumi.Input['ElevationLevel'] elevation_level: The default value is nonAdmin.
|
|
322
|
+
:param pulumi.Input['AutoUserScope'] scope: The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.
|
|
323
|
+
"""
|
|
324
|
+
if elevation_level is not None:
|
|
325
|
+
pulumi.set(__self__, "elevation_level", elevation_level)
|
|
326
|
+
if scope is not None:
|
|
327
|
+
pulumi.set(__self__, "scope", scope)
|
|
328
|
+
|
|
329
|
+
@property
|
|
330
|
+
@pulumi.getter(name="elevationLevel")
|
|
331
|
+
def elevation_level(self) -> Optional[pulumi.Input['ElevationLevel']]:
|
|
332
|
+
"""
|
|
333
|
+
The default value is nonAdmin.
|
|
334
|
+
"""
|
|
335
|
+
return pulumi.get(self, "elevation_level")
|
|
336
|
+
|
|
337
|
+
@elevation_level.setter
|
|
338
|
+
def elevation_level(self, value: Optional[pulumi.Input['ElevationLevel']]):
|
|
339
|
+
pulumi.set(self, "elevation_level", value)
|
|
340
|
+
|
|
341
|
+
@property
|
|
342
|
+
@pulumi.getter
|
|
343
|
+
def scope(self) -> Optional[pulumi.Input['AutoUserScope']]:
|
|
344
|
+
"""
|
|
345
|
+
The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.
|
|
346
|
+
"""
|
|
347
|
+
return pulumi.get(self, "scope")
|
|
348
|
+
|
|
349
|
+
@scope.setter
|
|
350
|
+
def scope(self, value: Optional[pulumi.Input['AutoUserScope']]):
|
|
351
|
+
pulumi.set(self, "scope", value)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
if not MYPY:
|
|
355
|
+
class AutomaticOSUpgradePolicyArgsDict(TypedDict):
|
|
356
|
+
"""
|
|
357
|
+
The configuration parameters used for performing automatic OS upgrade.
|
|
358
|
+
"""
|
|
359
|
+
disable_automatic_rollback: NotRequired[pulumi.Input[bool]]
|
|
360
|
+
"""
|
|
361
|
+
Whether OS image rollback feature should be disabled.
|
|
362
|
+
"""
|
|
363
|
+
enable_automatic_os_upgrade: NotRequired[pulumi.Input[bool]]
|
|
364
|
+
"""
|
|
365
|
+
Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.
|
|
366
|
+
"""
|
|
367
|
+
os_rolling_upgrade_deferral: NotRequired[pulumi.Input[bool]]
|
|
368
|
+
"""
|
|
369
|
+
Defer OS upgrades on the TVMs if they are running tasks.
|
|
370
|
+
"""
|
|
371
|
+
use_rolling_upgrade_policy: NotRequired[pulumi.Input[bool]]
|
|
372
|
+
"""
|
|
373
|
+
Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS.
|
|
374
|
+
"""
|
|
375
|
+
elif False:
|
|
376
|
+
AutomaticOSUpgradePolicyArgsDict: TypeAlias = Mapping[str, Any]
|
|
377
|
+
|
|
378
|
+
@pulumi.input_type
|
|
379
|
+
class AutomaticOSUpgradePolicyArgs:
|
|
380
|
+
def __init__(__self__, *,
|
|
381
|
+
disable_automatic_rollback: Optional[pulumi.Input[bool]] = None,
|
|
382
|
+
enable_automatic_os_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
383
|
+
os_rolling_upgrade_deferral: Optional[pulumi.Input[bool]] = None,
|
|
384
|
+
use_rolling_upgrade_policy: Optional[pulumi.Input[bool]] = None):
|
|
385
|
+
"""
|
|
386
|
+
The configuration parameters used for performing automatic OS upgrade.
|
|
387
|
+
:param pulumi.Input[bool] disable_automatic_rollback: Whether OS image rollback feature should be disabled.
|
|
388
|
+
:param pulumi.Input[bool] enable_automatic_os_upgrade: Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.
|
|
389
|
+
:param pulumi.Input[bool] os_rolling_upgrade_deferral: Defer OS upgrades on the TVMs if they are running tasks.
|
|
390
|
+
:param pulumi.Input[bool] use_rolling_upgrade_policy: Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS.
|
|
391
|
+
"""
|
|
392
|
+
if disable_automatic_rollback is not None:
|
|
393
|
+
pulumi.set(__self__, "disable_automatic_rollback", disable_automatic_rollback)
|
|
394
|
+
if enable_automatic_os_upgrade is not None:
|
|
395
|
+
pulumi.set(__self__, "enable_automatic_os_upgrade", enable_automatic_os_upgrade)
|
|
396
|
+
if os_rolling_upgrade_deferral is not None:
|
|
397
|
+
pulumi.set(__self__, "os_rolling_upgrade_deferral", os_rolling_upgrade_deferral)
|
|
398
|
+
if use_rolling_upgrade_policy is not None:
|
|
399
|
+
pulumi.set(__self__, "use_rolling_upgrade_policy", use_rolling_upgrade_policy)
|
|
400
|
+
|
|
401
|
+
@property
|
|
402
|
+
@pulumi.getter(name="disableAutomaticRollback")
|
|
403
|
+
def disable_automatic_rollback(self) -> Optional[pulumi.Input[bool]]:
|
|
404
|
+
"""
|
|
405
|
+
Whether OS image rollback feature should be disabled.
|
|
406
|
+
"""
|
|
407
|
+
return pulumi.get(self, "disable_automatic_rollback")
|
|
408
|
+
|
|
409
|
+
@disable_automatic_rollback.setter
|
|
410
|
+
def disable_automatic_rollback(self, value: Optional[pulumi.Input[bool]]):
|
|
411
|
+
pulumi.set(self, "disable_automatic_rollback", value)
|
|
412
|
+
|
|
413
|
+
@property
|
|
414
|
+
@pulumi.getter(name="enableAutomaticOSUpgrade")
|
|
415
|
+
def enable_automatic_os_upgrade(self) -> Optional[pulumi.Input[bool]]:
|
|
416
|
+
"""
|
|
417
|
+
Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. <br /><br /> If this is set to true for Windows based pools, [WindowsConfiguration.enableAutomaticUpdates](https://learn.microsoft.com/en-us/rest/api/batchmanagement/pool/create?tabs=HTTP#windowsconfiguration) cannot be set to true.
|
|
418
|
+
"""
|
|
419
|
+
return pulumi.get(self, "enable_automatic_os_upgrade")
|
|
420
|
+
|
|
421
|
+
@enable_automatic_os_upgrade.setter
|
|
422
|
+
def enable_automatic_os_upgrade(self, value: Optional[pulumi.Input[bool]]):
|
|
423
|
+
pulumi.set(self, "enable_automatic_os_upgrade", value)
|
|
424
|
+
|
|
425
|
+
@property
|
|
426
|
+
@pulumi.getter(name="osRollingUpgradeDeferral")
|
|
427
|
+
def os_rolling_upgrade_deferral(self) -> Optional[pulumi.Input[bool]]:
|
|
428
|
+
"""
|
|
429
|
+
Defer OS upgrades on the TVMs if they are running tasks.
|
|
430
|
+
"""
|
|
431
|
+
return pulumi.get(self, "os_rolling_upgrade_deferral")
|
|
432
|
+
|
|
433
|
+
@os_rolling_upgrade_deferral.setter
|
|
434
|
+
def os_rolling_upgrade_deferral(self, value: Optional[pulumi.Input[bool]]):
|
|
435
|
+
pulumi.set(self, "os_rolling_upgrade_deferral", value)
|
|
436
|
+
|
|
437
|
+
@property
|
|
438
|
+
@pulumi.getter(name="useRollingUpgradePolicy")
|
|
439
|
+
def use_rolling_upgrade_policy(self) -> Optional[pulumi.Input[bool]]:
|
|
440
|
+
"""
|
|
441
|
+
Indicates whether rolling upgrade policy should be used during Auto OS Upgrade. Auto OS Upgrade will fallback to the default policy if no policy is defined on the VMSS.
|
|
442
|
+
"""
|
|
443
|
+
return pulumi.get(self, "use_rolling_upgrade_policy")
|
|
444
|
+
|
|
445
|
+
@use_rolling_upgrade_policy.setter
|
|
446
|
+
def use_rolling_upgrade_policy(self, value: Optional[pulumi.Input[bool]]):
|
|
447
|
+
pulumi.set(self, "use_rolling_upgrade_policy", value)
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
if not MYPY:
|
|
451
|
+
class AzureBlobFileSystemConfigurationArgsDict(TypedDict):
|
|
452
|
+
account_name: pulumi.Input[str]
|
|
453
|
+
container_name: pulumi.Input[str]
|
|
454
|
+
relative_mount_path: pulumi.Input[str]
|
|
455
|
+
"""
|
|
456
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
457
|
+
"""
|
|
458
|
+
account_key: NotRequired[pulumi.Input[str]]
|
|
459
|
+
"""
|
|
460
|
+
This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
|
|
461
|
+
"""
|
|
462
|
+
blobfuse_options: NotRequired[pulumi.Input[str]]
|
|
463
|
+
"""
|
|
464
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
465
|
+
"""
|
|
466
|
+
identity_reference: NotRequired[pulumi.Input['ComputeNodeIdentityReferenceArgsDict']]
|
|
467
|
+
"""
|
|
468
|
+
This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
|
|
469
|
+
"""
|
|
470
|
+
sas_key: NotRequired[pulumi.Input[str]]
|
|
471
|
+
"""
|
|
472
|
+
This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
|
|
473
|
+
"""
|
|
474
|
+
elif False:
|
|
475
|
+
AzureBlobFileSystemConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
476
|
+
|
|
477
|
+
@pulumi.input_type
|
|
478
|
+
class AzureBlobFileSystemConfigurationArgs:
|
|
479
|
+
def __init__(__self__, *,
|
|
480
|
+
account_name: pulumi.Input[str],
|
|
481
|
+
container_name: pulumi.Input[str],
|
|
482
|
+
relative_mount_path: pulumi.Input[str],
|
|
483
|
+
account_key: Optional[pulumi.Input[str]] = None,
|
|
484
|
+
blobfuse_options: Optional[pulumi.Input[str]] = None,
|
|
485
|
+
identity_reference: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']] = None,
|
|
486
|
+
sas_key: Optional[pulumi.Input[str]] = None):
|
|
487
|
+
"""
|
|
488
|
+
:param pulumi.Input[str] relative_mount_path: All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
489
|
+
:param pulumi.Input[str] account_key: This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
|
|
490
|
+
:param pulumi.Input[str] blobfuse_options: These are 'net use' options in Windows and 'mount' options in Linux.
|
|
491
|
+
:param pulumi.Input['ComputeNodeIdentityReferenceArgs'] identity_reference: This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
|
|
492
|
+
:param pulumi.Input[str] sas_key: This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
|
|
493
|
+
"""
|
|
494
|
+
pulumi.set(__self__, "account_name", account_name)
|
|
495
|
+
pulumi.set(__self__, "container_name", container_name)
|
|
496
|
+
pulumi.set(__self__, "relative_mount_path", relative_mount_path)
|
|
497
|
+
if account_key is not None:
|
|
498
|
+
pulumi.set(__self__, "account_key", account_key)
|
|
499
|
+
if blobfuse_options is not None:
|
|
500
|
+
pulumi.set(__self__, "blobfuse_options", blobfuse_options)
|
|
501
|
+
if identity_reference is not None:
|
|
502
|
+
pulumi.set(__self__, "identity_reference", identity_reference)
|
|
503
|
+
if sas_key is not None:
|
|
504
|
+
pulumi.set(__self__, "sas_key", sas_key)
|
|
505
|
+
|
|
506
|
+
@property
|
|
507
|
+
@pulumi.getter(name="accountName")
|
|
508
|
+
def account_name(self) -> pulumi.Input[str]:
|
|
509
|
+
return pulumi.get(self, "account_name")
|
|
510
|
+
|
|
511
|
+
@account_name.setter
|
|
512
|
+
def account_name(self, value: pulumi.Input[str]):
|
|
513
|
+
pulumi.set(self, "account_name", value)
|
|
514
|
+
|
|
515
|
+
@property
|
|
516
|
+
@pulumi.getter(name="containerName")
|
|
517
|
+
def container_name(self) -> pulumi.Input[str]:
|
|
518
|
+
return pulumi.get(self, "container_name")
|
|
519
|
+
|
|
520
|
+
@container_name.setter
|
|
521
|
+
def container_name(self, value: pulumi.Input[str]):
|
|
522
|
+
pulumi.set(self, "container_name", value)
|
|
523
|
+
|
|
524
|
+
@property
|
|
525
|
+
@pulumi.getter(name="relativeMountPath")
|
|
526
|
+
def relative_mount_path(self) -> pulumi.Input[str]:
|
|
527
|
+
"""
|
|
528
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
529
|
+
"""
|
|
530
|
+
return pulumi.get(self, "relative_mount_path")
|
|
531
|
+
|
|
532
|
+
@relative_mount_path.setter
|
|
533
|
+
def relative_mount_path(self, value: pulumi.Input[str]):
|
|
534
|
+
pulumi.set(self, "relative_mount_path", value)
|
|
535
|
+
|
|
536
|
+
@property
|
|
537
|
+
@pulumi.getter(name="accountKey")
|
|
538
|
+
def account_key(self) -> Optional[pulumi.Input[str]]:
|
|
539
|
+
"""
|
|
540
|
+
This property is mutually exclusive with both sasKey and identity; exactly one must be specified.
|
|
541
|
+
"""
|
|
542
|
+
return pulumi.get(self, "account_key")
|
|
543
|
+
|
|
544
|
+
@account_key.setter
|
|
545
|
+
def account_key(self, value: Optional[pulumi.Input[str]]):
|
|
546
|
+
pulumi.set(self, "account_key", value)
|
|
547
|
+
|
|
548
|
+
@property
|
|
549
|
+
@pulumi.getter(name="blobfuseOptions")
|
|
550
|
+
def blobfuse_options(self) -> Optional[pulumi.Input[str]]:
|
|
551
|
+
"""
|
|
552
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
553
|
+
"""
|
|
554
|
+
return pulumi.get(self, "blobfuse_options")
|
|
555
|
+
|
|
556
|
+
@blobfuse_options.setter
|
|
557
|
+
def blobfuse_options(self, value: Optional[pulumi.Input[str]]):
|
|
558
|
+
pulumi.set(self, "blobfuse_options", value)
|
|
559
|
+
|
|
560
|
+
@property
|
|
561
|
+
@pulumi.getter(name="identityReference")
|
|
562
|
+
def identity_reference(self) -> Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]:
|
|
563
|
+
"""
|
|
564
|
+
This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.
|
|
565
|
+
"""
|
|
566
|
+
return pulumi.get(self, "identity_reference")
|
|
567
|
+
|
|
568
|
+
@identity_reference.setter
|
|
569
|
+
def identity_reference(self, value: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]):
|
|
570
|
+
pulumi.set(self, "identity_reference", value)
|
|
571
|
+
|
|
572
|
+
@property
|
|
573
|
+
@pulumi.getter(name="sasKey")
|
|
574
|
+
def sas_key(self) -> Optional[pulumi.Input[str]]:
|
|
575
|
+
"""
|
|
576
|
+
This property is mutually exclusive with both accountKey and identity; exactly one must be specified.
|
|
577
|
+
"""
|
|
578
|
+
return pulumi.get(self, "sas_key")
|
|
579
|
+
|
|
580
|
+
@sas_key.setter
|
|
581
|
+
def sas_key(self, value: Optional[pulumi.Input[str]]):
|
|
582
|
+
pulumi.set(self, "sas_key", value)
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
if not MYPY:
|
|
586
|
+
class AzureFileShareConfigurationArgsDict(TypedDict):
|
|
587
|
+
account_key: pulumi.Input[str]
|
|
588
|
+
account_name: pulumi.Input[str]
|
|
589
|
+
azure_file_url: pulumi.Input[str]
|
|
590
|
+
"""
|
|
591
|
+
This is of the form 'https://{account}.file.core.windows.net/'.
|
|
592
|
+
"""
|
|
593
|
+
relative_mount_path: pulumi.Input[str]
|
|
594
|
+
"""
|
|
595
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
596
|
+
"""
|
|
597
|
+
mount_options: NotRequired[pulumi.Input[str]]
|
|
598
|
+
"""
|
|
599
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
600
|
+
"""
|
|
601
|
+
elif False:
|
|
602
|
+
AzureFileShareConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
603
|
+
|
|
604
|
+
@pulumi.input_type
|
|
605
|
+
class AzureFileShareConfigurationArgs:
|
|
606
|
+
def __init__(__self__, *,
|
|
607
|
+
account_key: pulumi.Input[str],
|
|
608
|
+
account_name: pulumi.Input[str],
|
|
609
|
+
azure_file_url: pulumi.Input[str],
|
|
610
|
+
relative_mount_path: pulumi.Input[str],
|
|
611
|
+
mount_options: Optional[pulumi.Input[str]] = None):
|
|
612
|
+
"""
|
|
613
|
+
:param pulumi.Input[str] azure_file_url: This is of the form 'https://{account}.file.core.windows.net/'.
|
|
614
|
+
:param pulumi.Input[str] relative_mount_path: All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
615
|
+
:param pulumi.Input[str] mount_options: These are 'net use' options in Windows and 'mount' options in Linux.
|
|
616
|
+
"""
|
|
617
|
+
pulumi.set(__self__, "account_key", account_key)
|
|
618
|
+
pulumi.set(__self__, "account_name", account_name)
|
|
619
|
+
pulumi.set(__self__, "azure_file_url", azure_file_url)
|
|
620
|
+
pulumi.set(__self__, "relative_mount_path", relative_mount_path)
|
|
621
|
+
if mount_options is not None:
|
|
622
|
+
pulumi.set(__self__, "mount_options", mount_options)
|
|
623
|
+
|
|
624
|
+
@property
|
|
625
|
+
@pulumi.getter(name="accountKey")
|
|
626
|
+
def account_key(self) -> pulumi.Input[str]:
|
|
627
|
+
return pulumi.get(self, "account_key")
|
|
628
|
+
|
|
629
|
+
@account_key.setter
|
|
630
|
+
def account_key(self, value: pulumi.Input[str]):
|
|
631
|
+
pulumi.set(self, "account_key", value)
|
|
632
|
+
|
|
633
|
+
@property
|
|
634
|
+
@pulumi.getter(name="accountName")
|
|
635
|
+
def account_name(self) -> pulumi.Input[str]:
|
|
636
|
+
return pulumi.get(self, "account_name")
|
|
637
|
+
|
|
638
|
+
@account_name.setter
|
|
639
|
+
def account_name(self, value: pulumi.Input[str]):
|
|
640
|
+
pulumi.set(self, "account_name", value)
|
|
641
|
+
|
|
642
|
+
@property
|
|
643
|
+
@pulumi.getter(name="azureFileUrl")
|
|
644
|
+
def azure_file_url(self) -> pulumi.Input[str]:
|
|
645
|
+
"""
|
|
646
|
+
This is of the form 'https://{account}.file.core.windows.net/'.
|
|
647
|
+
"""
|
|
648
|
+
return pulumi.get(self, "azure_file_url")
|
|
649
|
+
|
|
650
|
+
@azure_file_url.setter
|
|
651
|
+
def azure_file_url(self, value: pulumi.Input[str]):
|
|
652
|
+
pulumi.set(self, "azure_file_url", value)
|
|
653
|
+
|
|
654
|
+
@property
|
|
655
|
+
@pulumi.getter(name="relativeMountPath")
|
|
656
|
+
def relative_mount_path(self) -> pulumi.Input[str]:
|
|
657
|
+
"""
|
|
658
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
659
|
+
"""
|
|
660
|
+
return pulumi.get(self, "relative_mount_path")
|
|
661
|
+
|
|
662
|
+
@relative_mount_path.setter
|
|
663
|
+
def relative_mount_path(self, value: pulumi.Input[str]):
|
|
664
|
+
pulumi.set(self, "relative_mount_path", value)
|
|
665
|
+
|
|
666
|
+
@property
|
|
667
|
+
@pulumi.getter(name="mountOptions")
|
|
668
|
+
def mount_options(self) -> Optional[pulumi.Input[str]]:
|
|
669
|
+
"""
|
|
670
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
671
|
+
"""
|
|
672
|
+
return pulumi.get(self, "mount_options")
|
|
673
|
+
|
|
674
|
+
@mount_options.setter
|
|
675
|
+
def mount_options(self, value: Optional[pulumi.Input[str]]):
|
|
676
|
+
pulumi.set(self, "mount_options", value)
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
if not MYPY:
|
|
680
|
+
class BatchAccountIdentityArgsDict(TypedDict):
|
|
681
|
+
"""
|
|
682
|
+
The identity of the Batch account, if configured. This is used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration or when `ManagedIdentity` is selected as the auto-storage authentication mode.
|
|
683
|
+
"""
|
|
684
|
+
type: pulumi.Input['ResourceIdentityType']
|
|
685
|
+
"""
|
|
686
|
+
The type of identity used for the Batch account.
|
|
687
|
+
"""
|
|
688
|
+
user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
689
|
+
"""
|
|
690
|
+
The list of user identities associated with the Batch account.
|
|
691
|
+
"""
|
|
692
|
+
elif False:
|
|
693
|
+
BatchAccountIdentityArgsDict: TypeAlias = Mapping[str, Any]
|
|
694
|
+
|
|
695
|
+
@pulumi.input_type
|
|
696
|
+
class BatchAccountIdentityArgs:
|
|
697
|
+
def __init__(__self__, *,
|
|
698
|
+
type: pulumi.Input['ResourceIdentityType'],
|
|
699
|
+
user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
700
|
+
"""
|
|
701
|
+
The identity of the Batch account, if configured. This is used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration or when `ManagedIdentity` is selected as the auto-storage authentication mode.
|
|
702
|
+
:param pulumi.Input['ResourceIdentityType'] type: The type of identity used for the Batch account.
|
|
703
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The list of user identities associated with the Batch account.
|
|
704
|
+
"""
|
|
705
|
+
pulumi.set(__self__, "type", type)
|
|
706
|
+
if user_assigned_identities is not None:
|
|
707
|
+
pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
|
|
708
|
+
|
|
709
|
+
@property
|
|
710
|
+
@pulumi.getter
|
|
711
|
+
def type(self) -> pulumi.Input['ResourceIdentityType']:
|
|
712
|
+
"""
|
|
713
|
+
The type of identity used for the Batch account.
|
|
714
|
+
"""
|
|
715
|
+
return pulumi.get(self, "type")
|
|
716
|
+
|
|
717
|
+
@type.setter
|
|
718
|
+
def type(self, value: pulumi.Input['ResourceIdentityType']):
|
|
719
|
+
pulumi.set(self, "type", value)
|
|
720
|
+
|
|
721
|
+
@property
|
|
722
|
+
@pulumi.getter(name="userAssignedIdentities")
|
|
723
|
+
def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
724
|
+
"""
|
|
725
|
+
The list of user identities associated with the Batch account.
|
|
726
|
+
"""
|
|
727
|
+
return pulumi.get(self, "user_assigned_identities")
|
|
728
|
+
|
|
729
|
+
@user_assigned_identities.setter
|
|
730
|
+
def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
731
|
+
pulumi.set(self, "user_assigned_identities", value)
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
if not MYPY:
|
|
735
|
+
class BatchPoolIdentityArgsDict(TypedDict):
|
|
736
|
+
"""
|
|
737
|
+
The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities
|
|
738
|
+
"""
|
|
739
|
+
type: pulumi.Input['PoolIdentityType']
|
|
740
|
+
"""
|
|
741
|
+
The type of identity used for the Batch Pool.
|
|
742
|
+
"""
|
|
743
|
+
user_assigned_identities: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
744
|
+
"""
|
|
745
|
+
The list of user identities associated with the Batch pool.
|
|
746
|
+
"""
|
|
747
|
+
elif False:
|
|
748
|
+
BatchPoolIdentityArgsDict: TypeAlias = Mapping[str, Any]
|
|
749
|
+
|
|
750
|
+
@pulumi.input_type
|
|
751
|
+
class BatchPoolIdentityArgs:
|
|
752
|
+
def __init__(__self__, *,
|
|
753
|
+
type: pulumi.Input['PoolIdentityType'],
|
|
754
|
+
user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
755
|
+
"""
|
|
756
|
+
The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities
|
|
757
|
+
:param pulumi.Input['PoolIdentityType'] type: The type of identity used for the Batch Pool.
|
|
758
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: The list of user identities associated with the Batch pool.
|
|
759
|
+
"""
|
|
760
|
+
pulumi.set(__self__, "type", type)
|
|
761
|
+
if user_assigned_identities is not None:
|
|
762
|
+
pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
|
|
763
|
+
|
|
764
|
+
@property
|
|
765
|
+
@pulumi.getter
|
|
766
|
+
def type(self) -> pulumi.Input['PoolIdentityType']:
|
|
767
|
+
"""
|
|
768
|
+
The type of identity used for the Batch Pool.
|
|
769
|
+
"""
|
|
770
|
+
return pulumi.get(self, "type")
|
|
771
|
+
|
|
772
|
+
@type.setter
|
|
773
|
+
def type(self, value: pulumi.Input['PoolIdentityType']):
|
|
774
|
+
pulumi.set(self, "type", value)
|
|
775
|
+
|
|
776
|
+
@property
|
|
777
|
+
@pulumi.getter(name="userAssignedIdentities")
|
|
778
|
+
def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
779
|
+
"""
|
|
780
|
+
The list of user identities associated with the Batch pool.
|
|
781
|
+
"""
|
|
782
|
+
return pulumi.get(self, "user_assigned_identities")
|
|
783
|
+
|
|
784
|
+
@user_assigned_identities.setter
|
|
785
|
+
def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
786
|
+
pulumi.set(self, "user_assigned_identities", value)
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
if not MYPY:
|
|
790
|
+
class CIFSMountConfigurationArgsDict(TypedDict):
|
|
791
|
+
password: pulumi.Input[str]
|
|
792
|
+
relative_mount_path: pulumi.Input[str]
|
|
793
|
+
"""
|
|
794
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
795
|
+
"""
|
|
796
|
+
source: pulumi.Input[str]
|
|
797
|
+
user_name: pulumi.Input[str]
|
|
798
|
+
mount_options: NotRequired[pulumi.Input[str]]
|
|
799
|
+
"""
|
|
800
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
801
|
+
"""
|
|
802
|
+
elif False:
|
|
803
|
+
CIFSMountConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
804
|
+
|
|
805
|
+
@pulumi.input_type
|
|
806
|
+
class CIFSMountConfigurationArgs:
|
|
807
|
+
def __init__(__self__, *,
|
|
808
|
+
password: pulumi.Input[str],
|
|
809
|
+
relative_mount_path: pulumi.Input[str],
|
|
810
|
+
source: pulumi.Input[str],
|
|
811
|
+
user_name: pulumi.Input[str],
|
|
812
|
+
mount_options: Optional[pulumi.Input[str]] = None):
|
|
813
|
+
"""
|
|
814
|
+
:param pulumi.Input[str] relative_mount_path: All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
815
|
+
:param pulumi.Input[str] mount_options: These are 'net use' options in Windows and 'mount' options in Linux.
|
|
816
|
+
"""
|
|
817
|
+
pulumi.set(__self__, "password", password)
|
|
818
|
+
pulumi.set(__self__, "relative_mount_path", relative_mount_path)
|
|
819
|
+
pulumi.set(__self__, "source", source)
|
|
820
|
+
pulumi.set(__self__, "user_name", user_name)
|
|
821
|
+
if mount_options is not None:
|
|
822
|
+
pulumi.set(__self__, "mount_options", mount_options)
|
|
823
|
+
|
|
824
|
+
@property
|
|
825
|
+
@pulumi.getter
|
|
826
|
+
def password(self) -> pulumi.Input[str]:
|
|
827
|
+
return pulumi.get(self, "password")
|
|
828
|
+
|
|
829
|
+
@password.setter
|
|
830
|
+
def password(self, value: pulumi.Input[str]):
|
|
831
|
+
pulumi.set(self, "password", value)
|
|
832
|
+
|
|
833
|
+
@property
|
|
834
|
+
@pulumi.getter(name="relativeMountPath")
|
|
835
|
+
def relative_mount_path(self) -> pulumi.Input[str]:
|
|
836
|
+
"""
|
|
837
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
838
|
+
"""
|
|
839
|
+
return pulumi.get(self, "relative_mount_path")
|
|
840
|
+
|
|
841
|
+
@relative_mount_path.setter
|
|
842
|
+
def relative_mount_path(self, value: pulumi.Input[str]):
|
|
843
|
+
pulumi.set(self, "relative_mount_path", value)
|
|
844
|
+
|
|
845
|
+
@property
|
|
846
|
+
@pulumi.getter
|
|
847
|
+
def source(self) -> pulumi.Input[str]:
|
|
848
|
+
return pulumi.get(self, "source")
|
|
849
|
+
|
|
850
|
+
@source.setter
|
|
851
|
+
def source(self, value: pulumi.Input[str]):
|
|
852
|
+
pulumi.set(self, "source", value)
|
|
853
|
+
|
|
854
|
+
@property
|
|
855
|
+
@pulumi.getter(name="userName")
|
|
856
|
+
def user_name(self) -> pulumi.Input[str]:
|
|
857
|
+
return pulumi.get(self, "user_name")
|
|
858
|
+
|
|
859
|
+
@user_name.setter
|
|
860
|
+
def user_name(self, value: pulumi.Input[str]):
|
|
861
|
+
pulumi.set(self, "user_name", value)
|
|
862
|
+
|
|
863
|
+
@property
|
|
864
|
+
@pulumi.getter(name="mountOptions")
|
|
865
|
+
def mount_options(self) -> Optional[pulumi.Input[str]]:
|
|
866
|
+
"""
|
|
867
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
868
|
+
"""
|
|
869
|
+
return pulumi.get(self, "mount_options")
|
|
870
|
+
|
|
871
|
+
@mount_options.setter
|
|
872
|
+
def mount_options(self, value: Optional[pulumi.Input[str]]):
|
|
873
|
+
pulumi.set(self, "mount_options", value)
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
if not MYPY:
|
|
877
|
+
class CertificateReferenceArgsDict(TypedDict):
|
|
878
|
+
"""
|
|
879
|
+
Warning: This object is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
|
|
880
|
+
"""
|
|
881
|
+
id: pulumi.Input[str]
|
|
882
|
+
store_location: NotRequired[pulumi.Input['CertificateStoreLocation']]
|
|
883
|
+
"""
|
|
884
|
+
The default value is currentUser. This property is applicable only for pools configured with Windows compute nodes. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
|
|
885
|
+
"""
|
|
886
|
+
store_name: NotRequired[pulumi.Input[str]]
|
|
887
|
+
"""
|
|
888
|
+
This property is applicable only for pools configured with Windows compute nodes. Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My.
|
|
889
|
+
"""
|
|
890
|
+
visibility: NotRequired[pulumi.Input[Sequence[pulumi.Input['CertificateVisibility']]]]
|
|
891
|
+
elif False:
|
|
892
|
+
CertificateReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
893
|
+
|
|
894
|
+
@pulumi.input_type
|
|
895
|
+
class CertificateReferenceArgs:
|
|
896
|
+
def __init__(__self__, *,
|
|
897
|
+
id: pulumi.Input[str],
|
|
898
|
+
store_location: Optional[pulumi.Input['CertificateStoreLocation']] = None,
|
|
899
|
+
store_name: Optional[pulumi.Input[str]] = None,
|
|
900
|
+
visibility: Optional[pulumi.Input[Sequence[pulumi.Input['CertificateVisibility']]]] = None):
|
|
901
|
+
"""
|
|
902
|
+
Warning: This object is deprecated and will be removed after February, 2024. Please use the [Azure KeyVault Extension](https://learn.microsoft.com/azure/batch/batch-certificate-migration-guide) instead.
|
|
903
|
+
:param pulumi.Input['CertificateStoreLocation'] store_location: The default value is currentUser. This property is applicable only for pools configured with Windows compute nodes. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
|
|
904
|
+
:param pulumi.Input[str] store_name: This property is applicable only for pools configured with Windows compute nodes. Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My.
|
|
905
|
+
"""
|
|
906
|
+
pulumi.set(__self__, "id", id)
|
|
907
|
+
if store_location is not None:
|
|
908
|
+
pulumi.set(__self__, "store_location", store_location)
|
|
909
|
+
if store_name is not None:
|
|
910
|
+
pulumi.set(__self__, "store_name", store_name)
|
|
911
|
+
if visibility is not None:
|
|
912
|
+
pulumi.set(__self__, "visibility", visibility)
|
|
913
|
+
|
|
914
|
+
@property
|
|
915
|
+
@pulumi.getter
|
|
916
|
+
def id(self) -> pulumi.Input[str]:
|
|
917
|
+
return pulumi.get(self, "id")
|
|
918
|
+
|
|
919
|
+
@id.setter
|
|
920
|
+
def id(self, value: pulumi.Input[str]):
|
|
921
|
+
pulumi.set(self, "id", value)
|
|
922
|
+
|
|
923
|
+
@property
|
|
924
|
+
@pulumi.getter(name="storeLocation")
|
|
925
|
+
def store_location(self) -> Optional[pulumi.Input['CertificateStoreLocation']]:
|
|
926
|
+
"""
|
|
927
|
+
The default value is currentUser. This property is applicable only for pools configured with Windows compute nodes. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.
|
|
928
|
+
"""
|
|
929
|
+
return pulumi.get(self, "store_location")
|
|
930
|
+
|
|
931
|
+
@store_location.setter
|
|
932
|
+
def store_location(self, value: Optional[pulumi.Input['CertificateStoreLocation']]):
|
|
933
|
+
pulumi.set(self, "store_location", value)
|
|
934
|
+
|
|
935
|
+
@property
|
|
936
|
+
@pulumi.getter(name="storeName")
|
|
937
|
+
def store_name(self) -> Optional[pulumi.Input[str]]:
|
|
938
|
+
"""
|
|
939
|
+
This property is applicable only for pools configured with Windows compute nodes. Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My.
|
|
940
|
+
"""
|
|
941
|
+
return pulumi.get(self, "store_name")
|
|
942
|
+
|
|
943
|
+
@store_name.setter
|
|
944
|
+
def store_name(self, value: Optional[pulumi.Input[str]]):
|
|
945
|
+
pulumi.set(self, "store_name", value)
|
|
946
|
+
|
|
947
|
+
@property
|
|
948
|
+
@pulumi.getter
|
|
949
|
+
def visibility(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CertificateVisibility']]]]:
|
|
950
|
+
return pulumi.get(self, "visibility")
|
|
951
|
+
|
|
952
|
+
@visibility.setter
|
|
953
|
+
def visibility(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CertificateVisibility']]]]):
|
|
954
|
+
pulumi.set(self, "visibility", value)
|
|
955
|
+
|
|
956
|
+
|
|
957
|
+
if not MYPY:
|
|
958
|
+
class ComputeNodeIdentityReferenceArgsDict(TypedDict):
|
|
959
|
+
"""
|
|
960
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
961
|
+
"""
|
|
962
|
+
resource_id: NotRequired[pulumi.Input[str]]
|
|
963
|
+
"""
|
|
964
|
+
The ARM resource id of the user assigned identity.
|
|
965
|
+
"""
|
|
966
|
+
elif False:
|
|
967
|
+
ComputeNodeIdentityReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
968
|
+
|
|
969
|
+
@pulumi.input_type
|
|
970
|
+
class ComputeNodeIdentityReferenceArgs:
|
|
971
|
+
def __init__(__self__, *,
|
|
972
|
+
resource_id: Optional[pulumi.Input[str]] = None):
|
|
973
|
+
"""
|
|
974
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
975
|
+
:param pulumi.Input[str] resource_id: The ARM resource id of the user assigned identity.
|
|
976
|
+
"""
|
|
977
|
+
if resource_id is not None:
|
|
978
|
+
pulumi.set(__self__, "resource_id", resource_id)
|
|
979
|
+
|
|
980
|
+
@property
|
|
981
|
+
@pulumi.getter(name="resourceId")
|
|
982
|
+
def resource_id(self) -> Optional[pulumi.Input[str]]:
|
|
983
|
+
"""
|
|
984
|
+
The ARM resource id of the user assigned identity.
|
|
985
|
+
"""
|
|
986
|
+
return pulumi.get(self, "resource_id")
|
|
987
|
+
|
|
988
|
+
@resource_id.setter
|
|
989
|
+
def resource_id(self, value: Optional[pulumi.Input[str]]):
|
|
990
|
+
pulumi.set(self, "resource_id", value)
|
|
991
|
+
|
|
992
|
+
|
|
993
|
+
if not MYPY:
|
|
994
|
+
class ContainerConfigurationArgsDict(TypedDict):
|
|
995
|
+
type: pulumi.Input[Union[str, 'ContainerType']]
|
|
996
|
+
container_image_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
997
|
+
"""
|
|
998
|
+
This is the full image reference, as would be specified to "docker pull". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry.
|
|
999
|
+
"""
|
|
1000
|
+
container_registries: NotRequired[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryArgsDict']]]]
|
|
1001
|
+
"""
|
|
1002
|
+
If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.
|
|
1003
|
+
"""
|
|
1004
|
+
elif False:
|
|
1005
|
+
ContainerConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
1006
|
+
|
|
1007
|
+
@pulumi.input_type
|
|
1008
|
+
class ContainerConfigurationArgs:
|
|
1009
|
+
def __init__(__self__, *,
|
|
1010
|
+
type: pulumi.Input[Union[str, 'ContainerType']],
|
|
1011
|
+
container_image_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
1012
|
+
container_registries: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryArgs']]]] = None):
|
|
1013
|
+
"""
|
|
1014
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] container_image_names: This is the full image reference, as would be specified to "docker pull". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry.
|
|
1015
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerRegistryArgs']]] container_registries: If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.
|
|
1016
|
+
"""
|
|
1017
|
+
pulumi.set(__self__, "type", type)
|
|
1018
|
+
if container_image_names is not None:
|
|
1019
|
+
pulumi.set(__self__, "container_image_names", container_image_names)
|
|
1020
|
+
if container_registries is not None:
|
|
1021
|
+
pulumi.set(__self__, "container_registries", container_registries)
|
|
1022
|
+
|
|
1023
|
+
@property
|
|
1024
|
+
@pulumi.getter
|
|
1025
|
+
def type(self) -> pulumi.Input[Union[str, 'ContainerType']]:
|
|
1026
|
+
return pulumi.get(self, "type")
|
|
1027
|
+
|
|
1028
|
+
@type.setter
|
|
1029
|
+
def type(self, value: pulumi.Input[Union[str, 'ContainerType']]):
|
|
1030
|
+
pulumi.set(self, "type", value)
|
|
1031
|
+
|
|
1032
|
+
@property
|
|
1033
|
+
@pulumi.getter(name="containerImageNames")
|
|
1034
|
+
def container_image_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
1035
|
+
"""
|
|
1036
|
+
This is the full image reference, as would be specified to "docker pull". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry.
|
|
1037
|
+
"""
|
|
1038
|
+
return pulumi.get(self, "container_image_names")
|
|
1039
|
+
|
|
1040
|
+
@container_image_names.setter
|
|
1041
|
+
def container_image_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
1042
|
+
pulumi.set(self, "container_image_names", value)
|
|
1043
|
+
|
|
1044
|
+
@property
|
|
1045
|
+
@pulumi.getter(name="containerRegistries")
|
|
1046
|
+
def container_registries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryArgs']]]]:
|
|
1047
|
+
"""
|
|
1048
|
+
If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here.
|
|
1049
|
+
"""
|
|
1050
|
+
return pulumi.get(self, "container_registries")
|
|
1051
|
+
|
|
1052
|
+
@container_registries.setter
|
|
1053
|
+
def container_registries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerRegistryArgs']]]]):
|
|
1054
|
+
pulumi.set(self, "container_registries", value)
|
|
1055
|
+
|
|
1056
|
+
|
|
1057
|
+
if not MYPY:
|
|
1058
|
+
class ContainerHostBatchBindMountEntryArgsDict(TypedDict):
|
|
1059
|
+
is_read_only: NotRequired[pulumi.Input[bool]]
|
|
1060
|
+
"""
|
|
1061
|
+
For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path.
|
|
1062
|
+
"""
|
|
1063
|
+
source: NotRequired[pulumi.Input[Union[str, 'ContainerHostDataPath']]]
|
|
1064
|
+
elif False:
|
|
1065
|
+
ContainerHostBatchBindMountEntryArgsDict: TypeAlias = Mapping[str, Any]
|
|
1066
|
+
|
|
1067
|
+
@pulumi.input_type
|
|
1068
|
+
class ContainerHostBatchBindMountEntryArgs:
|
|
1069
|
+
def __init__(__self__, *,
|
|
1070
|
+
is_read_only: Optional[pulumi.Input[bool]] = None,
|
|
1071
|
+
source: Optional[pulumi.Input[Union[str, 'ContainerHostDataPath']]] = None):
|
|
1072
|
+
"""
|
|
1073
|
+
:param pulumi.Input[bool] is_read_only: For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path.
|
|
1074
|
+
"""
|
|
1075
|
+
if is_read_only is not None:
|
|
1076
|
+
pulumi.set(__self__, "is_read_only", is_read_only)
|
|
1077
|
+
if source is not None:
|
|
1078
|
+
pulumi.set(__self__, "source", source)
|
|
1079
|
+
|
|
1080
|
+
@property
|
|
1081
|
+
@pulumi.getter(name="isReadOnly")
|
|
1082
|
+
def is_read_only(self) -> Optional[pulumi.Input[bool]]:
|
|
1083
|
+
"""
|
|
1084
|
+
For Linux, if you mount this path as a read/write mode, this does not mean that all users in container have the read/write access for the path, it depends on the access in host VM. If this path is mounted read-only, all users within the container will not be able to modify the path.
|
|
1085
|
+
"""
|
|
1086
|
+
return pulumi.get(self, "is_read_only")
|
|
1087
|
+
|
|
1088
|
+
@is_read_only.setter
|
|
1089
|
+
def is_read_only(self, value: Optional[pulumi.Input[bool]]):
|
|
1090
|
+
pulumi.set(self, "is_read_only", value)
|
|
1091
|
+
|
|
1092
|
+
@property
|
|
1093
|
+
@pulumi.getter
|
|
1094
|
+
def source(self) -> Optional[pulumi.Input[Union[str, 'ContainerHostDataPath']]]:
|
|
1095
|
+
return pulumi.get(self, "source")
|
|
1096
|
+
|
|
1097
|
+
@source.setter
|
|
1098
|
+
def source(self, value: Optional[pulumi.Input[Union[str, 'ContainerHostDataPath']]]):
|
|
1099
|
+
pulumi.set(self, "source", value)
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
if not MYPY:
|
|
1103
|
+
class ContainerRegistryArgsDict(TypedDict):
|
|
1104
|
+
identity_reference: NotRequired[pulumi.Input['ComputeNodeIdentityReferenceArgsDict']]
|
|
1105
|
+
"""
|
|
1106
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
1107
|
+
"""
|
|
1108
|
+
password: NotRequired[pulumi.Input[str]]
|
|
1109
|
+
registry_server: NotRequired[pulumi.Input[str]]
|
|
1110
|
+
"""
|
|
1111
|
+
If omitted, the default is "docker.io".
|
|
1112
|
+
"""
|
|
1113
|
+
user_name: NotRequired[pulumi.Input[str]]
|
|
1114
|
+
elif False:
|
|
1115
|
+
ContainerRegistryArgsDict: TypeAlias = Mapping[str, Any]
|
|
1116
|
+
|
|
1117
|
+
@pulumi.input_type
|
|
1118
|
+
class ContainerRegistryArgs:
|
|
1119
|
+
def __init__(__self__, *,
|
|
1120
|
+
identity_reference: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']] = None,
|
|
1121
|
+
password: Optional[pulumi.Input[str]] = None,
|
|
1122
|
+
registry_server: Optional[pulumi.Input[str]] = None,
|
|
1123
|
+
user_name: Optional[pulumi.Input[str]] = None):
|
|
1124
|
+
"""
|
|
1125
|
+
:param pulumi.Input['ComputeNodeIdentityReferenceArgs'] identity_reference: The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
1126
|
+
:param pulumi.Input[str] registry_server: If omitted, the default is "docker.io".
|
|
1127
|
+
"""
|
|
1128
|
+
if identity_reference is not None:
|
|
1129
|
+
pulumi.set(__self__, "identity_reference", identity_reference)
|
|
1130
|
+
if password is not None:
|
|
1131
|
+
pulumi.set(__self__, "password", password)
|
|
1132
|
+
if registry_server is not None:
|
|
1133
|
+
pulumi.set(__self__, "registry_server", registry_server)
|
|
1134
|
+
if user_name is not None:
|
|
1135
|
+
pulumi.set(__self__, "user_name", user_name)
|
|
1136
|
+
|
|
1137
|
+
@property
|
|
1138
|
+
@pulumi.getter(name="identityReference")
|
|
1139
|
+
def identity_reference(self) -> Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]:
|
|
1140
|
+
"""
|
|
1141
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
1142
|
+
"""
|
|
1143
|
+
return pulumi.get(self, "identity_reference")
|
|
1144
|
+
|
|
1145
|
+
@identity_reference.setter
|
|
1146
|
+
def identity_reference(self, value: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]):
|
|
1147
|
+
pulumi.set(self, "identity_reference", value)
|
|
1148
|
+
|
|
1149
|
+
@property
|
|
1150
|
+
@pulumi.getter
|
|
1151
|
+
def password(self) -> Optional[pulumi.Input[str]]:
|
|
1152
|
+
return pulumi.get(self, "password")
|
|
1153
|
+
|
|
1154
|
+
@password.setter
|
|
1155
|
+
def password(self, value: Optional[pulumi.Input[str]]):
|
|
1156
|
+
pulumi.set(self, "password", value)
|
|
1157
|
+
|
|
1158
|
+
@property
|
|
1159
|
+
@pulumi.getter(name="registryServer")
|
|
1160
|
+
def registry_server(self) -> Optional[pulumi.Input[str]]:
|
|
1161
|
+
"""
|
|
1162
|
+
If omitted, the default is "docker.io".
|
|
1163
|
+
"""
|
|
1164
|
+
return pulumi.get(self, "registry_server")
|
|
1165
|
+
|
|
1166
|
+
@registry_server.setter
|
|
1167
|
+
def registry_server(self, value: Optional[pulumi.Input[str]]):
|
|
1168
|
+
pulumi.set(self, "registry_server", value)
|
|
1169
|
+
|
|
1170
|
+
@property
|
|
1171
|
+
@pulumi.getter(name="userName")
|
|
1172
|
+
def user_name(self) -> Optional[pulumi.Input[str]]:
|
|
1173
|
+
return pulumi.get(self, "user_name")
|
|
1174
|
+
|
|
1175
|
+
@user_name.setter
|
|
1176
|
+
def user_name(self, value: Optional[pulumi.Input[str]]):
|
|
1177
|
+
pulumi.set(self, "user_name", value)
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
if not MYPY:
|
|
1181
|
+
class DataDiskArgsDict(TypedDict):
|
|
1182
|
+
"""
|
|
1183
|
+
Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them.
|
|
1184
|
+
"""
|
|
1185
|
+
disk_size_gb: pulumi.Input[int]
|
|
1186
|
+
lun: pulumi.Input[int]
|
|
1187
|
+
"""
|
|
1188
|
+
The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
|
|
1189
|
+
"""
|
|
1190
|
+
caching: NotRequired[pulumi.Input['CachingType']]
|
|
1191
|
+
"""
|
|
1192
|
+
Values are:
|
|
1193
|
+
|
|
1194
|
+
none - The caching mode for the disk is not enabled.
|
|
1195
|
+
readOnly - The caching mode for the disk is read only.
|
|
1196
|
+
readWrite - The caching mode for the disk is read and write.
|
|
1197
|
+
|
|
1198
|
+
The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
|
|
1199
|
+
"""
|
|
1200
|
+
storage_account_type: NotRequired[pulumi.Input['StorageAccountType']]
|
|
1201
|
+
"""
|
|
1202
|
+
If omitted, the default is "Standard_LRS". Values are:
|
|
1203
|
+
|
|
1204
|
+
Standard_LRS - The data disk should use standard locally redundant storage.
|
|
1205
|
+
Premium_LRS - The data disk should use premium locally redundant storage.
|
|
1206
|
+
"""
|
|
1207
|
+
elif False:
|
|
1208
|
+
DataDiskArgsDict: TypeAlias = Mapping[str, Any]
|
|
1209
|
+
|
|
1210
|
+
@pulumi.input_type
|
|
1211
|
+
class DataDiskArgs:
|
|
1212
|
+
def __init__(__self__, *,
|
|
1213
|
+
disk_size_gb: pulumi.Input[int],
|
|
1214
|
+
lun: pulumi.Input[int],
|
|
1215
|
+
caching: Optional[pulumi.Input['CachingType']] = None,
|
|
1216
|
+
storage_account_type: Optional[pulumi.Input['StorageAccountType']] = None):
|
|
1217
|
+
"""
|
|
1218
|
+
Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them.
|
|
1219
|
+
:param pulumi.Input[int] lun: The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
|
|
1220
|
+
:param pulumi.Input['CachingType'] caching: Values are:
|
|
1221
|
+
|
|
1222
|
+
none - The caching mode for the disk is not enabled.
|
|
1223
|
+
readOnly - The caching mode for the disk is read only.
|
|
1224
|
+
readWrite - The caching mode for the disk is read and write.
|
|
1225
|
+
|
|
1226
|
+
The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
|
|
1227
|
+
:param pulumi.Input['StorageAccountType'] storage_account_type: If omitted, the default is "Standard_LRS". Values are:
|
|
1228
|
+
|
|
1229
|
+
Standard_LRS - The data disk should use standard locally redundant storage.
|
|
1230
|
+
Premium_LRS - The data disk should use premium locally redundant storage.
|
|
1231
|
+
"""
|
|
1232
|
+
pulumi.set(__self__, "disk_size_gb", disk_size_gb)
|
|
1233
|
+
pulumi.set(__self__, "lun", lun)
|
|
1234
|
+
if caching is not None:
|
|
1235
|
+
pulumi.set(__self__, "caching", caching)
|
|
1236
|
+
if storage_account_type is not None:
|
|
1237
|
+
pulumi.set(__self__, "storage_account_type", storage_account_type)
|
|
1238
|
+
|
|
1239
|
+
@property
|
|
1240
|
+
@pulumi.getter(name="diskSizeGB")
|
|
1241
|
+
def disk_size_gb(self) -> pulumi.Input[int]:
|
|
1242
|
+
return pulumi.get(self, "disk_size_gb")
|
|
1243
|
+
|
|
1244
|
+
@disk_size_gb.setter
|
|
1245
|
+
def disk_size_gb(self, value: pulumi.Input[int]):
|
|
1246
|
+
pulumi.set(self, "disk_size_gb", value)
|
|
1247
|
+
|
|
1248
|
+
@property
|
|
1249
|
+
@pulumi.getter
|
|
1250
|
+
def lun(self) -> pulumi.Input[int]:
|
|
1251
|
+
"""
|
|
1252
|
+
The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive.
|
|
1253
|
+
"""
|
|
1254
|
+
return pulumi.get(self, "lun")
|
|
1255
|
+
|
|
1256
|
+
@lun.setter
|
|
1257
|
+
def lun(self, value: pulumi.Input[int]):
|
|
1258
|
+
pulumi.set(self, "lun", value)
|
|
1259
|
+
|
|
1260
|
+
@property
|
|
1261
|
+
@pulumi.getter
|
|
1262
|
+
def caching(self) -> Optional[pulumi.Input['CachingType']]:
|
|
1263
|
+
"""
|
|
1264
|
+
Values are:
|
|
1265
|
+
|
|
1266
|
+
none - The caching mode for the disk is not enabled.
|
|
1267
|
+
readOnly - The caching mode for the disk is read only.
|
|
1268
|
+
readWrite - The caching mode for the disk is read and write.
|
|
1269
|
+
|
|
1270
|
+
The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
|
|
1271
|
+
"""
|
|
1272
|
+
return pulumi.get(self, "caching")
|
|
1273
|
+
|
|
1274
|
+
@caching.setter
|
|
1275
|
+
def caching(self, value: Optional[pulumi.Input['CachingType']]):
|
|
1276
|
+
pulumi.set(self, "caching", value)
|
|
1277
|
+
|
|
1278
|
+
@property
|
|
1279
|
+
@pulumi.getter(name="storageAccountType")
|
|
1280
|
+
def storage_account_type(self) -> Optional[pulumi.Input['StorageAccountType']]:
|
|
1281
|
+
"""
|
|
1282
|
+
If omitted, the default is "Standard_LRS". Values are:
|
|
1283
|
+
|
|
1284
|
+
Standard_LRS - The data disk should use standard locally redundant storage.
|
|
1285
|
+
Premium_LRS - The data disk should use premium locally redundant storage.
|
|
1286
|
+
"""
|
|
1287
|
+
return pulumi.get(self, "storage_account_type")
|
|
1288
|
+
|
|
1289
|
+
@storage_account_type.setter
|
|
1290
|
+
def storage_account_type(self, value: Optional[pulumi.Input['StorageAccountType']]):
|
|
1291
|
+
pulumi.set(self, "storage_account_type", value)
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
if not MYPY:
|
|
1295
|
+
class DeploymentConfigurationArgsDict(TypedDict):
|
|
1296
|
+
virtual_machine_configuration: NotRequired[pulumi.Input['VirtualMachineConfigurationArgsDict']]
|
|
1297
|
+
elif False:
|
|
1298
|
+
DeploymentConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
1299
|
+
|
|
1300
|
+
@pulumi.input_type
|
|
1301
|
+
class DeploymentConfigurationArgs:
|
|
1302
|
+
def __init__(__self__, *,
|
|
1303
|
+
virtual_machine_configuration: Optional[pulumi.Input['VirtualMachineConfigurationArgs']] = None):
|
|
1304
|
+
if virtual_machine_configuration is not None:
|
|
1305
|
+
pulumi.set(__self__, "virtual_machine_configuration", virtual_machine_configuration)
|
|
1306
|
+
|
|
1307
|
+
@property
|
|
1308
|
+
@pulumi.getter(name="virtualMachineConfiguration")
|
|
1309
|
+
def virtual_machine_configuration(self) -> Optional[pulumi.Input['VirtualMachineConfigurationArgs']]:
|
|
1310
|
+
return pulumi.get(self, "virtual_machine_configuration")
|
|
1311
|
+
|
|
1312
|
+
@virtual_machine_configuration.setter
|
|
1313
|
+
def virtual_machine_configuration(self, value: Optional[pulumi.Input['VirtualMachineConfigurationArgs']]):
|
|
1314
|
+
pulumi.set(self, "virtual_machine_configuration", value)
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
if not MYPY:
|
|
1318
|
+
class DiffDiskSettingsArgsDict(TypedDict):
|
|
1319
|
+
placement: NotRequired[pulumi.Input['DiffDiskPlacement']]
|
|
1320
|
+
"""
|
|
1321
|
+
This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.
|
|
1322
|
+
"""
|
|
1323
|
+
elif False:
|
|
1324
|
+
DiffDiskSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
1325
|
+
|
|
1326
|
+
@pulumi.input_type
|
|
1327
|
+
class DiffDiskSettingsArgs:
|
|
1328
|
+
def __init__(__self__, *,
|
|
1329
|
+
placement: Optional[pulumi.Input['DiffDiskPlacement']] = None):
|
|
1330
|
+
"""
|
|
1331
|
+
:param pulumi.Input['DiffDiskPlacement'] placement: This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.
|
|
1332
|
+
"""
|
|
1333
|
+
if placement is not None:
|
|
1334
|
+
pulumi.set(__self__, "placement", placement)
|
|
1335
|
+
|
|
1336
|
+
@property
|
|
1337
|
+
@pulumi.getter
|
|
1338
|
+
def placement(self) -> Optional[pulumi.Input['DiffDiskPlacement']]:
|
|
1339
|
+
"""
|
|
1340
|
+
This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.
|
|
1341
|
+
"""
|
|
1342
|
+
return pulumi.get(self, "placement")
|
|
1343
|
+
|
|
1344
|
+
@placement.setter
|
|
1345
|
+
def placement(self, value: Optional[pulumi.Input['DiffDiskPlacement']]):
|
|
1346
|
+
pulumi.set(self, "placement", value)
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
if not MYPY:
|
|
1350
|
+
class DiskEncryptionConfigurationArgsDict(TypedDict):
|
|
1351
|
+
"""
|
|
1352
|
+
The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Azure Compute Gallery Image.
|
|
1353
|
+
"""
|
|
1354
|
+
targets: NotRequired[pulumi.Input[Sequence[pulumi.Input['DiskEncryptionTarget']]]]
|
|
1355
|
+
"""
|
|
1356
|
+
On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
|
|
1357
|
+
"""
|
|
1358
|
+
elif False:
|
|
1359
|
+
DiskEncryptionConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
1360
|
+
|
|
1361
|
+
@pulumi.input_type
|
|
1362
|
+
class DiskEncryptionConfigurationArgs:
|
|
1363
|
+
def __init__(__self__, *,
|
|
1364
|
+
targets: Optional[pulumi.Input[Sequence[pulumi.Input['DiskEncryptionTarget']]]] = None):
|
|
1365
|
+
"""
|
|
1366
|
+
The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Azure Compute Gallery Image.
|
|
1367
|
+
:param pulumi.Input[Sequence[pulumi.Input['DiskEncryptionTarget']]] targets: On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
|
|
1368
|
+
"""
|
|
1369
|
+
if targets is not None:
|
|
1370
|
+
pulumi.set(__self__, "targets", targets)
|
|
1371
|
+
|
|
1372
|
+
@property
|
|
1373
|
+
@pulumi.getter
|
|
1374
|
+
def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DiskEncryptionTarget']]]]:
|
|
1375
|
+
"""
|
|
1376
|
+
On Linux pool, only "TemporaryDisk" is supported; on Windows pool, "OsDisk" and "TemporaryDisk" must be specified.
|
|
1377
|
+
"""
|
|
1378
|
+
return pulumi.get(self, "targets")
|
|
1379
|
+
|
|
1380
|
+
@targets.setter
|
|
1381
|
+
def targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DiskEncryptionTarget']]]]):
|
|
1382
|
+
pulumi.set(self, "targets", value)
|
|
1383
|
+
|
|
1384
|
+
|
|
1385
|
+
if not MYPY:
|
|
1386
|
+
class EncryptionPropertiesArgsDict(TypedDict):
|
|
1387
|
+
"""
|
|
1388
|
+
Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.
|
|
1389
|
+
"""
|
|
1390
|
+
key_source: NotRequired[pulumi.Input['KeySource']]
|
|
1391
|
+
"""
|
|
1392
|
+
Type of the key source.
|
|
1393
|
+
"""
|
|
1394
|
+
key_vault_properties: NotRequired[pulumi.Input['KeyVaultPropertiesArgsDict']]
|
|
1395
|
+
"""
|
|
1396
|
+
Additional details when using Microsoft.KeyVault
|
|
1397
|
+
"""
|
|
1398
|
+
elif False:
|
|
1399
|
+
EncryptionPropertiesArgsDict: TypeAlias = Mapping[str, Any]
|
|
1400
|
+
|
|
1401
|
+
@pulumi.input_type
|
|
1402
|
+
class EncryptionPropertiesArgs:
|
|
1403
|
+
def __init__(__self__, *,
|
|
1404
|
+
key_source: Optional[pulumi.Input['KeySource']] = None,
|
|
1405
|
+
key_vault_properties: Optional[pulumi.Input['KeyVaultPropertiesArgs']] = None):
|
|
1406
|
+
"""
|
|
1407
|
+
Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.
|
|
1408
|
+
:param pulumi.Input['KeySource'] key_source: Type of the key source.
|
|
1409
|
+
:param pulumi.Input['KeyVaultPropertiesArgs'] key_vault_properties: Additional details when using Microsoft.KeyVault
|
|
1410
|
+
"""
|
|
1411
|
+
if key_source is not None:
|
|
1412
|
+
pulumi.set(__self__, "key_source", key_source)
|
|
1413
|
+
if key_vault_properties is not None:
|
|
1414
|
+
pulumi.set(__self__, "key_vault_properties", key_vault_properties)
|
|
1415
|
+
|
|
1416
|
+
@property
|
|
1417
|
+
@pulumi.getter(name="keySource")
|
|
1418
|
+
def key_source(self) -> Optional[pulumi.Input['KeySource']]:
|
|
1419
|
+
"""
|
|
1420
|
+
Type of the key source.
|
|
1421
|
+
"""
|
|
1422
|
+
return pulumi.get(self, "key_source")
|
|
1423
|
+
|
|
1424
|
+
@key_source.setter
|
|
1425
|
+
def key_source(self, value: Optional[pulumi.Input['KeySource']]):
|
|
1426
|
+
pulumi.set(self, "key_source", value)
|
|
1427
|
+
|
|
1428
|
+
@property
|
|
1429
|
+
@pulumi.getter(name="keyVaultProperties")
|
|
1430
|
+
def key_vault_properties(self) -> Optional[pulumi.Input['KeyVaultPropertiesArgs']]:
|
|
1431
|
+
"""
|
|
1432
|
+
Additional details when using Microsoft.KeyVault
|
|
1433
|
+
"""
|
|
1434
|
+
return pulumi.get(self, "key_vault_properties")
|
|
1435
|
+
|
|
1436
|
+
@key_vault_properties.setter
|
|
1437
|
+
def key_vault_properties(self, value: Optional[pulumi.Input['KeyVaultPropertiesArgs']]):
|
|
1438
|
+
pulumi.set(self, "key_vault_properties", value)
|
|
1439
|
+
|
|
1440
|
+
|
|
1441
|
+
if not MYPY:
|
|
1442
|
+
class EndpointAccessProfileArgsDict(TypedDict):
|
|
1443
|
+
"""
|
|
1444
|
+
Network access profile for Batch endpoint.
|
|
1445
|
+
"""
|
|
1446
|
+
default_action: pulumi.Input['EndpointAccessDefaultAction']
|
|
1447
|
+
"""
|
|
1448
|
+
Default action for endpoint access. It is only applicable when publicNetworkAccess is enabled.
|
|
1449
|
+
"""
|
|
1450
|
+
ip_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['IPRuleArgsDict']]]]
|
|
1451
|
+
"""
|
|
1452
|
+
Array of IP ranges to filter client IP address.
|
|
1453
|
+
"""
|
|
1454
|
+
elif False:
|
|
1455
|
+
EndpointAccessProfileArgsDict: TypeAlias = Mapping[str, Any]
|
|
1456
|
+
|
|
1457
|
+
@pulumi.input_type
|
|
1458
|
+
class EndpointAccessProfileArgs:
|
|
1459
|
+
def __init__(__self__, *,
|
|
1460
|
+
default_action: pulumi.Input['EndpointAccessDefaultAction'],
|
|
1461
|
+
ip_rules: Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]] = None):
|
|
1462
|
+
"""
|
|
1463
|
+
Network access profile for Batch endpoint.
|
|
1464
|
+
:param pulumi.Input['EndpointAccessDefaultAction'] default_action: Default action for endpoint access. It is only applicable when publicNetworkAccess is enabled.
|
|
1465
|
+
:param pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]] ip_rules: Array of IP ranges to filter client IP address.
|
|
1466
|
+
"""
|
|
1467
|
+
pulumi.set(__self__, "default_action", default_action)
|
|
1468
|
+
if ip_rules is not None:
|
|
1469
|
+
pulumi.set(__self__, "ip_rules", ip_rules)
|
|
1470
|
+
|
|
1471
|
+
@property
|
|
1472
|
+
@pulumi.getter(name="defaultAction")
|
|
1473
|
+
def default_action(self) -> pulumi.Input['EndpointAccessDefaultAction']:
|
|
1474
|
+
"""
|
|
1475
|
+
Default action for endpoint access. It is only applicable when publicNetworkAccess is enabled.
|
|
1476
|
+
"""
|
|
1477
|
+
return pulumi.get(self, "default_action")
|
|
1478
|
+
|
|
1479
|
+
@default_action.setter
|
|
1480
|
+
def default_action(self, value: pulumi.Input['EndpointAccessDefaultAction']):
|
|
1481
|
+
pulumi.set(self, "default_action", value)
|
|
1482
|
+
|
|
1483
|
+
@property
|
|
1484
|
+
@pulumi.getter(name="ipRules")
|
|
1485
|
+
def ip_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]]:
|
|
1486
|
+
"""
|
|
1487
|
+
Array of IP ranges to filter client IP address.
|
|
1488
|
+
"""
|
|
1489
|
+
return pulumi.get(self, "ip_rules")
|
|
1490
|
+
|
|
1491
|
+
@ip_rules.setter
|
|
1492
|
+
def ip_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['IPRuleArgs']]]]):
|
|
1493
|
+
pulumi.set(self, "ip_rules", value)
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
if not MYPY:
|
|
1497
|
+
class EnvironmentSettingArgsDict(TypedDict):
|
|
1498
|
+
name: pulumi.Input[str]
|
|
1499
|
+
value: NotRequired[pulumi.Input[str]]
|
|
1500
|
+
elif False:
|
|
1501
|
+
EnvironmentSettingArgsDict: TypeAlias = Mapping[str, Any]
|
|
1502
|
+
|
|
1503
|
+
@pulumi.input_type
|
|
1504
|
+
class EnvironmentSettingArgs:
|
|
1505
|
+
def __init__(__self__, *,
|
|
1506
|
+
name: pulumi.Input[str],
|
|
1507
|
+
value: Optional[pulumi.Input[str]] = None):
|
|
1508
|
+
pulumi.set(__self__, "name", name)
|
|
1509
|
+
if value is not None:
|
|
1510
|
+
pulumi.set(__self__, "value", value)
|
|
1511
|
+
|
|
1512
|
+
@property
|
|
1513
|
+
@pulumi.getter
|
|
1514
|
+
def name(self) -> pulumi.Input[str]:
|
|
1515
|
+
return pulumi.get(self, "name")
|
|
1516
|
+
|
|
1517
|
+
@name.setter
|
|
1518
|
+
def name(self, value: pulumi.Input[str]):
|
|
1519
|
+
pulumi.set(self, "name", value)
|
|
1520
|
+
|
|
1521
|
+
@property
|
|
1522
|
+
@pulumi.getter
|
|
1523
|
+
def value(self) -> Optional[pulumi.Input[str]]:
|
|
1524
|
+
return pulumi.get(self, "value")
|
|
1525
|
+
|
|
1526
|
+
@value.setter
|
|
1527
|
+
def value(self, value: Optional[pulumi.Input[str]]):
|
|
1528
|
+
pulumi.set(self, "value", value)
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
if not MYPY:
|
|
1532
|
+
class FixedScaleSettingsArgsDict(TypedDict):
|
|
1533
|
+
node_deallocation_option: NotRequired[pulumi.Input['ComputeNodeDeallocationOption']]
|
|
1534
|
+
"""
|
|
1535
|
+
If omitted, the default value is Requeue.
|
|
1536
|
+
"""
|
|
1537
|
+
resize_timeout: NotRequired[pulumi.Input[str]]
|
|
1538
|
+
"""
|
|
1539
|
+
The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
|
|
1540
|
+
"""
|
|
1541
|
+
target_dedicated_nodes: NotRequired[pulumi.Input[int]]
|
|
1542
|
+
"""
|
|
1543
|
+
At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1544
|
+
"""
|
|
1545
|
+
target_low_priority_nodes: NotRequired[pulumi.Input[int]]
|
|
1546
|
+
"""
|
|
1547
|
+
At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1548
|
+
"""
|
|
1549
|
+
elif False:
|
|
1550
|
+
FixedScaleSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
1551
|
+
|
|
1552
|
+
@pulumi.input_type
|
|
1553
|
+
class FixedScaleSettingsArgs:
|
|
1554
|
+
def __init__(__self__, *,
|
|
1555
|
+
node_deallocation_option: Optional[pulumi.Input['ComputeNodeDeallocationOption']] = None,
|
|
1556
|
+
resize_timeout: Optional[pulumi.Input[str]] = None,
|
|
1557
|
+
target_dedicated_nodes: Optional[pulumi.Input[int]] = None,
|
|
1558
|
+
target_low_priority_nodes: Optional[pulumi.Input[int]] = None):
|
|
1559
|
+
"""
|
|
1560
|
+
:param pulumi.Input['ComputeNodeDeallocationOption'] node_deallocation_option: If omitted, the default value is Requeue.
|
|
1561
|
+
:param pulumi.Input[str] resize_timeout: The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
|
|
1562
|
+
:param pulumi.Input[int] target_dedicated_nodes: At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1563
|
+
:param pulumi.Input[int] target_low_priority_nodes: At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1564
|
+
"""
|
|
1565
|
+
if node_deallocation_option is not None:
|
|
1566
|
+
pulumi.set(__self__, "node_deallocation_option", node_deallocation_option)
|
|
1567
|
+
if resize_timeout is None:
|
|
1568
|
+
resize_timeout = 'PT15M'
|
|
1569
|
+
if resize_timeout is not None:
|
|
1570
|
+
pulumi.set(__self__, "resize_timeout", resize_timeout)
|
|
1571
|
+
if target_dedicated_nodes is not None:
|
|
1572
|
+
pulumi.set(__self__, "target_dedicated_nodes", target_dedicated_nodes)
|
|
1573
|
+
if target_low_priority_nodes is not None:
|
|
1574
|
+
pulumi.set(__self__, "target_low_priority_nodes", target_low_priority_nodes)
|
|
1575
|
+
|
|
1576
|
+
@property
|
|
1577
|
+
@pulumi.getter(name="nodeDeallocationOption")
|
|
1578
|
+
def node_deallocation_option(self) -> Optional[pulumi.Input['ComputeNodeDeallocationOption']]:
|
|
1579
|
+
"""
|
|
1580
|
+
If omitted, the default value is Requeue.
|
|
1581
|
+
"""
|
|
1582
|
+
return pulumi.get(self, "node_deallocation_option")
|
|
1583
|
+
|
|
1584
|
+
@node_deallocation_option.setter
|
|
1585
|
+
def node_deallocation_option(self, value: Optional[pulumi.Input['ComputeNodeDeallocationOption']]):
|
|
1586
|
+
pulumi.set(self, "node_deallocation_option", value)
|
|
1587
|
+
|
|
1588
|
+
@property
|
|
1589
|
+
@pulumi.getter(name="resizeTimeout")
|
|
1590
|
+
def resize_timeout(self) -> Optional[pulumi.Input[str]]:
|
|
1591
|
+
"""
|
|
1592
|
+
The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request).
|
|
1593
|
+
"""
|
|
1594
|
+
return pulumi.get(self, "resize_timeout")
|
|
1595
|
+
|
|
1596
|
+
@resize_timeout.setter
|
|
1597
|
+
def resize_timeout(self, value: Optional[pulumi.Input[str]]):
|
|
1598
|
+
pulumi.set(self, "resize_timeout", value)
|
|
1599
|
+
|
|
1600
|
+
@property
|
|
1601
|
+
@pulumi.getter(name="targetDedicatedNodes")
|
|
1602
|
+
def target_dedicated_nodes(self) -> Optional[pulumi.Input[int]]:
|
|
1603
|
+
"""
|
|
1604
|
+
At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1605
|
+
"""
|
|
1606
|
+
return pulumi.get(self, "target_dedicated_nodes")
|
|
1607
|
+
|
|
1608
|
+
@target_dedicated_nodes.setter
|
|
1609
|
+
def target_dedicated_nodes(self, value: Optional[pulumi.Input[int]]):
|
|
1610
|
+
pulumi.set(self, "target_dedicated_nodes", value)
|
|
1611
|
+
|
|
1612
|
+
@property
|
|
1613
|
+
@pulumi.getter(name="targetLowPriorityNodes")
|
|
1614
|
+
def target_low_priority_nodes(self) -> Optional[pulumi.Input[int]]:
|
|
1615
|
+
"""
|
|
1616
|
+
At least one of targetDedicatedNodes, targetLowPriorityNodes must be set.
|
|
1617
|
+
"""
|
|
1618
|
+
return pulumi.get(self, "target_low_priority_nodes")
|
|
1619
|
+
|
|
1620
|
+
@target_low_priority_nodes.setter
|
|
1621
|
+
def target_low_priority_nodes(self, value: Optional[pulumi.Input[int]]):
|
|
1622
|
+
pulumi.set(self, "target_low_priority_nodes", value)
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
if not MYPY:
|
|
1626
|
+
class IPRuleArgsDict(TypedDict):
|
|
1627
|
+
"""
|
|
1628
|
+
Rule to filter client IP address.
|
|
1629
|
+
"""
|
|
1630
|
+
action: pulumi.Input['IPRuleAction']
|
|
1631
|
+
"""
|
|
1632
|
+
Action when client IP address is matched.
|
|
1633
|
+
"""
|
|
1634
|
+
value: pulumi.Input[str]
|
|
1635
|
+
"""
|
|
1636
|
+
IPv4 address, or IPv4 address range in CIDR format.
|
|
1637
|
+
"""
|
|
1638
|
+
elif False:
|
|
1639
|
+
IPRuleArgsDict: TypeAlias = Mapping[str, Any]
|
|
1640
|
+
|
|
1641
|
+
@pulumi.input_type
|
|
1642
|
+
class IPRuleArgs:
|
|
1643
|
+
def __init__(__self__, *,
|
|
1644
|
+
action: pulumi.Input['IPRuleAction'],
|
|
1645
|
+
value: pulumi.Input[str]):
|
|
1646
|
+
"""
|
|
1647
|
+
Rule to filter client IP address.
|
|
1648
|
+
:param pulumi.Input['IPRuleAction'] action: Action when client IP address is matched.
|
|
1649
|
+
:param pulumi.Input[str] value: IPv4 address, or IPv4 address range in CIDR format.
|
|
1650
|
+
"""
|
|
1651
|
+
pulumi.set(__self__, "action", action)
|
|
1652
|
+
pulumi.set(__self__, "value", value)
|
|
1653
|
+
|
|
1654
|
+
@property
|
|
1655
|
+
@pulumi.getter
|
|
1656
|
+
def action(self) -> pulumi.Input['IPRuleAction']:
|
|
1657
|
+
"""
|
|
1658
|
+
Action when client IP address is matched.
|
|
1659
|
+
"""
|
|
1660
|
+
return pulumi.get(self, "action")
|
|
1661
|
+
|
|
1662
|
+
@action.setter
|
|
1663
|
+
def action(self, value: pulumi.Input['IPRuleAction']):
|
|
1664
|
+
pulumi.set(self, "action", value)
|
|
1665
|
+
|
|
1666
|
+
@property
|
|
1667
|
+
@pulumi.getter
|
|
1668
|
+
def value(self) -> pulumi.Input[str]:
|
|
1669
|
+
"""
|
|
1670
|
+
IPv4 address, or IPv4 address range in CIDR format.
|
|
1671
|
+
"""
|
|
1672
|
+
return pulumi.get(self, "value")
|
|
1673
|
+
|
|
1674
|
+
@value.setter
|
|
1675
|
+
def value(self, value: pulumi.Input[str]):
|
|
1676
|
+
pulumi.set(self, "value", value)
|
|
1677
|
+
|
|
1678
|
+
|
|
1679
|
+
if not MYPY:
|
|
1680
|
+
class ImageReferenceArgsDict(TypedDict):
|
|
1681
|
+
community_gallery_image_id: NotRequired[pulumi.Input[str]]
|
|
1682
|
+
"""
|
|
1683
|
+
This property is mutually exclusive with other properties and can be fetched from community gallery image GET call.
|
|
1684
|
+
"""
|
|
1685
|
+
id: NotRequired[pulumi.Input[str]]
|
|
1686
|
+
"""
|
|
1687
|
+
This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
|
|
1688
|
+
"""
|
|
1689
|
+
offer: NotRequired[pulumi.Input[str]]
|
|
1690
|
+
"""
|
|
1691
|
+
For example, UbuntuServer or WindowsServer.
|
|
1692
|
+
"""
|
|
1693
|
+
publisher: NotRequired[pulumi.Input[str]]
|
|
1694
|
+
"""
|
|
1695
|
+
For example, Canonical or MicrosoftWindowsServer.
|
|
1696
|
+
"""
|
|
1697
|
+
shared_gallery_image_id: NotRequired[pulumi.Input[str]]
|
|
1698
|
+
"""
|
|
1699
|
+
This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call.
|
|
1700
|
+
"""
|
|
1701
|
+
sku: NotRequired[pulumi.Input[str]]
|
|
1702
|
+
"""
|
|
1703
|
+
For example, 18.04-LTS or 2022-datacenter.
|
|
1704
|
+
"""
|
|
1705
|
+
version: NotRequired[pulumi.Input[str]]
|
|
1706
|
+
"""
|
|
1707
|
+
A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
|
|
1708
|
+
"""
|
|
1709
|
+
elif False:
|
|
1710
|
+
ImageReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
1711
|
+
|
|
1712
|
+
@pulumi.input_type
|
|
1713
|
+
class ImageReferenceArgs:
|
|
1714
|
+
def __init__(__self__, *,
|
|
1715
|
+
community_gallery_image_id: Optional[pulumi.Input[str]] = None,
|
|
1716
|
+
id: Optional[pulumi.Input[str]] = None,
|
|
1717
|
+
offer: Optional[pulumi.Input[str]] = None,
|
|
1718
|
+
publisher: Optional[pulumi.Input[str]] = None,
|
|
1719
|
+
shared_gallery_image_id: Optional[pulumi.Input[str]] = None,
|
|
1720
|
+
sku: Optional[pulumi.Input[str]] = None,
|
|
1721
|
+
version: Optional[pulumi.Input[str]] = None):
|
|
1722
|
+
"""
|
|
1723
|
+
:param pulumi.Input[str] community_gallery_image_id: This property is mutually exclusive with other properties and can be fetched from community gallery image GET call.
|
|
1724
|
+
:param pulumi.Input[str] id: This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
|
|
1725
|
+
:param pulumi.Input[str] offer: For example, UbuntuServer or WindowsServer.
|
|
1726
|
+
:param pulumi.Input[str] publisher: For example, Canonical or MicrosoftWindowsServer.
|
|
1727
|
+
:param pulumi.Input[str] shared_gallery_image_id: This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call.
|
|
1728
|
+
:param pulumi.Input[str] sku: For example, 18.04-LTS or 2022-datacenter.
|
|
1729
|
+
:param pulumi.Input[str] version: A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
|
|
1730
|
+
"""
|
|
1731
|
+
if community_gallery_image_id is not None:
|
|
1732
|
+
pulumi.set(__self__, "community_gallery_image_id", community_gallery_image_id)
|
|
1733
|
+
if id is not None:
|
|
1734
|
+
pulumi.set(__self__, "id", id)
|
|
1735
|
+
if offer is not None:
|
|
1736
|
+
pulumi.set(__self__, "offer", offer)
|
|
1737
|
+
if publisher is not None:
|
|
1738
|
+
pulumi.set(__self__, "publisher", publisher)
|
|
1739
|
+
if shared_gallery_image_id is not None:
|
|
1740
|
+
pulumi.set(__self__, "shared_gallery_image_id", shared_gallery_image_id)
|
|
1741
|
+
if sku is not None:
|
|
1742
|
+
pulumi.set(__self__, "sku", sku)
|
|
1743
|
+
if version is not None:
|
|
1744
|
+
pulumi.set(__self__, "version", version)
|
|
1745
|
+
|
|
1746
|
+
@property
|
|
1747
|
+
@pulumi.getter(name="communityGalleryImageId")
|
|
1748
|
+
def community_gallery_image_id(self) -> Optional[pulumi.Input[str]]:
|
|
1749
|
+
"""
|
|
1750
|
+
This property is mutually exclusive with other properties and can be fetched from community gallery image GET call.
|
|
1751
|
+
"""
|
|
1752
|
+
return pulumi.get(self, "community_gallery_image_id")
|
|
1753
|
+
|
|
1754
|
+
@community_gallery_image_id.setter
|
|
1755
|
+
def community_gallery_image_id(self, value: Optional[pulumi.Input[str]]):
|
|
1756
|
+
pulumi.set(self, "community_gallery_image_id", value)
|
|
1757
|
+
|
|
1758
|
+
@property
|
|
1759
|
+
@pulumi.getter
|
|
1760
|
+
def id(self) -> Optional[pulumi.Input[str]]:
|
|
1761
|
+
"""
|
|
1762
|
+
This property is mutually exclusive with other properties. The Azure Compute Gallery Image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
|
|
1763
|
+
"""
|
|
1764
|
+
return pulumi.get(self, "id")
|
|
1765
|
+
|
|
1766
|
+
@id.setter
|
|
1767
|
+
def id(self, value: Optional[pulumi.Input[str]]):
|
|
1768
|
+
pulumi.set(self, "id", value)
|
|
1769
|
+
|
|
1770
|
+
@property
|
|
1771
|
+
@pulumi.getter
|
|
1772
|
+
def offer(self) -> Optional[pulumi.Input[str]]:
|
|
1773
|
+
"""
|
|
1774
|
+
For example, UbuntuServer or WindowsServer.
|
|
1775
|
+
"""
|
|
1776
|
+
return pulumi.get(self, "offer")
|
|
1777
|
+
|
|
1778
|
+
@offer.setter
|
|
1779
|
+
def offer(self, value: Optional[pulumi.Input[str]]):
|
|
1780
|
+
pulumi.set(self, "offer", value)
|
|
1781
|
+
|
|
1782
|
+
@property
|
|
1783
|
+
@pulumi.getter
|
|
1784
|
+
def publisher(self) -> Optional[pulumi.Input[str]]:
|
|
1785
|
+
"""
|
|
1786
|
+
For example, Canonical or MicrosoftWindowsServer.
|
|
1787
|
+
"""
|
|
1788
|
+
return pulumi.get(self, "publisher")
|
|
1789
|
+
|
|
1790
|
+
@publisher.setter
|
|
1791
|
+
def publisher(self, value: Optional[pulumi.Input[str]]):
|
|
1792
|
+
pulumi.set(self, "publisher", value)
|
|
1793
|
+
|
|
1794
|
+
@property
|
|
1795
|
+
@pulumi.getter(name="sharedGalleryImageId")
|
|
1796
|
+
def shared_gallery_image_id(self) -> Optional[pulumi.Input[str]]:
|
|
1797
|
+
"""
|
|
1798
|
+
This property is mutually exclusive with other properties and can be fetched from shared gallery image GET call.
|
|
1799
|
+
"""
|
|
1800
|
+
return pulumi.get(self, "shared_gallery_image_id")
|
|
1801
|
+
|
|
1802
|
+
@shared_gallery_image_id.setter
|
|
1803
|
+
def shared_gallery_image_id(self, value: Optional[pulumi.Input[str]]):
|
|
1804
|
+
pulumi.set(self, "shared_gallery_image_id", value)
|
|
1805
|
+
|
|
1806
|
+
@property
|
|
1807
|
+
@pulumi.getter
|
|
1808
|
+
def sku(self) -> Optional[pulumi.Input[str]]:
|
|
1809
|
+
"""
|
|
1810
|
+
For example, 18.04-LTS or 2022-datacenter.
|
|
1811
|
+
"""
|
|
1812
|
+
return pulumi.get(self, "sku")
|
|
1813
|
+
|
|
1814
|
+
@sku.setter
|
|
1815
|
+
def sku(self, value: Optional[pulumi.Input[str]]):
|
|
1816
|
+
pulumi.set(self, "sku", value)
|
|
1817
|
+
|
|
1818
|
+
@property
|
|
1819
|
+
@pulumi.getter
|
|
1820
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
|
1821
|
+
"""
|
|
1822
|
+
A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
|
|
1823
|
+
"""
|
|
1824
|
+
return pulumi.get(self, "version")
|
|
1825
|
+
|
|
1826
|
+
@version.setter
|
|
1827
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
|
1828
|
+
pulumi.set(self, "version", value)
|
|
1829
|
+
|
|
1830
|
+
|
|
1831
|
+
if not MYPY:
|
|
1832
|
+
class InboundNatPoolArgsDict(TypedDict):
|
|
1833
|
+
backend_port: pulumi.Input[int]
|
|
1834
|
+
"""
|
|
1835
|
+
This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
|
|
1836
|
+
"""
|
|
1837
|
+
frontend_port_range_end: pulumi.Input[int]
|
|
1838
|
+
"""
|
|
1839
|
+
Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1840
|
+
"""
|
|
1841
|
+
frontend_port_range_start: pulumi.Input[int]
|
|
1842
|
+
"""
|
|
1843
|
+
Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1844
|
+
"""
|
|
1845
|
+
name: pulumi.Input[str]
|
|
1846
|
+
"""
|
|
1847
|
+
The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400.
|
|
1848
|
+
"""
|
|
1849
|
+
protocol: pulumi.Input['InboundEndpointProtocol']
|
|
1850
|
+
network_security_group_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NetworkSecurityGroupRuleArgsDict']]]]
|
|
1851
|
+
"""
|
|
1852
|
+
The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
|
|
1853
|
+
"""
|
|
1854
|
+
elif False:
|
|
1855
|
+
InboundNatPoolArgsDict: TypeAlias = Mapping[str, Any]
|
|
1856
|
+
|
|
1857
|
+
@pulumi.input_type
|
|
1858
|
+
class InboundNatPoolArgs:
|
|
1859
|
+
def __init__(__self__, *,
|
|
1860
|
+
backend_port: pulumi.Input[int],
|
|
1861
|
+
frontend_port_range_end: pulumi.Input[int],
|
|
1862
|
+
frontend_port_range_start: pulumi.Input[int],
|
|
1863
|
+
name: pulumi.Input[str],
|
|
1864
|
+
protocol: pulumi.Input['InboundEndpointProtocol'],
|
|
1865
|
+
network_security_group_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkSecurityGroupRuleArgs']]]] = None):
|
|
1866
|
+
"""
|
|
1867
|
+
:param pulumi.Input[int] backend_port: This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
|
|
1868
|
+
:param pulumi.Input[int] frontend_port_range_end: Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1869
|
+
:param pulumi.Input[int] frontend_port_range_start: Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1870
|
+
:param pulumi.Input[str] name: The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400.
|
|
1871
|
+
:param pulumi.Input[Sequence[pulumi.Input['NetworkSecurityGroupRuleArgs']]] network_security_group_rules: The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
|
|
1872
|
+
"""
|
|
1873
|
+
pulumi.set(__self__, "backend_port", backend_port)
|
|
1874
|
+
pulumi.set(__self__, "frontend_port_range_end", frontend_port_range_end)
|
|
1875
|
+
pulumi.set(__self__, "frontend_port_range_start", frontend_port_range_start)
|
|
1876
|
+
pulumi.set(__self__, "name", name)
|
|
1877
|
+
pulumi.set(__self__, "protocol", protocol)
|
|
1878
|
+
if network_security_group_rules is not None:
|
|
1879
|
+
pulumi.set(__self__, "network_security_group_rules", network_security_group_rules)
|
|
1880
|
+
|
|
1881
|
+
@property
|
|
1882
|
+
@pulumi.getter(name="backendPort")
|
|
1883
|
+
def backend_port(self) -> pulumi.Input[int]:
|
|
1884
|
+
"""
|
|
1885
|
+
This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400.
|
|
1886
|
+
"""
|
|
1887
|
+
return pulumi.get(self, "backend_port")
|
|
1888
|
+
|
|
1889
|
+
@backend_port.setter
|
|
1890
|
+
def backend_port(self, value: pulumi.Input[int]):
|
|
1891
|
+
pulumi.set(self, "backend_port", value)
|
|
1892
|
+
|
|
1893
|
+
@property
|
|
1894
|
+
@pulumi.getter(name="frontendPortRangeEnd")
|
|
1895
|
+
def frontend_port_range_end(self) -> pulumi.Input[int]:
|
|
1896
|
+
"""
|
|
1897
|
+
Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1898
|
+
"""
|
|
1899
|
+
return pulumi.get(self, "frontend_port_range_end")
|
|
1900
|
+
|
|
1901
|
+
@frontend_port_range_end.setter
|
|
1902
|
+
def frontend_port_range_end(self, value: pulumi.Input[int]):
|
|
1903
|
+
pulumi.set(self, "frontend_port_range_end", value)
|
|
1904
|
+
|
|
1905
|
+
@property
|
|
1906
|
+
@pulumi.getter(name="frontendPortRangeStart")
|
|
1907
|
+
def frontend_port_range_start(self) -> pulumi.Input[int]:
|
|
1908
|
+
"""
|
|
1909
|
+
Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400.
|
|
1910
|
+
"""
|
|
1911
|
+
return pulumi.get(self, "frontend_port_range_start")
|
|
1912
|
+
|
|
1913
|
+
@frontend_port_range_start.setter
|
|
1914
|
+
def frontend_port_range_start(self, value: pulumi.Input[int]):
|
|
1915
|
+
pulumi.set(self, "frontend_port_range_start", value)
|
|
1916
|
+
|
|
1917
|
+
@property
|
|
1918
|
+
@pulumi.getter
|
|
1919
|
+
def name(self) -> pulumi.Input[str]:
|
|
1920
|
+
"""
|
|
1921
|
+
The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400.
|
|
1922
|
+
"""
|
|
1923
|
+
return pulumi.get(self, "name")
|
|
1924
|
+
|
|
1925
|
+
@name.setter
|
|
1926
|
+
def name(self, value: pulumi.Input[str]):
|
|
1927
|
+
pulumi.set(self, "name", value)
|
|
1928
|
+
|
|
1929
|
+
@property
|
|
1930
|
+
@pulumi.getter
|
|
1931
|
+
def protocol(self) -> pulumi.Input['InboundEndpointProtocol']:
|
|
1932
|
+
return pulumi.get(self, "protocol")
|
|
1933
|
+
|
|
1934
|
+
@protocol.setter
|
|
1935
|
+
def protocol(self, value: pulumi.Input['InboundEndpointProtocol']):
|
|
1936
|
+
pulumi.set(self, "protocol", value)
|
|
1937
|
+
|
|
1938
|
+
@property
|
|
1939
|
+
@pulumi.getter(name="networkSecurityGroupRules")
|
|
1940
|
+
def network_security_group_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkSecurityGroupRuleArgs']]]]:
|
|
1941
|
+
"""
|
|
1942
|
+
The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.
|
|
1943
|
+
"""
|
|
1944
|
+
return pulumi.get(self, "network_security_group_rules")
|
|
1945
|
+
|
|
1946
|
+
@network_security_group_rules.setter
|
|
1947
|
+
def network_security_group_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkSecurityGroupRuleArgs']]]]):
|
|
1948
|
+
pulumi.set(self, "network_security_group_rules", value)
|
|
1949
|
+
|
|
1950
|
+
|
|
1951
|
+
if not MYPY:
|
|
1952
|
+
class KeyVaultPropertiesArgsDict(TypedDict):
|
|
1953
|
+
"""
|
|
1954
|
+
KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault.
|
|
1955
|
+
"""
|
|
1956
|
+
key_identifier: NotRequired[pulumi.Input[str]]
|
|
1957
|
+
"""
|
|
1958
|
+
Full path to the secret with or without version. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. or https://mykeyvault.vault.azure.net/keys/testkey. To be usable the following prerequisites must be met:
|
|
1959
|
+
|
|
1960
|
+
The Batch Account has a System Assigned identity
|
|
1961
|
+
The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions
|
|
1962
|
+
The KeyVault has soft-delete and purge protection enabled
|
|
1963
|
+
"""
|
|
1964
|
+
elif False:
|
|
1965
|
+
KeyVaultPropertiesArgsDict: TypeAlias = Mapping[str, Any]
|
|
1966
|
+
|
|
1967
|
+
@pulumi.input_type
|
|
1968
|
+
class KeyVaultPropertiesArgs:
|
|
1969
|
+
def __init__(__self__, *,
|
|
1970
|
+
key_identifier: Optional[pulumi.Input[str]] = None):
|
|
1971
|
+
"""
|
|
1972
|
+
KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault.
|
|
1973
|
+
:param pulumi.Input[str] key_identifier: Full path to the secret with or without version. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. or https://mykeyvault.vault.azure.net/keys/testkey. To be usable the following prerequisites must be met:
|
|
1974
|
+
|
|
1975
|
+
The Batch Account has a System Assigned identity
|
|
1976
|
+
The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions
|
|
1977
|
+
The KeyVault has soft-delete and purge protection enabled
|
|
1978
|
+
"""
|
|
1979
|
+
if key_identifier is not None:
|
|
1980
|
+
pulumi.set(__self__, "key_identifier", key_identifier)
|
|
1981
|
+
|
|
1982
|
+
@property
|
|
1983
|
+
@pulumi.getter(name="keyIdentifier")
|
|
1984
|
+
def key_identifier(self) -> Optional[pulumi.Input[str]]:
|
|
1985
|
+
"""
|
|
1986
|
+
Full path to the secret with or without version. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. or https://mykeyvault.vault.azure.net/keys/testkey. To be usable the following prerequisites must be met:
|
|
1987
|
+
|
|
1988
|
+
The Batch Account has a System Assigned identity
|
|
1989
|
+
The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions
|
|
1990
|
+
The KeyVault has soft-delete and purge protection enabled
|
|
1991
|
+
"""
|
|
1992
|
+
return pulumi.get(self, "key_identifier")
|
|
1993
|
+
|
|
1994
|
+
@key_identifier.setter
|
|
1995
|
+
def key_identifier(self, value: Optional[pulumi.Input[str]]):
|
|
1996
|
+
pulumi.set(self, "key_identifier", value)
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
if not MYPY:
|
|
2000
|
+
class KeyVaultReferenceArgsDict(TypedDict):
|
|
2001
|
+
"""
|
|
2002
|
+
Identifies the Azure key vault associated with a Batch account.
|
|
2003
|
+
"""
|
|
2004
|
+
id: pulumi.Input[str]
|
|
2005
|
+
"""
|
|
2006
|
+
The resource ID of the Azure key vault associated with the Batch account.
|
|
2007
|
+
"""
|
|
2008
|
+
url: pulumi.Input[str]
|
|
2009
|
+
"""
|
|
2010
|
+
The URL of the Azure key vault associated with the Batch account.
|
|
2011
|
+
"""
|
|
2012
|
+
elif False:
|
|
2013
|
+
KeyVaultReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
2014
|
+
|
|
2015
|
+
@pulumi.input_type
|
|
2016
|
+
class KeyVaultReferenceArgs:
|
|
2017
|
+
def __init__(__self__, *,
|
|
2018
|
+
id: pulumi.Input[str],
|
|
2019
|
+
url: pulumi.Input[str]):
|
|
2020
|
+
"""
|
|
2021
|
+
Identifies the Azure key vault associated with a Batch account.
|
|
2022
|
+
:param pulumi.Input[str] id: The resource ID of the Azure key vault associated with the Batch account.
|
|
2023
|
+
:param pulumi.Input[str] url: The URL of the Azure key vault associated with the Batch account.
|
|
2024
|
+
"""
|
|
2025
|
+
pulumi.set(__self__, "id", id)
|
|
2026
|
+
pulumi.set(__self__, "url", url)
|
|
2027
|
+
|
|
2028
|
+
@property
|
|
2029
|
+
@pulumi.getter
|
|
2030
|
+
def id(self) -> pulumi.Input[str]:
|
|
2031
|
+
"""
|
|
2032
|
+
The resource ID of the Azure key vault associated with the Batch account.
|
|
2033
|
+
"""
|
|
2034
|
+
return pulumi.get(self, "id")
|
|
2035
|
+
|
|
2036
|
+
@id.setter
|
|
2037
|
+
def id(self, value: pulumi.Input[str]):
|
|
2038
|
+
pulumi.set(self, "id", value)
|
|
2039
|
+
|
|
2040
|
+
@property
|
|
2041
|
+
@pulumi.getter
|
|
2042
|
+
def url(self) -> pulumi.Input[str]:
|
|
2043
|
+
"""
|
|
2044
|
+
The URL of the Azure key vault associated with the Batch account.
|
|
2045
|
+
"""
|
|
2046
|
+
return pulumi.get(self, "url")
|
|
2047
|
+
|
|
2048
|
+
@url.setter
|
|
2049
|
+
def url(self, value: pulumi.Input[str]):
|
|
2050
|
+
pulumi.set(self, "url", value)
|
|
2051
|
+
|
|
2052
|
+
|
|
2053
|
+
if not MYPY:
|
|
2054
|
+
class LinuxUserConfigurationArgsDict(TypedDict):
|
|
2055
|
+
gid: NotRequired[pulumi.Input[int]]
|
|
2056
|
+
"""
|
|
2057
|
+
The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
|
|
2058
|
+
"""
|
|
2059
|
+
ssh_private_key: NotRequired[pulumi.Input[str]]
|
|
2060
|
+
"""
|
|
2061
|
+
The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
|
|
2062
|
+
"""
|
|
2063
|
+
uid: NotRequired[pulumi.Input[int]]
|
|
2064
|
+
"""
|
|
2065
|
+
The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
|
|
2066
|
+
"""
|
|
2067
|
+
elif False:
|
|
2068
|
+
LinuxUserConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2069
|
+
|
|
2070
|
+
@pulumi.input_type
|
|
2071
|
+
class LinuxUserConfigurationArgs:
|
|
2072
|
+
def __init__(__self__, *,
|
|
2073
|
+
gid: Optional[pulumi.Input[int]] = None,
|
|
2074
|
+
ssh_private_key: Optional[pulumi.Input[str]] = None,
|
|
2075
|
+
uid: Optional[pulumi.Input[int]] = None):
|
|
2076
|
+
"""
|
|
2077
|
+
:param pulumi.Input[int] gid: The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
|
|
2078
|
+
:param pulumi.Input[str] ssh_private_key: The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
|
|
2079
|
+
:param pulumi.Input[int] uid: The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
|
|
2080
|
+
"""
|
|
2081
|
+
if gid is not None:
|
|
2082
|
+
pulumi.set(__self__, "gid", gid)
|
|
2083
|
+
if ssh_private_key is not None:
|
|
2084
|
+
pulumi.set(__self__, "ssh_private_key", ssh_private_key)
|
|
2085
|
+
if uid is not None:
|
|
2086
|
+
pulumi.set(__self__, "uid", uid)
|
|
2087
|
+
|
|
2088
|
+
@property
|
|
2089
|
+
@pulumi.getter
|
|
2090
|
+
def gid(self) -> Optional[pulumi.Input[int]]:
|
|
2091
|
+
"""
|
|
2092
|
+
The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid.
|
|
2093
|
+
"""
|
|
2094
|
+
return pulumi.get(self, "gid")
|
|
2095
|
+
|
|
2096
|
+
@gid.setter
|
|
2097
|
+
def gid(self, value: Optional[pulumi.Input[int]]):
|
|
2098
|
+
pulumi.set(self, "gid", value)
|
|
2099
|
+
|
|
2100
|
+
@property
|
|
2101
|
+
@pulumi.getter(name="sshPrivateKey")
|
|
2102
|
+
def ssh_private_key(self) -> Optional[pulumi.Input[str]]:
|
|
2103
|
+
"""
|
|
2104
|
+
The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done).
|
|
2105
|
+
"""
|
|
2106
|
+
return pulumi.get(self, "ssh_private_key")
|
|
2107
|
+
|
|
2108
|
+
@ssh_private_key.setter
|
|
2109
|
+
def ssh_private_key(self, value: Optional[pulumi.Input[str]]):
|
|
2110
|
+
pulumi.set(self, "ssh_private_key", value)
|
|
2111
|
+
|
|
2112
|
+
@property
|
|
2113
|
+
@pulumi.getter
|
|
2114
|
+
def uid(self) -> Optional[pulumi.Input[int]]:
|
|
2115
|
+
"""
|
|
2116
|
+
The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid.
|
|
2117
|
+
"""
|
|
2118
|
+
return pulumi.get(self, "uid")
|
|
2119
|
+
|
|
2120
|
+
@uid.setter
|
|
2121
|
+
def uid(self, value: Optional[pulumi.Input[int]]):
|
|
2122
|
+
pulumi.set(self, "uid", value)
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
if not MYPY:
|
|
2126
|
+
class ManagedDiskArgsDict(TypedDict):
|
|
2127
|
+
security_profile: NotRequired[pulumi.Input['VMDiskSecurityProfileArgsDict']]
|
|
2128
|
+
"""
|
|
2129
|
+
Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs.
|
|
2130
|
+
"""
|
|
2131
|
+
storage_account_type: NotRequired[pulumi.Input['StorageAccountType']]
|
|
2132
|
+
elif False:
|
|
2133
|
+
ManagedDiskArgsDict: TypeAlias = Mapping[str, Any]
|
|
2134
|
+
|
|
2135
|
+
@pulumi.input_type
|
|
2136
|
+
class ManagedDiskArgs:
|
|
2137
|
+
def __init__(__self__, *,
|
|
2138
|
+
security_profile: Optional[pulumi.Input['VMDiskSecurityProfileArgs']] = None,
|
|
2139
|
+
storage_account_type: Optional[pulumi.Input['StorageAccountType']] = None):
|
|
2140
|
+
"""
|
|
2141
|
+
:param pulumi.Input['VMDiskSecurityProfileArgs'] security_profile: Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs.
|
|
2142
|
+
"""
|
|
2143
|
+
if security_profile is not None:
|
|
2144
|
+
pulumi.set(__self__, "security_profile", security_profile)
|
|
2145
|
+
if storage_account_type is not None:
|
|
2146
|
+
pulumi.set(__self__, "storage_account_type", storage_account_type)
|
|
2147
|
+
|
|
2148
|
+
@property
|
|
2149
|
+
@pulumi.getter(name="securityProfile")
|
|
2150
|
+
def security_profile(self) -> Optional[pulumi.Input['VMDiskSecurityProfileArgs']]:
|
|
2151
|
+
"""
|
|
2152
|
+
Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs.
|
|
2153
|
+
"""
|
|
2154
|
+
return pulumi.get(self, "security_profile")
|
|
2155
|
+
|
|
2156
|
+
@security_profile.setter
|
|
2157
|
+
def security_profile(self, value: Optional[pulumi.Input['VMDiskSecurityProfileArgs']]):
|
|
2158
|
+
pulumi.set(self, "security_profile", value)
|
|
2159
|
+
|
|
2160
|
+
@property
|
|
2161
|
+
@pulumi.getter(name="storageAccountType")
|
|
2162
|
+
def storage_account_type(self) -> Optional[pulumi.Input['StorageAccountType']]:
|
|
2163
|
+
return pulumi.get(self, "storage_account_type")
|
|
2164
|
+
|
|
2165
|
+
@storage_account_type.setter
|
|
2166
|
+
def storage_account_type(self, value: Optional[pulumi.Input['StorageAccountType']]):
|
|
2167
|
+
pulumi.set(self, "storage_account_type", value)
|
|
2168
|
+
|
|
2169
|
+
|
|
2170
|
+
if not MYPY:
|
|
2171
|
+
class MetadataItemArgsDict(TypedDict):
|
|
2172
|
+
"""
|
|
2173
|
+
The Batch service does not assign any meaning to this metadata; it is solely for the use of user code.
|
|
2174
|
+
"""
|
|
2175
|
+
name: pulumi.Input[str]
|
|
2176
|
+
value: pulumi.Input[str]
|
|
2177
|
+
elif False:
|
|
2178
|
+
MetadataItemArgsDict: TypeAlias = Mapping[str, Any]
|
|
2179
|
+
|
|
2180
|
+
@pulumi.input_type
|
|
2181
|
+
class MetadataItemArgs:
|
|
2182
|
+
def __init__(__self__, *,
|
|
2183
|
+
name: pulumi.Input[str],
|
|
2184
|
+
value: pulumi.Input[str]):
|
|
2185
|
+
"""
|
|
2186
|
+
The Batch service does not assign any meaning to this metadata; it is solely for the use of user code.
|
|
2187
|
+
"""
|
|
2188
|
+
pulumi.set(__self__, "name", name)
|
|
2189
|
+
pulumi.set(__self__, "value", value)
|
|
2190
|
+
|
|
2191
|
+
@property
|
|
2192
|
+
@pulumi.getter
|
|
2193
|
+
def name(self) -> pulumi.Input[str]:
|
|
2194
|
+
return pulumi.get(self, "name")
|
|
2195
|
+
|
|
2196
|
+
@name.setter
|
|
2197
|
+
def name(self, value: pulumi.Input[str]):
|
|
2198
|
+
pulumi.set(self, "name", value)
|
|
2199
|
+
|
|
2200
|
+
@property
|
|
2201
|
+
@pulumi.getter
|
|
2202
|
+
def value(self) -> pulumi.Input[str]:
|
|
2203
|
+
return pulumi.get(self, "value")
|
|
2204
|
+
|
|
2205
|
+
@value.setter
|
|
2206
|
+
def value(self, value: pulumi.Input[str]):
|
|
2207
|
+
pulumi.set(self, "value", value)
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
if not MYPY:
|
|
2211
|
+
class MountConfigurationArgsDict(TypedDict):
|
|
2212
|
+
azure_blob_file_system_configuration: NotRequired[pulumi.Input['AzureBlobFileSystemConfigurationArgsDict']]
|
|
2213
|
+
"""
|
|
2214
|
+
This property is mutually exclusive with all other properties.
|
|
2215
|
+
"""
|
|
2216
|
+
azure_file_share_configuration: NotRequired[pulumi.Input['AzureFileShareConfigurationArgsDict']]
|
|
2217
|
+
"""
|
|
2218
|
+
This property is mutually exclusive with all other properties.
|
|
2219
|
+
"""
|
|
2220
|
+
cifs_mount_configuration: NotRequired[pulumi.Input['CIFSMountConfigurationArgsDict']]
|
|
2221
|
+
"""
|
|
2222
|
+
This property is mutually exclusive with all other properties.
|
|
2223
|
+
"""
|
|
2224
|
+
nfs_mount_configuration: NotRequired[pulumi.Input['NFSMountConfigurationArgsDict']]
|
|
2225
|
+
"""
|
|
2226
|
+
This property is mutually exclusive with all other properties.
|
|
2227
|
+
"""
|
|
2228
|
+
elif False:
|
|
2229
|
+
MountConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2230
|
+
|
|
2231
|
+
@pulumi.input_type
|
|
2232
|
+
class MountConfigurationArgs:
|
|
2233
|
+
def __init__(__self__, *,
|
|
2234
|
+
azure_blob_file_system_configuration: Optional[pulumi.Input['AzureBlobFileSystemConfigurationArgs']] = None,
|
|
2235
|
+
azure_file_share_configuration: Optional[pulumi.Input['AzureFileShareConfigurationArgs']] = None,
|
|
2236
|
+
cifs_mount_configuration: Optional[pulumi.Input['CIFSMountConfigurationArgs']] = None,
|
|
2237
|
+
nfs_mount_configuration: Optional[pulumi.Input['NFSMountConfigurationArgs']] = None):
|
|
2238
|
+
"""
|
|
2239
|
+
:param pulumi.Input['AzureBlobFileSystemConfigurationArgs'] azure_blob_file_system_configuration: This property is mutually exclusive with all other properties.
|
|
2240
|
+
:param pulumi.Input['AzureFileShareConfigurationArgs'] azure_file_share_configuration: This property is mutually exclusive with all other properties.
|
|
2241
|
+
:param pulumi.Input['CIFSMountConfigurationArgs'] cifs_mount_configuration: This property is mutually exclusive with all other properties.
|
|
2242
|
+
:param pulumi.Input['NFSMountConfigurationArgs'] nfs_mount_configuration: This property is mutually exclusive with all other properties.
|
|
2243
|
+
"""
|
|
2244
|
+
if azure_blob_file_system_configuration is not None:
|
|
2245
|
+
pulumi.set(__self__, "azure_blob_file_system_configuration", azure_blob_file_system_configuration)
|
|
2246
|
+
if azure_file_share_configuration is not None:
|
|
2247
|
+
pulumi.set(__self__, "azure_file_share_configuration", azure_file_share_configuration)
|
|
2248
|
+
if cifs_mount_configuration is not None:
|
|
2249
|
+
pulumi.set(__self__, "cifs_mount_configuration", cifs_mount_configuration)
|
|
2250
|
+
if nfs_mount_configuration is not None:
|
|
2251
|
+
pulumi.set(__self__, "nfs_mount_configuration", nfs_mount_configuration)
|
|
2252
|
+
|
|
2253
|
+
@property
|
|
2254
|
+
@pulumi.getter(name="azureBlobFileSystemConfiguration")
|
|
2255
|
+
def azure_blob_file_system_configuration(self) -> Optional[pulumi.Input['AzureBlobFileSystemConfigurationArgs']]:
|
|
2256
|
+
"""
|
|
2257
|
+
This property is mutually exclusive with all other properties.
|
|
2258
|
+
"""
|
|
2259
|
+
return pulumi.get(self, "azure_blob_file_system_configuration")
|
|
2260
|
+
|
|
2261
|
+
@azure_blob_file_system_configuration.setter
|
|
2262
|
+
def azure_blob_file_system_configuration(self, value: Optional[pulumi.Input['AzureBlobFileSystemConfigurationArgs']]):
|
|
2263
|
+
pulumi.set(self, "azure_blob_file_system_configuration", value)
|
|
2264
|
+
|
|
2265
|
+
@property
|
|
2266
|
+
@pulumi.getter(name="azureFileShareConfiguration")
|
|
2267
|
+
def azure_file_share_configuration(self) -> Optional[pulumi.Input['AzureFileShareConfigurationArgs']]:
|
|
2268
|
+
"""
|
|
2269
|
+
This property is mutually exclusive with all other properties.
|
|
2270
|
+
"""
|
|
2271
|
+
return pulumi.get(self, "azure_file_share_configuration")
|
|
2272
|
+
|
|
2273
|
+
@azure_file_share_configuration.setter
|
|
2274
|
+
def azure_file_share_configuration(self, value: Optional[pulumi.Input['AzureFileShareConfigurationArgs']]):
|
|
2275
|
+
pulumi.set(self, "azure_file_share_configuration", value)
|
|
2276
|
+
|
|
2277
|
+
@property
|
|
2278
|
+
@pulumi.getter(name="cifsMountConfiguration")
|
|
2279
|
+
def cifs_mount_configuration(self) -> Optional[pulumi.Input['CIFSMountConfigurationArgs']]:
|
|
2280
|
+
"""
|
|
2281
|
+
This property is mutually exclusive with all other properties.
|
|
2282
|
+
"""
|
|
2283
|
+
return pulumi.get(self, "cifs_mount_configuration")
|
|
2284
|
+
|
|
2285
|
+
@cifs_mount_configuration.setter
|
|
2286
|
+
def cifs_mount_configuration(self, value: Optional[pulumi.Input['CIFSMountConfigurationArgs']]):
|
|
2287
|
+
pulumi.set(self, "cifs_mount_configuration", value)
|
|
2288
|
+
|
|
2289
|
+
@property
|
|
2290
|
+
@pulumi.getter(name="nfsMountConfiguration")
|
|
2291
|
+
def nfs_mount_configuration(self) -> Optional[pulumi.Input['NFSMountConfigurationArgs']]:
|
|
2292
|
+
"""
|
|
2293
|
+
This property is mutually exclusive with all other properties.
|
|
2294
|
+
"""
|
|
2295
|
+
return pulumi.get(self, "nfs_mount_configuration")
|
|
2296
|
+
|
|
2297
|
+
@nfs_mount_configuration.setter
|
|
2298
|
+
def nfs_mount_configuration(self, value: Optional[pulumi.Input['NFSMountConfigurationArgs']]):
|
|
2299
|
+
pulumi.set(self, "nfs_mount_configuration", value)
|
|
2300
|
+
|
|
2301
|
+
|
|
2302
|
+
if not MYPY:
|
|
2303
|
+
class NFSMountConfigurationArgsDict(TypedDict):
|
|
2304
|
+
relative_mount_path: pulumi.Input[str]
|
|
2305
|
+
"""
|
|
2306
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
2307
|
+
"""
|
|
2308
|
+
source: pulumi.Input[str]
|
|
2309
|
+
mount_options: NotRequired[pulumi.Input[str]]
|
|
2310
|
+
"""
|
|
2311
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
2312
|
+
"""
|
|
2313
|
+
elif False:
|
|
2314
|
+
NFSMountConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2315
|
+
|
|
2316
|
+
@pulumi.input_type
|
|
2317
|
+
class NFSMountConfigurationArgs:
|
|
2318
|
+
def __init__(__self__, *,
|
|
2319
|
+
relative_mount_path: pulumi.Input[str],
|
|
2320
|
+
source: pulumi.Input[str],
|
|
2321
|
+
mount_options: Optional[pulumi.Input[str]] = None):
|
|
2322
|
+
"""
|
|
2323
|
+
:param pulumi.Input[str] relative_mount_path: All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
2324
|
+
:param pulumi.Input[str] mount_options: These are 'net use' options in Windows and 'mount' options in Linux.
|
|
2325
|
+
"""
|
|
2326
|
+
pulumi.set(__self__, "relative_mount_path", relative_mount_path)
|
|
2327
|
+
pulumi.set(__self__, "source", source)
|
|
2328
|
+
if mount_options is not None:
|
|
2329
|
+
pulumi.set(__self__, "mount_options", mount_options)
|
|
2330
|
+
|
|
2331
|
+
@property
|
|
2332
|
+
@pulumi.getter(name="relativeMountPath")
|
|
2333
|
+
def relative_mount_path(self) -> pulumi.Input[str]:
|
|
2334
|
+
"""
|
|
2335
|
+
All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable.
|
|
2336
|
+
"""
|
|
2337
|
+
return pulumi.get(self, "relative_mount_path")
|
|
2338
|
+
|
|
2339
|
+
@relative_mount_path.setter
|
|
2340
|
+
def relative_mount_path(self, value: pulumi.Input[str]):
|
|
2341
|
+
pulumi.set(self, "relative_mount_path", value)
|
|
2342
|
+
|
|
2343
|
+
@property
|
|
2344
|
+
@pulumi.getter
|
|
2345
|
+
def source(self) -> pulumi.Input[str]:
|
|
2346
|
+
return pulumi.get(self, "source")
|
|
2347
|
+
|
|
2348
|
+
@source.setter
|
|
2349
|
+
def source(self, value: pulumi.Input[str]):
|
|
2350
|
+
pulumi.set(self, "source", value)
|
|
2351
|
+
|
|
2352
|
+
@property
|
|
2353
|
+
@pulumi.getter(name="mountOptions")
|
|
2354
|
+
def mount_options(self) -> Optional[pulumi.Input[str]]:
|
|
2355
|
+
"""
|
|
2356
|
+
These are 'net use' options in Windows and 'mount' options in Linux.
|
|
2357
|
+
"""
|
|
2358
|
+
return pulumi.get(self, "mount_options")
|
|
2359
|
+
|
|
2360
|
+
@mount_options.setter
|
|
2361
|
+
def mount_options(self, value: Optional[pulumi.Input[str]]):
|
|
2362
|
+
pulumi.set(self, "mount_options", value)
|
|
2363
|
+
|
|
2364
|
+
|
|
2365
|
+
if not MYPY:
|
|
2366
|
+
class NetworkConfigurationArgsDict(TypedDict):
|
|
2367
|
+
"""
|
|
2368
|
+
The network configuration for a pool.
|
|
2369
|
+
"""
|
|
2370
|
+
dynamic_vnet_assignment_scope: NotRequired[pulumi.Input['DynamicVNetAssignmentScope']]
|
|
2371
|
+
enable_accelerated_networking: NotRequired[pulumi.Input[bool]]
|
|
2372
|
+
"""
|
|
2373
|
+
Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
|
|
2374
|
+
"""
|
|
2375
|
+
endpoint_configuration: NotRequired[pulumi.Input['PoolEndpointConfigurationArgsDict']]
|
|
2376
|
+
public_ip_address_configuration: NotRequired[pulumi.Input['PublicIPAddressConfigurationArgsDict']]
|
|
2377
|
+
"""
|
|
2378
|
+
The public IP Address configuration of the networking configuration of a Pool.
|
|
2379
|
+
"""
|
|
2380
|
+
subnet_id: NotRequired[pulumi.Input[str]]
|
|
2381
|
+
"""
|
|
2382
|
+
The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. Enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
|
|
2383
|
+
"""
|
|
2384
|
+
elif False:
|
|
2385
|
+
NetworkConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2386
|
+
|
|
2387
|
+
@pulumi.input_type
|
|
2388
|
+
class NetworkConfigurationArgs:
|
|
2389
|
+
def __init__(__self__, *,
|
|
2390
|
+
dynamic_vnet_assignment_scope: Optional[pulumi.Input['DynamicVNetAssignmentScope']] = None,
|
|
2391
|
+
enable_accelerated_networking: Optional[pulumi.Input[bool]] = None,
|
|
2392
|
+
endpoint_configuration: Optional[pulumi.Input['PoolEndpointConfigurationArgs']] = None,
|
|
2393
|
+
public_ip_address_configuration: Optional[pulumi.Input['PublicIPAddressConfigurationArgs']] = None,
|
|
2394
|
+
subnet_id: Optional[pulumi.Input[str]] = None):
|
|
2395
|
+
"""
|
|
2396
|
+
The network configuration for a pool.
|
|
2397
|
+
:param pulumi.Input[bool] enable_accelerated_networking: Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
|
|
2398
|
+
:param pulumi.Input['PublicIPAddressConfigurationArgs'] public_ip_address_configuration: The public IP Address configuration of the networking configuration of a Pool.
|
|
2399
|
+
:param pulumi.Input[str] subnet_id: The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. Enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
|
|
2400
|
+
"""
|
|
2401
|
+
if dynamic_vnet_assignment_scope is None:
|
|
2402
|
+
dynamic_vnet_assignment_scope = 'none'
|
|
2403
|
+
if dynamic_vnet_assignment_scope is not None:
|
|
2404
|
+
pulumi.set(__self__, "dynamic_vnet_assignment_scope", dynamic_vnet_assignment_scope)
|
|
2405
|
+
if enable_accelerated_networking is not None:
|
|
2406
|
+
pulumi.set(__self__, "enable_accelerated_networking", enable_accelerated_networking)
|
|
2407
|
+
if endpoint_configuration is not None:
|
|
2408
|
+
pulumi.set(__self__, "endpoint_configuration", endpoint_configuration)
|
|
2409
|
+
if public_ip_address_configuration is not None:
|
|
2410
|
+
pulumi.set(__self__, "public_ip_address_configuration", public_ip_address_configuration)
|
|
2411
|
+
if subnet_id is not None:
|
|
2412
|
+
pulumi.set(__self__, "subnet_id", subnet_id)
|
|
2413
|
+
|
|
2414
|
+
@property
|
|
2415
|
+
@pulumi.getter(name="dynamicVnetAssignmentScope")
|
|
2416
|
+
def dynamic_vnet_assignment_scope(self) -> Optional[pulumi.Input['DynamicVNetAssignmentScope']]:
|
|
2417
|
+
return pulumi.get(self, "dynamic_vnet_assignment_scope")
|
|
2418
|
+
|
|
2419
|
+
@dynamic_vnet_assignment_scope.setter
|
|
2420
|
+
def dynamic_vnet_assignment_scope(self, value: Optional[pulumi.Input['DynamicVNetAssignmentScope']]):
|
|
2421
|
+
pulumi.set(self, "dynamic_vnet_assignment_scope", value)
|
|
2422
|
+
|
|
2423
|
+
@property
|
|
2424
|
+
@pulumi.getter(name="enableAcceleratedNetworking")
|
|
2425
|
+
def enable_accelerated_networking(self) -> Optional[pulumi.Input[bool]]:
|
|
2426
|
+
"""
|
|
2427
|
+
Accelerated networking enables single root I/O virtualization (SR-IOV) to a VM, which may lead to improved networking performance. For more details, see: https://learn.microsoft.com/azure/virtual-network/accelerated-networking-overview.
|
|
2428
|
+
"""
|
|
2429
|
+
return pulumi.get(self, "enable_accelerated_networking")
|
|
2430
|
+
|
|
2431
|
+
@enable_accelerated_networking.setter
|
|
2432
|
+
def enable_accelerated_networking(self, value: Optional[pulumi.Input[bool]]):
|
|
2433
|
+
pulumi.set(self, "enable_accelerated_networking", value)
|
|
2434
|
+
|
|
2435
|
+
@property
|
|
2436
|
+
@pulumi.getter(name="endpointConfiguration")
|
|
2437
|
+
def endpoint_configuration(self) -> Optional[pulumi.Input['PoolEndpointConfigurationArgs']]:
|
|
2438
|
+
return pulumi.get(self, "endpoint_configuration")
|
|
2439
|
+
|
|
2440
|
+
@endpoint_configuration.setter
|
|
2441
|
+
def endpoint_configuration(self, value: Optional[pulumi.Input['PoolEndpointConfigurationArgs']]):
|
|
2442
|
+
pulumi.set(self, "endpoint_configuration", value)
|
|
2443
|
+
|
|
2444
|
+
@property
|
|
2445
|
+
@pulumi.getter(name="publicIPAddressConfiguration")
|
|
2446
|
+
def public_ip_address_configuration(self) -> Optional[pulumi.Input['PublicIPAddressConfigurationArgs']]:
|
|
2447
|
+
"""
|
|
2448
|
+
The public IP Address configuration of the networking configuration of a Pool.
|
|
2449
|
+
"""
|
|
2450
|
+
return pulumi.get(self, "public_ip_address_configuration")
|
|
2451
|
+
|
|
2452
|
+
@public_ip_address_configuration.setter
|
|
2453
|
+
def public_ip_address_configuration(self, value: Optional[pulumi.Input['PublicIPAddressConfigurationArgs']]):
|
|
2454
|
+
pulumi.set(self, "public_ip_address_configuration", value)
|
|
2455
|
+
|
|
2456
|
+
@property
|
|
2457
|
+
@pulumi.getter(name="subnetId")
|
|
2458
|
+
def subnet_id(self) -> Optional[pulumi.Input[str]]:
|
|
2459
|
+
"""
|
|
2460
|
+
The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. Enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration
|
|
2461
|
+
"""
|
|
2462
|
+
return pulumi.get(self, "subnet_id")
|
|
2463
|
+
|
|
2464
|
+
@subnet_id.setter
|
|
2465
|
+
def subnet_id(self, value: Optional[pulumi.Input[str]]):
|
|
2466
|
+
pulumi.set(self, "subnet_id", value)
|
|
2467
|
+
|
|
2468
|
+
|
|
2469
|
+
if not MYPY:
|
|
2470
|
+
class NetworkProfileArgsDict(TypedDict):
|
|
2471
|
+
"""
|
|
2472
|
+
Network profile for Batch account, which contains network rule settings for each endpoint.
|
|
2473
|
+
"""
|
|
2474
|
+
account_access: NotRequired[pulumi.Input['EndpointAccessProfileArgsDict']]
|
|
2475
|
+
"""
|
|
2476
|
+
Network access profile for batchAccount endpoint (Batch account data plane API).
|
|
2477
|
+
"""
|
|
2478
|
+
node_management_access: NotRequired[pulumi.Input['EndpointAccessProfileArgsDict']]
|
|
2479
|
+
"""
|
|
2480
|
+
Network access profile for nodeManagement endpoint (Batch service managing compute nodes for Batch pools).
|
|
2481
|
+
"""
|
|
2482
|
+
elif False:
|
|
2483
|
+
NetworkProfileArgsDict: TypeAlias = Mapping[str, Any]
|
|
2484
|
+
|
|
2485
|
+
@pulumi.input_type
|
|
2486
|
+
class NetworkProfileArgs:
|
|
2487
|
+
def __init__(__self__, *,
|
|
2488
|
+
account_access: Optional[pulumi.Input['EndpointAccessProfileArgs']] = None,
|
|
2489
|
+
node_management_access: Optional[pulumi.Input['EndpointAccessProfileArgs']] = None):
|
|
2490
|
+
"""
|
|
2491
|
+
Network profile for Batch account, which contains network rule settings for each endpoint.
|
|
2492
|
+
:param pulumi.Input['EndpointAccessProfileArgs'] account_access: Network access profile for batchAccount endpoint (Batch account data plane API).
|
|
2493
|
+
:param pulumi.Input['EndpointAccessProfileArgs'] node_management_access: Network access profile for nodeManagement endpoint (Batch service managing compute nodes for Batch pools).
|
|
2494
|
+
"""
|
|
2495
|
+
if account_access is not None:
|
|
2496
|
+
pulumi.set(__self__, "account_access", account_access)
|
|
2497
|
+
if node_management_access is not None:
|
|
2498
|
+
pulumi.set(__self__, "node_management_access", node_management_access)
|
|
2499
|
+
|
|
2500
|
+
@property
|
|
2501
|
+
@pulumi.getter(name="accountAccess")
|
|
2502
|
+
def account_access(self) -> Optional[pulumi.Input['EndpointAccessProfileArgs']]:
|
|
2503
|
+
"""
|
|
2504
|
+
Network access profile for batchAccount endpoint (Batch account data plane API).
|
|
2505
|
+
"""
|
|
2506
|
+
return pulumi.get(self, "account_access")
|
|
2507
|
+
|
|
2508
|
+
@account_access.setter
|
|
2509
|
+
def account_access(self, value: Optional[pulumi.Input['EndpointAccessProfileArgs']]):
|
|
2510
|
+
pulumi.set(self, "account_access", value)
|
|
2511
|
+
|
|
2512
|
+
@property
|
|
2513
|
+
@pulumi.getter(name="nodeManagementAccess")
|
|
2514
|
+
def node_management_access(self) -> Optional[pulumi.Input['EndpointAccessProfileArgs']]:
|
|
2515
|
+
"""
|
|
2516
|
+
Network access profile for nodeManagement endpoint (Batch service managing compute nodes for Batch pools).
|
|
2517
|
+
"""
|
|
2518
|
+
return pulumi.get(self, "node_management_access")
|
|
2519
|
+
|
|
2520
|
+
@node_management_access.setter
|
|
2521
|
+
def node_management_access(self, value: Optional[pulumi.Input['EndpointAccessProfileArgs']]):
|
|
2522
|
+
pulumi.set(self, "node_management_access", value)
|
|
2523
|
+
|
|
2524
|
+
|
|
2525
|
+
if not MYPY:
|
|
2526
|
+
class NetworkSecurityGroupRuleArgsDict(TypedDict):
|
|
2527
|
+
access: pulumi.Input['NetworkSecurityGroupRuleAccess']
|
|
2528
|
+
priority: pulumi.Input[int]
|
|
2529
|
+
"""
|
|
2530
|
+
Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
|
|
2531
|
+
"""
|
|
2532
|
+
source_address_prefix: pulumi.Input[str]
|
|
2533
|
+
"""
|
|
2534
|
+
Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400.
|
|
2535
|
+
"""
|
|
2536
|
+
source_port_ranges: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
2537
|
+
"""
|
|
2538
|
+
Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *.
|
|
2539
|
+
"""
|
|
2540
|
+
elif False:
|
|
2541
|
+
NetworkSecurityGroupRuleArgsDict: TypeAlias = Mapping[str, Any]
|
|
2542
|
+
|
|
2543
|
+
@pulumi.input_type
|
|
2544
|
+
class NetworkSecurityGroupRuleArgs:
|
|
2545
|
+
def __init__(__self__, *,
|
|
2546
|
+
access: pulumi.Input['NetworkSecurityGroupRuleAccess'],
|
|
2547
|
+
priority: pulumi.Input[int],
|
|
2548
|
+
source_address_prefix: pulumi.Input[str],
|
|
2549
|
+
source_port_ranges: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
2550
|
+
"""
|
|
2551
|
+
:param pulumi.Input[int] priority: Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
|
|
2552
|
+
:param pulumi.Input[str] source_address_prefix: Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400.
|
|
2553
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] source_port_ranges: Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *.
|
|
2554
|
+
"""
|
|
2555
|
+
pulumi.set(__self__, "access", access)
|
|
2556
|
+
pulumi.set(__self__, "priority", priority)
|
|
2557
|
+
pulumi.set(__self__, "source_address_prefix", source_address_prefix)
|
|
2558
|
+
if source_port_ranges is not None:
|
|
2559
|
+
pulumi.set(__self__, "source_port_ranges", source_port_ranges)
|
|
2560
|
+
|
|
2561
|
+
@property
|
|
2562
|
+
@pulumi.getter
|
|
2563
|
+
def access(self) -> pulumi.Input['NetworkSecurityGroupRuleAccess']:
|
|
2564
|
+
return pulumi.get(self, "access")
|
|
2565
|
+
|
|
2566
|
+
@access.setter
|
|
2567
|
+
def access(self, value: pulumi.Input['NetworkSecurityGroupRuleAccess']):
|
|
2568
|
+
pulumi.set(self, "access", value)
|
|
2569
|
+
|
|
2570
|
+
@property
|
|
2571
|
+
@pulumi.getter
|
|
2572
|
+
def priority(self) -> pulumi.Input[int]:
|
|
2573
|
+
"""
|
|
2574
|
+
Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400.
|
|
2575
|
+
"""
|
|
2576
|
+
return pulumi.get(self, "priority")
|
|
2577
|
+
|
|
2578
|
+
@priority.setter
|
|
2579
|
+
def priority(self, value: pulumi.Input[int]):
|
|
2580
|
+
pulumi.set(self, "priority", value)
|
|
2581
|
+
|
|
2582
|
+
@property
|
|
2583
|
+
@pulumi.getter(name="sourceAddressPrefix")
|
|
2584
|
+
def source_address_prefix(self) -> pulumi.Input[str]:
|
|
2585
|
+
"""
|
|
2586
|
+
Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400.
|
|
2587
|
+
"""
|
|
2588
|
+
return pulumi.get(self, "source_address_prefix")
|
|
2589
|
+
|
|
2590
|
+
@source_address_prefix.setter
|
|
2591
|
+
def source_address_prefix(self, value: pulumi.Input[str]):
|
|
2592
|
+
pulumi.set(self, "source_address_prefix", value)
|
|
2593
|
+
|
|
2594
|
+
@property
|
|
2595
|
+
@pulumi.getter(name="sourcePortRanges")
|
|
2596
|
+
def source_port_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
2597
|
+
"""
|
|
2598
|
+
Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *.
|
|
2599
|
+
"""
|
|
2600
|
+
return pulumi.get(self, "source_port_ranges")
|
|
2601
|
+
|
|
2602
|
+
@source_port_ranges.setter
|
|
2603
|
+
def source_port_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
2604
|
+
pulumi.set(self, "source_port_ranges", value)
|
|
2605
|
+
|
|
2606
|
+
|
|
2607
|
+
if not MYPY:
|
|
2608
|
+
class NodePlacementConfigurationArgsDict(TypedDict):
|
|
2609
|
+
"""
|
|
2610
|
+
Allocation configuration used by Batch Service to provision the nodes.
|
|
2611
|
+
"""
|
|
2612
|
+
policy: NotRequired[pulumi.Input['NodePlacementPolicyType']]
|
|
2613
|
+
"""
|
|
2614
|
+
Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy.
|
|
2615
|
+
"""
|
|
2616
|
+
elif False:
|
|
2617
|
+
NodePlacementConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2618
|
+
|
|
2619
|
+
@pulumi.input_type
|
|
2620
|
+
class NodePlacementConfigurationArgs:
|
|
2621
|
+
def __init__(__self__, *,
|
|
2622
|
+
policy: Optional[pulumi.Input['NodePlacementPolicyType']] = None):
|
|
2623
|
+
"""
|
|
2624
|
+
Allocation configuration used by Batch Service to provision the nodes.
|
|
2625
|
+
:param pulumi.Input['NodePlacementPolicyType'] policy: Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy.
|
|
2626
|
+
"""
|
|
2627
|
+
if policy is not None:
|
|
2628
|
+
pulumi.set(__self__, "policy", policy)
|
|
2629
|
+
|
|
2630
|
+
@property
|
|
2631
|
+
@pulumi.getter
|
|
2632
|
+
def policy(self) -> Optional[pulumi.Input['NodePlacementPolicyType']]:
|
|
2633
|
+
"""
|
|
2634
|
+
Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy.
|
|
2635
|
+
"""
|
|
2636
|
+
return pulumi.get(self, "policy")
|
|
2637
|
+
|
|
2638
|
+
@policy.setter
|
|
2639
|
+
def policy(self, value: Optional[pulumi.Input['NodePlacementPolicyType']]):
|
|
2640
|
+
pulumi.set(self, "policy", value)
|
|
2641
|
+
|
|
2642
|
+
|
|
2643
|
+
if not MYPY:
|
|
2644
|
+
class OSDiskArgsDict(TypedDict):
|
|
2645
|
+
caching: NotRequired[pulumi.Input['CachingType']]
|
|
2646
|
+
disk_size_gb: NotRequired[pulumi.Input[int]]
|
|
2647
|
+
ephemeral_os_disk_settings: NotRequired[pulumi.Input['DiffDiskSettingsArgsDict']]
|
|
2648
|
+
managed_disk: NotRequired[pulumi.Input['ManagedDiskArgsDict']]
|
|
2649
|
+
write_accelerator_enabled: NotRequired[pulumi.Input[bool]]
|
|
2650
|
+
elif False:
|
|
2651
|
+
OSDiskArgsDict: TypeAlias = Mapping[str, Any]
|
|
2652
|
+
|
|
2653
|
+
@pulumi.input_type
|
|
2654
|
+
class OSDiskArgs:
|
|
2655
|
+
def __init__(__self__, *,
|
|
2656
|
+
caching: Optional[pulumi.Input['CachingType']] = None,
|
|
2657
|
+
disk_size_gb: Optional[pulumi.Input[int]] = None,
|
|
2658
|
+
ephemeral_os_disk_settings: Optional[pulumi.Input['DiffDiskSettingsArgs']] = None,
|
|
2659
|
+
managed_disk: Optional[pulumi.Input['ManagedDiskArgs']] = None,
|
|
2660
|
+
write_accelerator_enabled: Optional[pulumi.Input[bool]] = None):
|
|
2661
|
+
if caching is not None:
|
|
2662
|
+
pulumi.set(__self__, "caching", caching)
|
|
2663
|
+
if disk_size_gb is not None:
|
|
2664
|
+
pulumi.set(__self__, "disk_size_gb", disk_size_gb)
|
|
2665
|
+
if ephemeral_os_disk_settings is not None:
|
|
2666
|
+
pulumi.set(__self__, "ephemeral_os_disk_settings", ephemeral_os_disk_settings)
|
|
2667
|
+
if managed_disk is not None:
|
|
2668
|
+
pulumi.set(__self__, "managed_disk", managed_disk)
|
|
2669
|
+
if write_accelerator_enabled is not None:
|
|
2670
|
+
pulumi.set(__self__, "write_accelerator_enabled", write_accelerator_enabled)
|
|
2671
|
+
|
|
2672
|
+
@property
|
|
2673
|
+
@pulumi.getter
|
|
2674
|
+
def caching(self) -> Optional[pulumi.Input['CachingType']]:
|
|
2675
|
+
return pulumi.get(self, "caching")
|
|
2676
|
+
|
|
2677
|
+
@caching.setter
|
|
2678
|
+
def caching(self, value: Optional[pulumi.Input['CachingType']]):
|
|
2679
|
+
pulumi.set(self, "caching", value)
|
|
2680
|
+
|
|
2681
|
+
@property
|
|
2682
|
+
@pulumi.getter(name="diskSizeGB")
|
|
2683
|
+
def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
|
|
2684
|
+
return pulumi.get(self, "disk_size_gb")
|
|
2685
|
+
|
|
2686
|
+
@disk_size_gb.setter
|
|
2687
|
+
def disk_size_gb(self, value: Optional[pulumi.Input[int]]):
|
|
2688
|
+
pulumi.set(self, "disk_size_gb", value)
|
|
2689
|
+
|
|
2690
|
+
@property
|
|
2691
|
+
@pulumi.getter(name="ephemeralOSDiskSettings")
|
|
2692
|
+
def ephemeral_os_disk_settings(self) -> Optional[pulumi.Input['DiffDiskSettingsArgs']]:
|
|
2693
|
+
return pulumi.get(self, "ephemeral_os_disk_settings")
|
|
2694
|
+
|
|
2695
|
+
@ephemeral_os_disk_settings.setter
|
|
2696
|
+
def ephemeral_os_disk_settings(self, value: Optional[pulumi.Input['DiffDiskSettingsArgs']]):
|
|
2697
|
+
pulumi.set(self, "ephemeral_os_disk_settings", value)
|
|
2698
|
+
|
|
2699
|
+
@property
|
|
2700
|
+
@pulumi.getter(name="managedDisk")
|
|
2701
|
+
def managed_disk(self) -> Optional[pulumi.Input['ManagedDiskArgs']]:
|
|
2702
|
+
return pulumi.get(self, "managed_disk")
|
|
2703
|
+
|
|
2704
|
+
@managed_disk.setter
|
|
2705
|
+
def managed_disk(self, value: Optional[pulumi.Input['ManagedDiskArgs']]):
|
|
2706
|
+
pulumi.set(self, "managed_disk", value)
|
|
2707
|
+
|
|
2708
|
+
@property
|
|
2709
|
+
@pulumi.getter(name="writeAcceleratorEnabled")
|
|
2710
|
+
def write_accelerator_enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
2711
|
+
return pulumi.get(self, "write_accelerator_enabled")
|
|
2712
|
+
|
|
2713
|
+
@write_accelerator_enabled.setter
|
|
2714
|
+
def write_accelerator_enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
2715
|
+
pulumi.set(self, "write_accelerator_enabled", value)
|
|
2716
|
+
|
|
2717
|
+
|
|
2718
|
+
if not MYPY:
|
|
2719
|
+
class PoolEndpointConfigurationArgsDict(TypedDict):
|
|
2720
|
+
inbound_nat_pools: pulumi.Input[Sequence[pulumi.Input['InboundNatPoolArgsDict']]]
|
|
2721
|
+
"""
|
|
2722
|
+
The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.
|
|
2723
|
+
"""
|
|
2724
|
+
elif False:
|
|
2725
|
+
PoolEndpointConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2726
|
+
|
|
2727
|
+
@pulumi.input_type
|
|
2728
|
+
class PoolEndpointConfigurationArgs:
|
|
2729
|
+
def __init__(__self__, *,
|
|
2730
|
+
inbound_nat_pools: pulumi.Input[Sequence[pulumi.Input['InboundNatPoolArgs']]]):
|
|
2731
|
+
"""
|
|
2732
|
+
:param pulumi.Input[Sequence[pulumi.Input['InboundNatPoolArgs']]] inbound_nat_pools: The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.
|
|
2733
|
+
"""
|
|
2734
|
+
pulumi.set(__self__, "inbound_nat_pools", inbound_nat_pools)
|
|
2735
|
+
|
|
2736
|
+
@property
|
|
2737
|
+
@pulumi.getter(name="inboundNatPools")
|
|
2738
|
+
def inbound_nat_pools(self) -> pulumi.Input[Sequence[pulumi.Input['InboundNatPoolArgs']]]:
|
|
2739
|
+
"""
|
|
2740
|
+
The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses.
|
|
2741
|
+
"""
|
|
2742
|
+
return pulumi.get(self, "inbound_nat_pools")
|
|
2743
|
+
|
|
2744
|
+
@inbound_nat_pools.setter
|
|
2745
|
+
def inbound_nat_pools(self, value: pulumi.Input[Sequence[pulumi.Input['InboundNatPoolArgs']]]):
|
|
2746
|
+
pulumi.set(self, "inbound_nat_pools", value)
|
|
2747
|
+
|
|
2748
|
+
|
|
2749
|
+
if not MYPY:
|
|
2750
|
+
class PublicIPAddressConfigurationArgsDict(TypedDict):
|
|
2751
|
+
"""
|
|
2752
|
+
The public IP Address configuration of the networking configuration of a Pool.
|
|
2753
|
+
"""
|
|
2754
|
+
ip_address_ids: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
2755
|
+
"""
|
|
2756
|
+
The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}.
|
|
2757
|
+
"""
|
|
2758
|
+
provision: NotRequired[pulumi.Input['IPAddressProvisioningType']]
|
|
2759
|
+
"""
|
|
2760
|
+
The default value is BatchManaged
|
|
2761
|
+
"""
|
|
2762
|
+
elif False:
|
|
2763
|
+
PublicIPAddressConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
2764
|
+
|
|
2765
|
+
@pulumi.input_type
|
|
2766
|
+
class PublicIPAddressConfigurationArgs:
|
|
2767
|
+
def __init__(__self__, *,
|
|
2768
|
+
ip_address_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
2769
|
+
provision: Optional[pulumi.Input['IPAddressProvisioningType']] = None):
|
|
2770
|
+
"""
|
|
2771
|
+
The public IP Address configuration of the networking configuration of a Pool.
|
|
2772
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_address_ids: The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}.
|
|
2773
|
+
:param pulumi.Input['IPAddressProvisioningType'] provision: The default value is BatchManaged
|
|
2774
|
+
"""
|
|
2775
|
+
if ip_address_ids is not None:
|
|
2776
|
+
pulumi.set(__self__, "ip_address_ids", ip_address_ids)
|
|
2777
|
+
if provision is not None:
|
|
2778
|
+
pulumi.set(__self__, "provision", provision)
|
|
2779
|
+
|
|
2780
|
+
@property
|
|
2781
|
+
@pulumi.getter(name="ipAddressIds")
|
|
2782
|
+
def ip_address_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
2783
|
+
"""
|
|
2784
|
+
The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}.
|
|
2785
|
+
"""
|
|
2786
|
+
return pulumi.get(self, "ip_address_ids")
|
|
2787
|
+
|
|
2788
|
+
@ip_address_ids.setter
|
|
2789
|
+
def ip_address_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
2790
|
+
pulumi.set(self, "ip_address_ids", value)
|
|
2791
|
+
|
|
2792
|
+
@property
|
|
2793
|
+
@pulumi.getter
|
|
2794
|
+
def provision(self) -> Optional[pulumi.Input['IPAddressProvisioningType']]:
|
|
2795
|
+
"""
|
|
2796
|
+
The default value is BatchManaged
|
|
2797
|
+
"""
|
|
2798
|
+
return pulumi.get(self, "provision")
|
|
2799
|
+
|
|
2800
|
+
@provision.setter
|
|
2801
|
+
def provision(self, value: Optional[pulumi.Input['IPAddressProvisioningType']]):
|
|
2802
|
+
pulumi.set(self, "provision", value)
|
|
2803
|
+
|
|
2804
|
+
|
|
2805
|
+
if not MYPY:
|
|
2806
|
+
class ResourceFileArgsDict(TypedDict):
|
|
2807
|
+
auto_storage_container_name: NotRequired[pulumi.Input[str]]
|
|
2808
|
+
"""
|
|
2809
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified.
|
|
2810
|
+
"""
|
|
2811
|
+
blob_prefix: NotRequired[pulumi.Input[str]]
|
|
2812
|
+
"""
|
|
2813
|
+
The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
|
|
2814
|
+
"""
|
|
2815
|
+
file_mode: NotRequired[pulumi.Input[str]]
|
|
2816
|
+
"""
|
|
2817
|
+
This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
|
|
2818
|
+
"""
|
|
2819
|
+
file_path: NotRequired[pulumi.Input[str]]
|
|
2820
|
+
"""
|
|
2821
|
+
If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
|
|
2822
|
+
"""
|
|
2823
|
+
http_url: NotRequired[pulumi.Input[str]]
|
|
2824
|
+
"""
|
|
2825
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.
|
|
2826
|
+
"""
|
|
2827
|
+
identity_reference: NotRequired[pulumi.Input['ComputeNodeIdentityReferenceArgsDict']]
|
|
2828
|
+
"""
|
|
2829
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
2830
|
+
"""
|
|
2831
|
+
storage_container_url: NotRequired[pulumi.Input[str]]
|
|
2832
|
+
"""
|
|
2833
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.
|
|
2834
|
+
"""
|
|
2835
|
+
elif False:
|
|
2836
|
+
ResourceFileArgsDict: TypeAlias = Mapping[str, Any]
|
|
2837
|
+
|
|
2838
|
+
@pulumi.input_type
|
|
2839
|
+
class ResourceFileArgs:
|
|
2840
|
+
def __init__(__self__, *,
|
|
2841
|
+
auto_storage_container_name: Optional[pulumi.Input[str]] = None,
|
|
2842
|
+
blob_prefix: Optional[pulumi.Input[str]] = None,
|
|
2843
|
+
file_mode: Optional[pulumi.Input[str]] = None,
|
|
2844
|
+
file_path: Optional[pulumi.Input[str]] = None,
|
|
2845
|
+
http_url: Optional[pulumi.Input[str]] = None,
|
|
2846
|
+
identity_reference: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']] = None,
|
|
2847
|
+
storage_container_url: Optional[pulumi.Input[str]] = None):
|
|
2848
|
+
"""
|
|
2849
|
+
:param pulumi.Input[str] auto_storage_container_name: The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified.
|
|
2850
|
+
:param pulumi.Input[str] blob_prefix: The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
|
|
2851
|
+
:param pulumi.Input[str] file_mode: This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
|
|
2852
|
+
:param pulumi.Input[str] file_path: If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
|
|
2853
|
+
:param pulumi.Input[str] http_url: The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.
|
|
2854
|
+
:param pulumi.Input['ComputeNodeIdentityReferenceArgs'] identity_reference: The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
2855
|
+
:param pulumi.Input[str] storage_container_url: The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.
|
|
2856
|
+
"""
|
|
2857
|
+
if auto_storage_container_name is not None:
|
|
2858
|
+
pulumi.set(__self__, "auto_storage_container_name", auto_storage_container_name)
|
|
2859
|
+
if blob_prefix is not None:
|
|
2860
|
+
pulumi.set(__self__, "blob_prefix", blob_prefix)
|
|
2861
|
+
if file_mode is not None:
|
|
2862
|
+
pulumi.set(__self__, "file_mode", file_mode)
|
|
2863
|
+
if file_path is not None:
|
|
2864
|
+
pulumi.set(__self__, "file_path", file_path)
|
|
2865
|
+
if http_url is not None:
|
|
2866
|
+
pulumi.set(__self__, "http_url", http_url)
|
|
2867
|
+
if identity_reference is not None:
|
|
2868
|
+
pulumi.set(__self__, "identity_reference", identity_reference)
|
|
2869
|
+
if storage_container_url is not None:
|
|
2870
|
+
pulumi.set(__self__, "storage_container_url", storage_container_url)
|
|
2871
|
+
|
|
2872
|
+
@property
|
|
2873
|
+
@pulumi.getter(name="autoStorageContainerName")
|
|
2874
|
+
def auto_storage_container_name(self) -> Optional[pulumi.Input[str]]:
|
|
2875
|
+
"""
|
|
2876
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified.
|
|
2877
|
+
"""
|
|
2878
|
+
return pulumi.get(self, "auto_storage_container_name")
|
|
2879
|
+
|
|
2880
|
+
@auto_storage_container_name.setter
|
|
2881
|
+
def auto_storage_container_name(self, value: Optional[pulumi.Input[str]]):
|
|
2882
|
+
pulumi.set(self, "auto_storage_container_name", value)
|
|
2883
|
+
|
|
2884
|
+
@property
|
|
2885
|
+
@pulumi.getter(name="blobPrefix")
|
|
2886
|
+
def blob_prefix(self) -> Optional[pulumi.Input[str]]:
|
|
2887
|
+
"""
|
|
2888
|
+
The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded.
|
|
2889
|
+
"""
|
|
2890
|
+
return pulumi.get(self, "blob_prefix")
|
|
2891
|
+
|
|
2892
|
+
@blob_prefix.setter
|
|
2893
|
+
def blob_prefix(self, value: Optional[pulumi.Input[str]]):
|
|
2894
|
+
pulumi.set(self, "blob_prefix", value)
|
|
2895
|
+
|
|
2896
|
+
@property
|
|
2897
|
+
@pulumi.getter(name="fileMode")
|
|
2898
|
+
def file_mode(self) -> Optional[pulumi.Input[str]]:
|
|
2899
|
+
"""
|
|
2900
|
+
This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file.
|
|
2901
|
+
"""
|
|
2902
|
+
return pulumi.get(self, "file_mode")
|
|
2903
|
+
|
|
2904
|
+
@file_mode.setter
|
|
2905
|
+
def file_mode(self, value: Optional[pulumi.Input[str]]):
|
|
2906
|
+
pulumi.set(self, "file_mode", value)
|
|
2907
|
+
|
|
2908
|
+
@property
|
|
2909
|
+
@pulumi.getter(name="filePath")
|
|
2910
|
+
def file_path(self) -> Optional[pulumi.Input[str]]:
|
|
2911
|
+
"""
|
|
2912
|
+
If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..').
|
|
2913
|
+
"""
|
|
2914
|
+
return pulumi.get(self, "file_path")
|
|
2915
|
+
|
|
2916
|
+
@file_path.setter
|
|
2917
|
+
def file_path(self, value: Optional[pulumi.Input[str]]):
|
|
2918
|
+
pulumi.set(self, "file_path", value)
|
|
2919
|
+
|
|
2920
|
+
@property
|
|
2921
|
+
@pulumi.getter(name="httpUrl")
|
|
2922
|
+
def http_url(self) -> Optional[pulumi.Input[str]]:
|
|
2923
|
+
"""
|
|
2924
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access.
|
|
2925
|
+
"""
|
|
2926
|
+
return pulumi.get(self, "http_url")
|
|
2927
|
+
|
|
2928
|
+
@http_url.setter
|
|
2929
|
+
def http_url(self, value: Optional[pulumi.Input[str]]):
|
|
2930
|
+
pulumi.set(self, "http_url", value)
|
|
2931
|
+
|
|
2932
|
+
@property
|
|
2933
|
+
@pulumi.getter(name="identityReference")
|
|
2934
|
+
def identity_reference(self) -> Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]:
|
|
2935
|
+
"""
|
|
2936
|
+
The reference to a user assigned identity associated with the Batch pool which a compute node will use.
|
|
2937
|
+
"""
|
|
2938
|
+
return pulumi.get(self, "identity_reference")
|
|
2939
|
+
|
|
2940
|
+
@identity_reference.setter
|
|
2941
|
+
def identity_reference(self, value: Optional[pulumi.Input['ComputeNodeIdentityReferenceArgs']]):
|
|
2942
|
+
pulumi.set(self, "identity_reference", value)
|
|
2943
|
+
|
|
2944
|
+
@property
|
|
2945
|
+
@pulumi.getter(name="storageContainerUrl")
|
|
2946
|
+
def storage_container_url(self) -> Optional[pulumi.Input[str]]:
|
|
2947
|
+
"""
|
|
2948
|
+
The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access.
|
|
2949
|
+
"""
|
|
2950
|
+
return pulumi.get(self, "storage_container_url")
|
|
2951
|
+
|
|
2952
|
+
@storage_container_url.setter
|
|
2953
|
+
def storage_container_url(self, value: Optional[pulumi.Input[str]]):
|
|
2954
|
+
pulumi.set(self, "storage_container_url", value)
|
|
2955
|
+
|
|
2956
|
+
|
|
2957
|
+
if not MYPY:
|
|
2958
|
+
class RollingUpgradePolicyArgsDict(TypedDict):
|
|
2959
|
+
"""
|
|
2960
|
+
The configuration parameters used while performing a rolling upgrade.
|
|
2961
|
+
"""
|
|
2962
|
+
enable_cross_zone_upgrade: NotRequired[pulumi.Input[bool]]
|
|
2963
|
+
"""
|
|
2964
|
+
Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. If this field is not set, Azure Azure Batch will not set its default value. The value of enableCrossZoneUpgrade on the created VirtualMachineScaleSet will be decided by the default configurations on VirtualMachineScaleSet. This field is able to be set to true or false only when using NodePlacementConfiguration as Zonal.
|
|
2965
|
+
"""
|
|
2966
|
+
max_batch_instance_percent: NotRequired[pulumi.Input[int]]
|
|
2967
|
+
"""
|
|
2968
|
+
The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
2969
|
+
"""
|
|
2970
|
+
max_unhealthy_instance_percent: NotRequired[pulumi.Input[int]]
|
|
2971
|
+
"""
|
|
2972
|
+
The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
2973
|
+
"""
|
|
2974
|
+
max_unhealthy_upgraded_instance_percent: NotRequired[pulumi.Input[int]]
|
|
2975
|
+
"""
|
|
2976
|
+
The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The value of this field should be between 0 and 100, inclusive.
|
|
2977
|
+
"""
|
|
2978
|
+
pause_time_between_batches: NotRequired[pulumi.Input[str]]
|
|
2979
|
+
"""
|
|
2980
|
+
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
|
|
2981
|
+
"""
|
|
2982
|
+
prioritize_unhealthy_instances: NotRequired[pulumi.Input[bool]]
|
|
2983
|
+
"""
|
|
2984
|
+
Upgrade all unhealthy instances in a scale set before any healthy instances.
|
|
2985
|
+
"""
|
|
2986
|
+
rollback_failed_instances_on_policy_breach: NotRequired[pulumi.Input[bool]]
|
|
2987
|
+
"""
|
|
2988
|
+
Rollback failed instances to previous model if the Rolling Upgrade policy is violated.
|
|
2989
|
+
"""
|
|
2990
|
+
elif False:
|
|
2991
|
+
RollingUpgradePolicyArgsDict: TypeAlias = Mapping[str, Any]
|
|
2992
|
+
|
|
2993
|
+
@pulumi.input_type
|
|
2994
|
+
class RollingUpgradePolicyArgs:
|
|
2995
|
+
def __init__(__self__, *,
|
|
2996
|
+
enable_cross_zone_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
2997
|
+
max_batch_instance_percent: Optional[pulumi.Input[int]] = None,
|
|
2998
|
+
max_unhealthy_instance_percent: Optional[pulumi.Input[int]] = None,
|
|
2999
|
+
max_unhealthy_upgraded_instance_percent: Optional[pulumi.Input[int]] = None,
|
|
3000
|
+
pause_time_between_batches: Optional[pulumi.Input[str]] = None,
|
|
3001
|
+
prioritize_unhealthy_instances: Optional[pulumi.Input[bool]] = None,
|
|
3002
|
+
rollback_failed_instances_on_policy_breach: Optional[pulumi.Input[bool]] = None):
|
|
3003
|
+
"""
|
|
3004
|
+
The configuration parameters used while performing a rolling upgrade.
|
|
3005
|
+
:param pulumi.Input[bool] enable_cross_zone_upgrade: Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. If this field is not set, Azure Azure Batch will not set its default value. The value of enableCrossZoneUpgrade on the created VirtualMachineScaleSet will be decided by the default configurations on VirtualMachineScaleSet. This field is able to be set to true or false only when using NodePlacementConfiguration as Zonal.
|
|
3006
|
+
:param pulumi.Input[int] max_batch_instance_percent: The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
3007
|
+
:param pulumi.Input[int] max_unhealthy_instance_percent: The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
3008
|
+
:param pulumi.Input[int] max_unhealthy_upgraded_instance_percent: The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The value of this field should be between 0 and 100, inclusive.
|
|
3009
|
+
:param pulumi.Input[str] pause_time_between_batches: The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
|
|
3010
|
+
:param pulumi.Input[bool] prioritize_unhealthy_instances: Upgrade all unhealthy instances in a scale set before any healthy instances.
|
|
3011
|
+
:param pulumi.Input[bool] rollback_failed_instances_on_policy_breach: Rollback failed instances to previous model if the Rolling Upgrade policy is violated.
|
|
3012
|
+
"""
|
|
3013
|
+
if enable_cross_zone_upgrade is not None:
|
|
3014
|
+
pulumi.set(__self__, "enable_cross_zone_upgrade", enable_cross_zone_upgrade)
|
|
3015
|
+
if max_batch_instance_percent is not None:
|
|
3016
|
+
pulumi.set(__self__, "max_batch_instance_percent", max_batch_instance_percent)
|
|
3017
|
+
if max_unhealthy_instance_percent is not None:
|
|
3018
|
+
pulumi.set(__self__, "max_unhealthy_instance_percent", max_unhealthy_instance_percent)
|
|
3019
|
+
if max_unhealthy_upgraded_instance_percent is not None:
|
|
3020
|
+
pulumi.set(__self__, "max_unhealthy_upgraded_instance_percent", max_unhealthy_upgraded_instance_percent)
|
|
3021
|
+
if pause_time_between_batches is not None:
|
|
3022
|
+
pulumi.set(__self__, "pause_time_between_batches", pause_time_between_batches)
|
|
3023
|
+
if prioritize_unhealthy_instances is not None:
|
|
3024
|
+
pulumi.set(__self__, "prioritize_unhealthy_instances", prioritize_unhealthy_instances)
|
|
3025
|
+
if rollback_failed_instances_on_policy_breach is not None:
|
|
3026
|
+
pulumi.set(__self__, "rollback_failed_instances_on_policy_breach", rollback_failed_instances_on_policy_breach)
|
|
3027
|
+
|
|
3028
|
+
@property
|
|
3029
|
+
@pulumi.getter(name="enableCrossZoneUpgrade")
|
|
3030
|
+
def enable_cross_zone_upgrade(self) -> Optional[pulumi.Input[bool]]:
|
|
3031
|
+
"""
|
|
3032
|
+
Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size. If this field is not set, Azure Azure Batch will not set its default value. The value of enableCrossZoneUpgrade on the created VirtualMachineScaleSet will be decided by the default configurations on VirtualMachineScaleSet. This field is able to be set to true or false only when using NodePlacementConfiguration as Zonal.
|
|
3033
|
+
"""
|
|
3034
|
+
return pulumi.get(self, "enable_cross_zone_upgrade")
|
|
3035
|
+
|
|
3036
|
+
@enable_cross_zone_upgrade.setter
|
|
3037
|
+
def enable_cross_zone_upgrade(self, value: Optional[pulumi.Input[bool]]):
|
|
3038
|
+
pulumi.set(self, "enable_cross_zone_upgrade", value)
|
|
3039
|
+
|
|
3040
|
+
@property
|
|
3041
|
+
@pulumi.getter(name="maxBatchInstancePercent")
|
|
3042
|
+
def max_batch_instance_percent(self) -> Optional[pulumi.Input[int]]:
|
|
3043
|
+
"""
|
|
3044
|
+
The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
3045
|
+
"""
|
|
3046
|
+
return pulumi.get(self, "max_batch_instance_percent")
|
|
3047
|
+
|
|
3048
|
+
@max_batch_instance_percent.setter
|
|
3049
|
+
def max_batch_instance_percent(self, value: Optional[pulumi.Input[int]]):
|
|
3050
|
+
pulumi.set(self, "max_batch_instance_percent", value)
|
|
3051
|
+
|
|
3052
|
+
@property
|
|
3053
|
+
@pulumi.getter(name="maxUnhealthyInstancePercent")
|
|
3054
|
+
def max_unhealthy_instance_percent(self) -> Optional[pulumi.Input[int]]:
|
|
3055
|
+
"""
|
|
3056
|
+
The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The value of this field should be between 5 and 100, inclusive. If both maxBatchInstancePercent and maxUnhealthyInstancePercent are assigned with value, the value of maxBatchInstancePercent should not be more than maxUnhealthyInstancePercent.
|
|
3057
|
+
"""
|
|
3058
|
+
return pulumi.get(self, "max_unhealthy_instance_percent")
|
|
3059
|
+
|
|
3060
|
+
@max_unhealthy_instance_percent.setter
|
|
3061
|
+
def max_unhealthy_instance_percent(self, value: Optional[pulumi.Input[int]]):
|
|
3062
|
+
pulumi.set(self, "max_unhealthy_instance_percent", value)
|
|
3063
|
+
|
|
3064
|
+
@property
|
|
3065
|
+
@pulumi.getter(name="maxUnhealthyUpgradedInstancePercent")
|
|
3066
|
+
def max_unhealthy_upgraded_instance_percent(self) -> Optional[pulumi.Input[int]]:
|
|
3067
|
+
"""
|
|
3068
|
+
The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The value of this field should be between 0 and 100, inclusive.
|
|
3069
|
+
"""
|
|
3070
|
+
return pulumi.get(self, "max_unhealthy_upgraded_instance_percent")
|
|
3071
|
+
|
|
3072
|
+
@max_unhealthy_upgraded_instance_percent.setter
|
|
3073
|
+
def max_unhealthy_upgraded_instance_percent(self, value: Optional[pulumi.Input[int]]):
|
|
3074
|
+
pulumi.set(self, "max_unhealthy_upgraded_instance_percent", value)
|
|
3075
|
+
|
|
3076
|
+
@property
|
|
3077
|
+
@pulumi.getter(name="pauseTimeBetweenBatches")
|
|
3078
|
+
def pause_time_between_batches(self) -> Optional[pulumi.Input[str]]:
|
|
3079
|
+
"""
|
|
3080
|
+
The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format.
|
|
3081
|
+
"""
|
|
3082
|
+
return pulumi.get(self, "pause_time_between_batches")
|
|
3083
|
+
|
|
3084
|
+
@pause_time_between_batches.setter
|
|
3085
|
+
def pause_time_between_batches(self, value: Optional[pulumi.Input[str]]):
|
|
3086
|
+
pulumi.set(self, "pause_time_between_batches", value)
|
|
3087
|
+
|
|
3088
|
+
@property
|
|
3089
|
+
@pulumi.getter(name="prioritizeUnhealthyInstances")
|
|
3090
|
+
def prioritize_unhealthy_instances(self) -> Optional[pulumi.Input[bool]]:
|
|
3091
|
+
"""
|
|
3092
|
+
Upgrade all unhealthy instances in a scale set before any healthy instances.
|
|
3093
|
+
"""
|
|
3094
|
+
return pulumi.get(self, "prioritize_unhealthy_instances")
|
|
3095
|
+
|
|
3096
|
+
@prioritize_unhealthy_instances.setter
|
|
3097
|
+
def prioritize_unhealthy_instances(self, value: Optional[pulumi.Input[bool]]):
|
|
3098
|
+
pulumi.set(self, "prioritize_unhealthy_instances", value)
|
|
3099
|
+
|
|
3100
|
+
@property
|
|
3101
|
+
@pulumi.getter(name="rollbackFailedInstancesOnPolicyBreach")
|
|
3102
|
+
def rollback_failed_instances_on_policy_breach(self) -> Optional[pulumi.Input[bool]]:
|
|
3103
|
+
"""
|
|
3104
|
+
Rollback failed instances to previous model if the Rolling Upgrade policy is violated.
|
|
3105
|
+
"""
|
|
3106
|
+
return pulumi.get(self, "rollback_failed_instances_on_policy_breach")
|
|
3107
|
+
|
|
3108
|
+
@rollback_failed_instances_on_policy_breach.setter
|
|
3109
|
+
def rollback_failed_instances_on_policy_breach(self, value: Optional[pulumi.Input[bool]]):
|
|
3110
|
+
pulumi.set(self, "rollback_failed_instances_on_policy_breach", value)
|
|
3111
|
+
|
|
3112
|
+
|
|
3113
|
+
if not MYPY:
|
|
3114
|
+
class ScaleSettingsArgsDict(TypedDict):
|
|
3115
|
+
"""
|
|
3116
|
+
Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes.
|
|
3117
|
+
"""
|
|
3118
|
+
auto_scale: NotRequired[pulumi.Input['AutoScaleSettingsArgsDict']]
|
|
3119
|
+
"""
|
|
3120
|
+
This property and fixedScale are mutually exclusive and one of the properties must be specified.
|
|
3121
|
+
"""
|
|
3122
|
+
fixed_scale: NotRequired[pulumi.Input['FixedScaleSettingsArgsDict']]
|
|
3123
|
+
"""
|
|
3124
|
+
This property and autoScale are mutually exclusive and one of the properties must be specified.
|
|
3125
|
+
"""
|
|
3126
|
+
elif False:
|
|
3127
|
+
ScaleSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
3128
|
+
|
|
3129
|
+
@pulumi.input_type
|
|
3130
|
+
class ScaleSettingsArgs:
|
|
3131
|
+
def __init__(__self__, *,
|
|
3132
|
+
auto_scale: Optional[pulumi.Input['AutoScaleSettingsArgs']] = None,
|
|
3133
|
+
fixed_scale: Optional[pulumi.Input['FixedScaleSettingsArgs']] = None):
|
|
3134
|
+
"""
|
|
3135
|
+
Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes.
|
|
3136
|
+
:param pulumi.Input['AutoScaleSettingsArgs'] auto_scale: This property and fixedScale are mutually exclusive and one of the properties must be specified.
|
|
3137
|
+
:param pulumi.Input['FixedScaleSettingsArgs'] fixed_scale: This property and autoScale are mutually exclusive and one of the properties must be specified.
|
|
3138
|
+
"""
|
|
3139
|
+
if auto_scale is not None:
|
|
3140
|
+
pulumi.set(__self__, "auto_scale", auto_scale)
|
|
3141
|
+
if fixed_scale is not None:
|
|
3142
|
+
pulumi.set(__self__, "fixed_scale", fixed_scale)
|
|
3143
|
+
|
|
3144
|
+
@property
|
|
3145
|
+
@pulumi.getter(name="autoScale")
|
|
3146
|
+
def auto_scale(self) -> Optional[pulumi.Input['AutoScaleSettingsArgs']]:
|
|
3147
|
+
"""
|
|
3148
|
+
This property and fixedScale are mutually exclusive and one of the properties must be specified.
|
|
3149
|
+
"""
|
|
3150
|
+
return pulumi.get(self, "auto_scale")
|
|
3151
|
+
|
|
3152
|
+
@auto_scale.setter
|
|
3153
|
+
def auto_scale(self, value: Optional[pulumi.Input['AutoScaleSettingsArgs']]):
|
|
3154
|
+
pulumi.set(self, "auto_scale", value)
|
|
3155
|
+
|
|
3156
|
+
@property
|
|
3157
|
+
@pulumi.getter(name="fixedScale")
|
|
3158
|
+
def fixed_scale(self) -> Optional[pulumi.Input['FixedScaleSettingsArgs']]:
|
|
3159
|
+
"""
|
|
3160
|
+
This property and autoScale are mutually exclusive and one of the properties must be specified.
|
|
3161
|
+
"""
|
|
3162
|
+
return pulumi.get(self, "fixed_scale")
|
|
3163
|
+
|
|
3164
|
+
@fixed_scale.setter
|
|
3165
|
+
def fixed_scale(self, value: Optional[pulumi.Input['FixedScaleSettingsArgs']]):
|
|
3166
|
+
pulumi.set(self, "fixed_scale", value)
|
|
3167
|
+
|
|
3168
|
+
|
|
3169
|
+
if not MYPY:
|
|
3170
|
+
class SecurityProfileArgsDict(TypedDict):
|
|
3171
|
+
"""
|
|
3172
|
+
Specifies the security profile settings for the virtual machine or virtual machine scale set.
|
|
3173
|
+
"""
|
|
3174
|
+
encryption_at_host: NotRequired[pulumi.Input[bool]]
|
|
3175
|
+
"""
|
|
3176
|
+
This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.
|
|
3177
|
+
"""
|
|
3178
|
+
security_type: NotRequired[pulumi.Input['SecurityTypes']]
|
|
3179
|
+
uefi_settings: NotRequired[pulumi.Input['UefiSettingsArgsDict']]
|
|
3180
|
+
"""
|
|
3181
|
+
Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
|
|
3182
|
+
"""
|
|
3183
|
+
elif False:
|
|
3184
|
+
SecurityProfileArgsDict: TypeAlias = Mapping[str, Any]
|
|
3185
|
+
|
|
3186
|
+
@pulumi.input_type
|
|
3187
|
+
class SecurityProfileArgs:
|
|
3188
|
+
def __init__(__self__, *,
|
|
3189
|
+
encryption_at_host: Optional[pulumi.Input[bool]] = None,
|
|
3190
|
+
security_type: Optional[pulumi.Input['SecurityTypes']] = None,
|
|
3191
|
+
uefi_settings: Optional[pulumi.Input['UefiSettingsArgs']] = None):
|
|
3192
|
+
"""
|
|
3193
|
+
Specifies the security profile settings for the virtual machine or virtual machine scale set.
|
|
3194
|
+
:param pulumi.Input[bool] encryption_at_host: This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.
|
|
3195
|
+
:param pulumi.Input['UefiSettingsArgs'] uefi_settings: Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
|
|
3196
|
+
"""
|
|
3197
|
+
if encryption_at_host is not None:
|
|
3198
|
+
pulumi.set(__self__, "encryption_at_host", encryption_at_host)
|
|
3199
|
+
if security_type is not None:
|
|
3200
|
+
pulumi.set(__self__, "security_type", security_type)
|
|
3201
|
+
if uefi_settings is not None:
|
|
3202
|
+
pulumi.set(__self__, "uefi_settings", uefi_settings)
|
|
3203
|
+
|
|
3204
|
+
@property
|
|
3205
|
+
@pulumi.getter(name="encryptionAtHost")
|
|
3206
|
+
def encryption_at_host(self) -> Optional[pulumi.Input[bool]]:
|
|
3207
|
+
"""
|
|
3208
|
+
This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.
|
|
3209
|
+
"""
|
|
3210
|
+
return pulumi.get(self, "encryption_at_host")
|
|
3211
|
+
|
|
3212
|
+
@encryption_at_host.setter
|
|
3213
|
+
def encryption_at_host(self, value: Optional[pulumi.Input[bool]]):
|
|
3214
|
+
pulumi.set(self, "encryption_at_host", value)
|
|
3215
|
+
|
|
3216
|
+
@property
|
|
3217
|
+
@pulumi.getter(name="securityType")
|
|
3218
|
+
def security_type(self) -> Optional[pulumi.Input['SecurityTypes']]:
|
|
3219
|
+
return pulumi.get(self, "security_type")
|
|
3220
|
+
|
|
3221
|
+
@security_type.setter
|
|
3222
|
+
def security_type(self, value: Optional[pulumi.Input['SecurityTypes']]):
|
|
3223
|
+
pulumi.set(self, "security_type", value)
|
|
3224
|
+
|
|
3225
|
+
@property
|
|
3226
|
+
@pulumi.getter(name="uefiSettings")
|
|
3227
|
+
def uefi_settings(self) -> Optional[pulumi.Input['UefiSettingsArgs']]:
|
|
3228
|
+
"""
|
|
3229
|
+
Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
|
|
3230
|
+
"""
|
|
3231
|
+
return pulumi.get(self, "uefi_settings")
|
|
3232
|
+
|
|
3233
|
+
@uefi_settings.setter
|
|
3234
|
+
def uefi_settings(self, value: Optional[pulumi.Input['UefiSettingsArgs']]):
|
|
3235
|
+
pulumi.set(self, "uefi_settings", value)
|
|
3236
|
+
|
|
3237
|
+
|
|
3238
|
+
if not MYPY:
|
|
3239
|
+
class ServiceArtifactReferenceArgsDict(TypedDict):
|
|
3240
|
+
"""
|
|
3241
|
+
Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version.
|
|
3242
|
+
"""
|
|
3243
|
+
id: pulumi.Input[str]
|
|
3244
|
+
"""
|
|
3245
|
+
The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
3246
|
+
"""
|
|
3247
|
+
elif False:
|
|
3248
|
+
ServiceArtifactReferenceArgsDict: TypeAlias = Mapping[str, Any]
|
|
3249
|
+
|
|
3250
|
+
@pulumi.input_type
|
|
3251
|
+
class ServiceArtifactReferenceArgs:
|
|
3252
|
+
def __init__(__self__, *,
|
|
3253
|
+
id: pulumi.Input[str]):
|
|
3254
|
+
"""
|
|
3255
|
+
Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version.
|
|
3256
|
+
:param pulumi.Input[str] id: The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
3257
|
+
"""
|
|
3258
|
+
pulumi.set(__self__, "id", id)
|
|
3259
|
+
|
|
3260
|
+
@property
|
|
3261
|
+
@pulumi.getter
|
|
3262
|
+
def id(self) -> pulumi.Input[str]:
|
|
3263
|
+
"""
|
|
3264
|
+
The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
3265
|
+
"""
|
|
3266
|
+
return pulumi.get(self, "id")
|
|
3267
|
+
|
|
3268
|
+
@id.setter
|
|
3269
|
+
def id(self, value: pulumi.Input[str]):
|
|
3270
|
+
pulumi.set(self, "id", value)
|
|
3271
|
+
|
|
3272
|
+
|
|
3273
|
+
if not MYPY:
|
|
3274
|
+
class StartTaskArgsDict(TypedDict):
|
|
3275
|
+
"""
|
|
3276
|
+
In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task.
|
|
3277
|
+
"""
|
|
3278
|
+
command_line: NotRequired[pulumi.Input[str]]
|
|
3279
|
+
"""
|
|
3280
|
+
The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. Required if any other properties of the startTask are specified.
|
|
3281
|
+
"""
|
|
3282
|
+
container_settings: NotRequired[pulumi.Input['TaskContainerSettingsArgsDict']]
|
|
3283
|
+
"""
|
|
3284
|
+
When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
|
|
3285
|
+
"""
|
|
3286
|
+
environment_settings: NotRequired[pulumi.Input[Sequence[pulumi.Input['EnvironmentSettingArgsDict']]]]
|
|
3287
|
+
max_task_retry_count: NotRequired[pulumi.Input[int]]
|
|
3288
|
+
"""
|
|
3289
|
+
The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. Default is 0
|
|
3290
|
+
"""
|
|
3291
|
+
resource_files: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceFileArgsDict']]]]
|
|
3292
|
+
user_identity: NotRequired[pulumi.Input['UserIdentityArgsDict']]
|
|
3293
|
+
"""
|
|
3294
|
+
If omitted, the task runs as a non-administrative user unique to the task.
|
|
3295
|
+
"""
|
|
3296
|
+
wait_for_success: NotRequired[pulumi.Input[bool]]
|
|
3297
|
+
"""
|
|
3298
|
+
If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true.
|
|
3299
|
+
"""
|
|
3300
|
+
elif False:
|
|
3301
|
+
StartTaskArgsDict: TypeAlias = Mapping[str, Any]
|
|
3302
|
+
|
|
3303
|
+
@pulumi.input_type
|
|
3304
|
+
class StartTaskArgs:
|
|
3305
|
+
def __init__(__self__, *,
|
|
3306
|
+
command_line: Optional[pulumi.Input[str]] = None,
|
|
3307
|
+
container_settings: Optional[pulumi.Input['TaskContainerSettingsArgs']] = None,
|
|
3308
|
+
environment_settings: Optional[pulumi.Input[Sequence[pulumi.Input['EnvironmentSettingArgs']]]] = None,
|
|
3309
|
+
max_task_retry_count: Optional[pulumi.Input[int]] = None,
|
|
3310
|
+
resource_files: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFileArgs']]]] = None,
|
|
3311
|
+
user_identity: Optional[pulumi.Input['UserIdentityArgs']] = None,
|
|
3312
|
+
wait_for_success: Optional[pulumi.Input[bool]] = None):
|
|
3313
|
+
"""
|
|
3314
|
+
In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task.
|
|
3315
|
+
:param pulumi.Input[str] command_line: The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. Required if any other properties of the startTask are specified.
|
|
3316
|
+
:param pulumi.Input['TaskContainerSettingsArgs'] container_settings: When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
|
|
3317
|
+
:param pulumi.Input[int] max_task_retry_count: The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. Default is 0
|
|
3318
|
+
:param pulumi.Input['UserIdentityArgs'] user_identity: If omitted, the task runs as a non-administrative user unique to the task.
|
|
3319
|
+
:param pulumi.Input[bool] wait_for_success: If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true.
|
|
3320
|
+
"""
|
|
3321
|
+
if command_line is not None:
|
|
3322
|
+
pulumi.set(__self__, "command_line", command_line)
|
|
3323
|
+
if container_settings is not None:
|
|
3324
|
+
pulumi.set(__self__, "container_settings", container_settings)
|
|
3325
|
+
if environment_settings is not None:
|
|
3326
|
+
pulumi.set(__self__, "environment_settings", environment_settings)
|
|
3327
|
+
if max_task_retry_count is None:
|
|
3328
|
+
max_task_retry_count = 0
|
|
3329
|
+
if max_task_retry_count is not None:
|
|
3330
|
+
pulumi.set(__self__, "max_task_retry_count", max_task_retry_count)
|
|
3331
|
+
if resource_files is not None:
|
|
3332
|
+
pulumi.set(__self__, "resource_files", resource_files)
|
|
3333
|
+
if user_identity is not None:
|
|
3334
|
+
pulumi.set(__self__, "user_identity", user_identity)
|
|
3335
|
+
if wait_for_success is not None:
|
|
3336
|
+
pulumi.set(__self__, "wait_for_success", wait_for_success)
|
|
3337
|
+
|
|
3338
|
+
@property
|
|
3339
|
+
@pulumi.getter(name="commandLine")
|
|
3340
|
+
def command_line(self) -> Optional[pulumi.Input[str]]:
|
|
3341
|
+
"""
|
|
3342
|
+
The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. Required if any other properties of the startTask are specified.
|
|
3343
|
+
"""
|
|
3344
|
+
return pulumi.get(self, "command_line")
|
|
3345
|
+
|
|
3346
|
+
@command_line.setter
|
|
3347
|
+
def command_line(self, value: Optional[pulumi.Input[str]]):
|
|
3348
|
+
pulumi.set(self, "command_line", value)
|
|
3349
|
+
|
|
3350
|
+
@property
|
|
3351
|
+
@pulumi.getter(name="containerSettings")
|
|
3352
|
+
def container_settings(self) -> Optional[pulumi.Input['TaskContainerSettingsArgs']]:
|
|
3353
|
+
"""
|
|
3354
|
+
When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container.
|
|
3355
|
+
"""
|
|
3356
|
+
return pulumi.get(self, "container_settings")
|
|
3357
|
+
|
|
3358
|
+
@container_settings.setter
|
|
3359
|
+
def container_settings(self, value: Optional[pulumi.Input['TaskContainerSettingsArgs']]):
|
|
3360
|
+
pulumi.set(self, "container_settings", value)
|
|
3361
|
+
|
|
3362
|
+
@property
|
|
3363
|
+
@pulumi.getter(name="environmentSettings")
|
|
3364
|
+
def environment_settings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EnvironmentSettingArgs']]]]:
|
|
3365
|
+
return pulumi.get(self, "environment_settings")
|
|
3366
|
+
|
|
3367
|
+
@environment_settings.setter
|
|
3368
|
+
def environment_settings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EnvironmentSettingArgs']]]]):
|
|
3369
|
+
pulumi.set(self, "environment_settings", value)
|
|
3370
|
+
|
|
3371
|
+
@property
|
|
3372
|
+
@pulumi.getter(name="maxTaskRetryCount")
|
|
3373
|
+
def max_task_retry_count(self) -> Optional[pulumi.Input[int]]:
|
|
3374
|
+
"""
|
|
3375
|
+
The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. Default is 0
|
|
3376
|
+
"""
|
|
3377
|
+
return pulumi.get(self, "max_task_retry_count")
|
|
3378
|
+
|
|
3379
|
+
@max_task_retry_count.setter
|
|
3380
|
+
def max_task_retry_count(self, value: Optional[pulumi.Input[int]]):
|
|
3381
|
+
pulumi.set(self, "max_task_retry_count", value)
|
|
3382
|
+
|
|
3383
|
+
@property
|
|
3384
|
+
@pulumi.getter(name="resourceFiles")
|
|
3385
|
+
def resource_files(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFileArgs']]]]:
|
|
3386
|
+
return pulumi.get(self, "resource_files")
|
|
3387
|
+
|
|
3388
|
+
@resource_files.setter
|
|
3389
|
+
def resource_files(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFileArgs']]]]):
|
|
3390
|
+
pulumi.set(self, "resource_files", value)
|
|
3391
|
+
|
|
3392
|
+
@property
|
|
3393
|
+
@pulumi.getter(name="userIdentity")
|
|
3394
|
+
def user_identity(self) -> Optional[pulumi.Input['UserIdentityArgs']]:
|
|
3395
|
+
"""
|
|
3396
|
+
If omitted, the task runs as a non-administrative user unique to the task.
|
|
3397
|
+
"""
|
|
3398
|
+
return pulumi.get(self, "user_identity")
|
|
3399
|
+
|
|
3400
|
+
@user_identity.setter
|
|
3401
|
+
def user_identity(self, value: Optional[pulumi.Input['UserIdentityArgs']]):
|
|
3402
|
+
pulumi.set(self, "user_identity", value)
|
|
3403
|
+
|
|
3404
|
+
@property
|
|
3405
|
+
@pulumi.getter(name="waitForSuccess")
|
|
3406
|
+
def wait_for_success(self) -> Optional[pulumi.Input[bool]]:
|
|
3407
|
+
"""
|
|
3408
|
+
If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true.
|
|
3409
|
+
"""
|
|
3410
|
+
return pulumi.get(self, "wait_for_success")
|
|
3411
|
+
|
|
3412
|
+
@wait_for_success.setter
|
|
3413
|
+
def wait_for_success(self, value: Optional[pulumi.Input[bool]]):
|
|
3414
|
+
pulumi.set(self, "wait_for_success", value)
|
|
3415
|
+
|
|
3416
|
+
|
|
3417
|
+
if not MYPY:
|
|
3418
|
+
class TaskContainerSettingsArgsDict(TypedDict):
|
|
3419
|
+
image_name: pulumi.Input[str]
|
|
3420
|
+
"""
|
|
3421
|
+
This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
|
|
3422
|
+
"""
|
|
3423
|
+
container_host_batch_bind_mounts: NotRequired[pulumi.Input[Sequence[pulumi.Input['ContainerHostBatchBindMountEntryArgsDict']]]]
|
|
3424
|
+
"""
|
|
3425
|
+
If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty.
|
|
3426
|
+
"""
|
|
3427
|
+
container_run_options: NotRequired[pulumi.Input[str]]
|
|
3428
|
+
"""
|
|
3429
|
+
These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
|
|
3430
|
+
"""
|
|
3431
|
+
registry: NotRequired[pulumi.Input['ContainerRegistryArgsDict']]
|
|
3432
|
+
"""
|
|
3433
|
+
This setting can be omitted if was already provided at pool creation.
|
|
3434
|
+
"""
|
|
3435
|
+
working_directory: NotRequired[pulumi.Input['ContainerWorkingDirectory']]
|
|
3436
|
+
elif False:
|
|
3437
|
+
TaskContainerSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
3438
|
+
|
|
3439
|
+
@pulumi.input_type
|
|
3440
|
+
class TaskContainerSettingsArgs:
|
|
3441
|
+
def __init__(__self__, *,
|
|
3442
|
+
image_name: pulumi.Input[str],
|
|
3443
|
+
container_host_batch_bind_mounts: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHostBatchBindMountEntryArgs']]]] = None,
|
|
3444
|
+
container_run_options: Optional[pulumi.Input[str]] = None,
|
|
3445
|
+
registry: Optional[pulumi.Input['ContainerRegistryArgs']] = None,
|
|
3446
|
+
working_directory: Optional[pulumi.Input['ContainerWorkingDirectory']] = None):
|
|
3447
|
+
"""
|
|
3448
|
+
:param pulumi.Input[str] image_name: This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
|
|
3449
|
+
:param pulumi.Input[Sequence[pulumi.Input['ContainerHostBatchBindMountEntryArgs']]] container_host_batch_bind_mounts: If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty.
|
|
3450
|
+
:param pulumi.Input[str] container_run_options: These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
|
|
3451
|
+
:param pulumi.Input['ContainerRegistryArgs'] registry: This setting can be omitted if was already provided at pool creation.
|
|
3452
|
+
"""
|
|
3453
|
+
pulumi.set(__self__, "image_name", image_name)
|
|
3454
|
+
if container_host_batch_bind_mounts is not None:
|
|
3455
|
+
pulumi.set(__self__, "container_host_batch_bind_mounts", container_host_batch_bind_mounts)
|
|
3456
|
+
if container_run_options is not None:
|
|
3457
|
+
pulumi.set(__self__, "container_run_options", container_run_options)
|
|
3458
|
+
if registry is not None:
|
|
3459
|
+
pulumi.set(__self__, "registry", registry)
|
|
3460
|
+
if working_directory is not None:
|
|
3461
|
+
pulumi.set(__self__, "working_directory", working_directory)
|
|
3462
|
+
|
|
3463
|
+
@property
|
|
3464
|
+
@pulumi.getter(name="imageName")
|
|
3465
|
+
def image_name(self) -> pulumi.Input[str]:
|
|
3466
|
+
"""
|
|
3467
|
+
This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default.
|
|
3468
|
+
"""
|
|
3469
|
+
return pulumi.get(self, "image_name")
|
|
3470
|
+
|
|
3471
|
+
@image_name.setter
|
|
3472
|
+
def image_name(self, value: pulumi.Input[str]):
|
|
3473
|
+
pulumi.set(self, "image_name", value)
|
|
3474
|
+
|
|
3475
|
+
@property
|
|
3476
|
+
@pulumi.getter(name="containerHostBatchBindMounts")
|
|
3477
|
+
def container_host_batch_bind_mounts(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHostBatchBindMountEntryArgs']]]]:
|
|
3478
|
+
"""
|
|
3479
|
+
If this array is null or be not present, container task will mount entire temporary disk drive in windows (or AZ_BATCH_NODE_ROOT_DIR in Linux). It won't' mount any data paths into container if this array is set as empty.
|
|
3480
|
+
"""
|
|
3481
|
+
return pulumi.get(self, "container_host_batch_bind_mounts")
|
|
3482
|
+
|
|
3483
|
+
@container_host_batch_bind_mounts.setter
|
|
3484
|
+
def container_host_batch_bind_mounts(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ContainerHostBatchBindMountEntryArgs']]]]):
|
|
3485
|
+
pulumi.set(self, "container_host_batch_bind_mounts", value)
|
|
3486
|
+
|
|
3487
|
+
@property
|
|
3488
|
+
@pulumi.getter(name="containerRunOptions")
|
|
3489
|
+
def container_run_options(self) -> Optional[pulumi.Input[str]]:
|
|
3490
|
+
"""
|
|
3491
|
+
These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service.
|
|
3492
|
+
"""
|
|
3493
|
+
return pulumi.get(self, "container_run_options")
|
|
3494
|
+
|
|
3495
|
+
@container_run_options.setter
|
|
3496
|
+
def container_run_options(self, value: Optional[pulumi.Input[str]]):
|
|
3497
|
+
pulumi.set(self, "container_run_options", value)
|
|
3498
|
+
|
|
3499
|
+
@property
|
|
3500
|
+
@pulumi.getter
|
|
3501
|
+
def registry(self) -> Optional[pulumi.Input['ContainerRegistryArgs']]:
|
|
3502
|
+
"""
|
|
3503
|
+
This setting can be omitted if was already provided at pool creation.
|
|
3504
|
+
"""
|
|
3505
|
+
return pulumi.get(self, "registry")
|
|
3506
|
+
|
|
3507
|
+
@registry.setter
|
|
3508
|
+
def registry(self, value: Optional[pulumi.Input['ContainerRegistryArgs']]):
|
|
3509
|
+
pulumi.set(self, "registry", value)
|
|
3510
|
+
|
|
3511
|
+
@property
|
|
3512
|
+
@pulumi.getter(name="workingDirectory")
|
|
3513
|
+
def working_directory(self) -> Optional[pulumi.Input['ContainerWorkingDirectory']]:
|
|
3514
|
+
return pulumi.get(self, "working_directory")
|
|
3515
|
+
|
|
3516
|
+
@working_directory.setter
|
|
3517
|
+
def working_directory(self, value: Optional[pulumi.Input['ContainerWorkingDirectory']]):
|
|
3518
|
+
pulumi.set(self, "working_directory", value)
|
|
3519
|
+
|
|
3520
|
+
|
|
3521
|
+
if not MYPY:
|
|
3522
|
+
class TaskSchedulingPolicyArgsDict(TypedDict):
|
|
3523
|
+
node_fill_type: pulumi.Input['ComputeNodeFillType']
|
|
3524
|
+
elif False:
|
|
3525
|
+
TaskSchedulingPolicyArgsDict: TypeAlias = Mapping[str, Any]
|
|
3526
|
+
|
|
3527
|
+
@pulumi.input_type
|
|
3528
|
+
class TaskSchedulingPolicyArgs:
|
|
3529
|
+
def __init__(__self__, *,
|
|
3530
|
+
node_fill_type: Optional[pulumi.Input['ComputeNodeFillType']] = None):
|
|
3531
|
+
if node_fill_type is None:
|
|
3532
|
+
node_fill_type = 'Spread'
|
|
3533
|
+
pulumi.set(__self__, "node_fill_type", node_fill_type)
|
|
3534
|
+
|
|
3535
|
+
@property
|
|
3536
|
+
@pulumi.getter(name="nodeFillType")
|
|
3537
|
+
def node_fill_type(self) -> pulumi.Input['ComputeNodeFillType']:
|
|
3538
|
+
return pulumi.get(self, "node_fill_type")
|
|
3539
|
+
|
|
3540
|
+
@node_fill_type.setter
|
|
3541
|
+
def node_fill_type(self, value: pulumi.Input['ComputeNodeFillType']):
|
|
3542
|
+
pulumi.set(self, "node_fill_type", value)
|
|
3543
|
+
|
|
3544
|
+
|
|
3545
|
+
if not MYPY:
|
|
3546
|
+
class UefiSettingsArgsDict(TypedDict):
|
|
3547
|
+
"""
|
|
3548
|
+
Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
|
|
3549
|
+
"""
|
|
3550
|
+
secure_boot_enabled: NotRequired[pulumi.Input[bool]]
|
|
3551
|
+
"""
|
|
3552
|
+
Specifies whether secure boot should be enabled on the virtual machine.
|
|
3553
|
+
"""
|
|
3554
|
+
v_tpm_enabled: NotRequired[pulumi.Input[bool]]
|
|
3555
|
+
"""
|
|
3556
|
+
Specifies whether vTPM should be enabled on the virtual machine.
|
|
3557
|
+
"""
|
|
3558
|
+
elif False:
|
|
3559
|
+
UefiSettingsArgsDict: TypeAlias = Mapping[str, Any]
|
|
3560
|
+
|
|
3561
|
+
@pulumi.input_type
|
|
3562
|
+
class UefiSettingsArgs:
|
|
3563
|
+
def __init__(__self__, *,
|
|
3564
|
+
secure_boot_enabled: Optional[pulumi.Input[bool]] = None,
|
|
3565
|
+
v_tpm_enabled: Optional[pulumi.Input[bool]] = None):
|
|
3566
|
+
"""
|
|
3567
|
+
Specifies the security settings like secure boot and vTPM used while creating the virtual machine.
|
|
3568
|
+
:param pulumi.Input[bool] secure_boot_enabled: Specifies whether secure boot should be enabled on the virtual machine.
|
|
3569
|
+
:param pulumi.Input[bool] v_tpm_enabled: Specifies whether vTPM should be enabled on the virtual machine.
|
|
3570
|
+
"""
|
|
3571
|
+
if secure_boot_enabled is not None:
|
|
3572
|
+
pulumi.set(__self__, "secure_boot_enabled", secure_boot_enabled)
|
|
3573
|
+
if v_tpm_enabled is not None:
|
|
3574
|
+
pulumi.set(__self__, "v_tpm_enabled", v_tpm_enabled)
|
|
3575
|
+
|
|
3576
|
+
@property
|
|
3577
|
+
@pulumi.getter(name="secureBootEnabled")
|
|
3578
|
+
def secure_boot_enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
3579
|
+
"""
|
|
3580
|
+
Specifies whether secure boot should be enabled on the virtual machine.
|
|
3581
|
+
"""
|
|
3582
|
+
return pulumi.get(self, "secure_boot_enabled")
|
|
3583
|
+
|
|
3584
|
+
@secure_boot_enabled.setter
|
|
3585
|
+
def secure_boot_enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
3586
|
+
pulumi.set(self, "secure_boot_enabled", value)
|
|
3587
|
+
|
|
3588
|
+
@property
|
|
3589
|
+
@pulumi.getter(name="vTpmEnabled")
|
|
3590
|
+
def v_tpm_enabled(self) -> Optional[pulumi.Input[bool]]:
|
|
3591
|
+
"""
|
|
3592
|
+
Specifies whether vTPM should be enabled on the virtual machine.
|
|
3593
|
+
"""
|
|
3594
|
+
return pulumi.get(self, "v_tpm_enabled")
|
|
3595
|
+
|
|
3596
|
+
@v_tpm_enabled.setter
|
|
3597
|
+
def v_tpm_enabled(self, value: Optional[pulumi.Input[bool]]):
|
|
3598
|
+
pulumi.set(self, "v_tpm_enabled", value)
|
|
3599
|
+
|
|
3600
|
+
|
|
3601
|
+
if not MYPY:
|
|
3602
|
+
class UpgradePolicyArgsDict(TypedDict):
|
|
3603
|
+
"""
|
|
3604
|
+
Describes an upgrade policy - automatic, manual, or rolling.
|
|
3605
|
+
"""
|
|
3606
|
+
mode: pulumi.Input['UpgradeMode']
|
|
3607
|
+
automatic_os_upgrade_policy: NotRequired[pulumi.Input['AutomaticOSUpgradePolicyArgsDict']]
|
|
3608
|
+
"""
|
|
3609
|
+
The configuration parameters used for performing automatic OS upgrade.
|
|
3610
|
+
"""
|
|
3611
|
+
rolling_upgrade_policy: NotRequired[pulumi.Input['RollingUpgradePolicyArgsDict']]
|
|
3612
|
+
"""
|
|
3613
|
+
The configuration parameters used while performing a rolling upgrade.
|
|
3614
|
+
"""
|
|
3615
|
+
elif False:
|
|
3616
|
+
UpgradePolicyArgsDict: TypeAlias = Mapping[str, Any]
|
|
3617
|
+
|
|
3618
|
+
@pulumi.input_type
|
|
3619
|
+
class UpgradePolicyArgs:
|
|
3620
|
+
def __init__(__self__, *,
|
|
3621
|
+
mode: pulumi.Input['UpgradeMode'],
|
|
3622
|
+
automatic_os_upgrade_policy: Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']] = None,
|
|
3623
|
+
rolling_upgrade_policy: Optional[pulumi.Input['RollingUpgradePolicyArgs']] = None):
|
|
3624
|
+
"""
|
|
3625
|
+
Describes an upgrade policy - automatic, manual, or rolling.
|
|
3626
|
+
:param pulumi.Input['AutomaticOSUpgradePolicyArgs'] automatic_os_upgrade_policy: The configuration parameters used for performing automatic OS upgrade.
|
|
3627
|
+
:param pulumi.Input['RollingUpgradePolicyArgs'] rolling_upgrade_policy: The configuration parameters used while performing a rolling upgrade.
|
|
3628
|
+
"""
|
|
3629
|
+
pulumi.set(__self__, "mode", mode)
|
|
3630
|
+
if automatic_os_upgrade_policy is not None:
|
|
3631
|
+
pulumi.set(__self__, "automatic_os_upgrade_policy", automatic_os_upgrade_policy)
|
|
3632
|
+
if rolling_upgrade_policy is not None:
|
|
3633
|
+
pulumi.set(__self__, "rolling_upgrade_policy", rolling_upgrade_policy)
|
|
3634
|
+
|
|
3635
|
+
@property
|
|
3636
|
+
@pulumi.getter
|
|
3637
|
+
def mode(self) -> pulumi.Input['UpgradeMode']:
|
|
3638
|
+
return pulumi.get(self, "mode")
|
|
3639
|
+
|
|
3640
|
+
@mode.setter
|
|
3641
|
+
def mode(self, value: pulumi.Input['UpgradeMode']):
|
|
3642
|
+
pulumi.set(self, "mode", value)
|
|
3643
|
+
|
|
3644
|
+
@property
|
|
3645
|
+
@pulumi.getter(name="automaticOSUpgradePolicy")
|
|
3646
|
+
def automatic_os_upgrade_policy(self) -> Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']]:
|
|
3647
|
+
"""
|
|
3648
|
+
The configuration parameters used for performing automatic OS upgrade.
|
|
3649
|
+
"""
|
|
3650
|
+
return pulumi.get(self, "automatic_os_upgrade_policy")
|
|
3651
|
+
|
|
3652
|
+
@automatic_os_upgrade_policy.setter
|
|
3653
|
+
def automatic_os_upgrade_policy(self, value: Optional[pulumi.Input['AutomaticOSUpgradePolicyArgs']]):
|
|
3654
|
+
pulumi.set(self, "automatic_os_upgrade_policy", value)
|
|
3655
|
+
|
|
3656
|
+
@property
|
|
3657
|
+
@pulumi.getter(name="rollingUpgradePolicy")
|
|
3658
|
+
def rolling_upgrade_policy(self) -> Optional[pulumi.Input['RollingUpgradePolicyArgs']]:
|
|
3659
|
+
"""
|
|
3660
|
+
The configuration parameters used while performing a rolling upgrade.
|
|
3661
|
+
"""
|
|
3662
|
+
return pulumi.get(self, "rolling_upgrade_policy")
|
|
3663
|
+
|
|
3664
|
+
@rolling_upgrade_policy.setter
|
|
3665
|
+
def rolling_upgrade_policy(self, value: Optional[pulumi.Input['RollingUpgradePolicyArgs']]):
|
|
3666
|
+
pulumi.set(self, "rolling_upgrade_policy", value)
|
|
3667
|
+
|
|
3668
|
+
|
|
3669
|
+
if not MYPY:
|
|
3670
|
+
class UserAccountArgsDict(TypedDict):
|
|
3671
|
+
name: pulumi.Input[str]
|
|
3672
|
+
password: pulumi.Input[str]
|
|
3673
|
+
elevation_level: NotRequired[pulumi.Input['ElevationLevel']]
|
|
3674
|
+
"""
|
|
3675
|
+
nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
|
|
3676
|
+
"""
|
|
3677
|
+
linux_user_configuration: NotRequired[pulumi.Input['LinuxUserConfigurationArgsDict']]
|
|
3678
|
+
"""
|
|
3679
|
+
This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
|
|
3680
|
+
"""
|
|
3681
|
+
windows_user_configuration: NotRequired[pulumi.Input['WindowsUserConfigurationArgsDict']]
|
|
3682
|
+
"""
|
|
3683
|
+
This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
|
|
3684
|
+
"""
|
|
3685
|
+
elif False:
|
|
3686
|
+
UserAccountArgsDict: TypeAlias = Mapping[str, Any]
|
|
3687
|
+
|
|
3688
|
+
@pulumi.input_type
|
|
3689
|
+
class UserAccountArgs:
|
|
3690
|
+
def __init__(__self__, *,
|
|
3691
|
+
name: pulumi.Input[str],
|
|
3692
|
+
password: pulumi.Input[str],
|
|
3693
|
+
elevation_level: Optional[pulumi.Input['ElevationLevel']] = None,
|
|
3694
|
+
linux_user_configuration: Optional[pulumi.Input['LinuxUserConfigurationArgs']] = None,
|
|
3695
|
+
windows_user_configuration: Optional[pulumi.Input['WindowsUserConfigurationArgs']] = None):
|
|
3696
|
+
"""
|
|
3697
|
+
:param pulumi.Input['ElevationLevel'] elevation_level: nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
|
|
3698
|
+
:param pulumi.Input['LinuxUserConfigurationArgs'] linux_user_configuration: This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
|
|
3699
|
+
:param pulumi.Input['WindowsUserConfigurationArgs'] windows_user_configuration: This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
|
|
3700
|
+
"""
|
|
3701
|
+
pulumi.set(__self__, "name", name)
|
|
3702
|
+
pulumi.set(__self__, "password", password)
|
|
3703
|
+
if elevation_level is not None:
|
|
3704
|
+
pulumi.set(__self__, "elevation_level", elevation_level)
|
|
3705
|
+
if linux_user_configuration is not None:
|
|
3706
|
+
pulumi.set(__self__, "linux_user_configuration", linux_user_configuration)
|
|
3707
|
+
if windows_user_configuration is not None:
|
|
3708
|
+
pulumi.set(__self__, "windows_user_configuration", windows_user_configuration)
|
|
3709
|
+
|
|
3710
|
+
@property
|
|
3711
|
+
@pulumi.getter
|
|
3712
|
+
def name(self) -> pulumi.Input[str]:
|
|
3713
|
+
return pulumi.get(self, "name")
|
|
3714
|
+
|
|
3715
|
+
@name.setter
|
|
3716
|
+
def name(self, value: pulumi.Input[str]):
|
|
3717
|
+
pulumi.set(self, "name", value)
|
|
3718
|
+
|
|
3719
|
+
@property
|
|
3720
|
+
@pulumi.getter
|
|
3721
|
+
def password(self) -> pulumi.Input[str]:
|
|
3722
|
+
return pulumi.get(self, "password")
|
|
3723
|
+
|
|
3724
|
+
@password.setter
|
|
3725
|
+
def password(self, value: pulumi.Input[str]):
|
|
3726
|
+
pulumi.set(self, "password", value)
|
|
3727
|
+
|
|
3728
|
+
@property
|
|
3729
|
+
@pulumi.getter(name="elevationLevel")
|
|
3730
|
+
def elevation_level(self) -> Optional[pulumi.Input['ElevationLevel']]:
|
|
3731
|
+
"""
|
|
3732
|
+
nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.
|
|
3733
|
+
"""
|
|
3734
|
+
return pulumi.get(self, "elevation_level")
|
|
3735
|
+
|
|
3736
|
+
@elevation_level.setter
|
|
3737
|
+
def elevation_level(self, value: Optional[pulumi.Input['ElevationLevel']]):
|
|
3738
|
+
pulumi.set(self, "elevation_level", value)
|
|
3739
|
+
|
|
3740
|
+
@property
|
|
3741
|
+
@pulumi.getter(name="linuxUserConfiguration")
|
|
3742
|
+
def linux_user_configuration(self) -> Optional[pulumi.Input['LinuxUserConfigurationArgs']]:
|
|
3743
|
+
"""
|
|
3744
|
+
This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.
|
|
3745
|
+
"""
|
|
3746
|
+
return pulumi.get(self, "linux_user_configuration")
|
|
3747
|
+
|
|
3748
|
+
@linux_user_configuration.setter
|
|
3749
|
+
def linux_user_configuration(self, value: Optional[pulumi.Input['LinuxUserConfigurationArgs']]):
|
|
3750
|
+
pulumi.set(self, "linux_user_configuration", value)
|
|
3751
|
+
|
|
3752
|
+
@property
|
|
3753
|
+
@pulumi.getter(name="windowsUserConfiguration")
|
|
3754
|
+
def windows_user_configuration(self) -> Optional[pulumi.Input['WindowsUserConfigurationArgs']]:
|
|
3755
|
+
"""
|
|
3756
|
+
This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.
|
|
3757
|
+
"""
|
|
3758
|
+
return pulumi.get(self, "windows_user_configuration")
|
|
3759
|
+
|
|
3760
|
+
@windows_user_configuration.setter
|
|
3761
|
+
def windows_user_configuration(self, value: Optional[pulumi.Input['WindowsUserConfigurationArgs']]):
|
|
3762
|
+
pulumi.set(self, "windows_user_configuration", value)
|
|
3763
|
+
|
|
3764
|
+
|
|
3765
|
+
if not MYPY:
|
|
3766
|
+
class UserIdentityArgsDict(TypedDict):
|
|
3767
|
+
"""
|
|
3768
|
+
Specify either the userName or autoUser property, but not both.
|
|
3769
|
+
"""
|
|
3770
|
+
auto_user: NotRequired[pulumi.Input['AutoUserSpecificationArgsDict']]
|
|
3771
|
+
"""
|
|
3772
|
+
The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3773
|
+
"""
|
|
3774
|
+
user_name: NotRequired[pulumi.Input[str]]
|
|
3775
|
+
"""
|
|
3776
|
+
The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3777
|
+
"""
|
|
3778
|
+
elif False:
|
|
3779
|
+
UserIdentityArgsDict: TypeAlias = Mapping[str, Any]
|
|
3780
|
+
|
|
3781
|
+
@pulumi.input_type
|
|
3782
|
+
class UserIdentityArgs:
|
|
3783
|
+
def __init__(__self__, *,
|
|
3784
|
+
auto_user: Optional[pulumi.Input['AutoUserSpecificationArgs']] = None,
|
|
3785
|
+
user_name: Optional[pulumi.Input[str]] = None):
|
|
3786
|
+
"""
|
|
3787
|
+
Specify either the userName or autoUser property, but not both.
|
|
3788
|
+
:param pulumi.Input['AutoUserSpecificationArgs'] auto_user: The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3789
|
+
:param pulumi.Input[str] user_name: The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3790
|
+
"""
|
|
3791
|
+
if auto_user is not None:
|
|
3792
|
+
pulumi.set(__self__, "auto_user", auto_user)
|
|
3793
|
+
if user_name is not None:
|
|
3794
|
+
pulumi.set(__self__, "user_name", user_name)
|
|
3795
|
+
|
|
3796
|
+
@property
|
|
3797
|
+
@pulumi.getter(name="autoUser")
|
|
3798
|
+
def auto_user(self) -> Optional[pulumi.Input['AutoUserSpecificationArgs']]:
|
|
3799
|
+
"""
|
|
3800
|
+
The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3801
|
+
"""
|
|
3802
|
+
return pulumi.get(self, "auto_user")
|
|
3803
|
+
|
|
3804
|
+
@auto_user.setter
|
|
3805
|
+
def auto_user(self, value: Optional[pulumi.Input['AutoUserSpecificationArgs']]):
|
|
3806
|
+
pulumi.set(self, "auto_user", value)
|
|
3807
|
+
|
|
3808
|
+
@property
|
|
3809
|
+
@pulumi.getter(name="userName")
|
|
3810
|
+
def user_name(self) -> Optional[pulumi.Input[str]]:
|
|
3811
|
+
"""
|
|
3812
|
+
The userName and autoUser properties are mutually exclusive; you must specify one but not both.
|
|
3813
|
+
"""
|
|
3814
|
+
return pulumi.get(self, "user_name")
|
|
3815
|
+
|
|
3816
|
+
@user_name.setter
|
|
3817
|
+
def user_name(self, value: Optional[pulumi.Input[str]]):
|
|
3818
|
+
pulumi.set(self, "user_name", value)
|
|
3819
|
+
|
|
3820
|
+
|
|
3821
|
+
if not MYPY:
|
|
3822
|
+
class VMDiskSecurityProfileArgsDict(TypedDict):
|
|
3823
|
+
"""
|
|
3824
|
+
Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs.
|
|
3825
|
+
"""
|
|
3826
|
+
security_encryption_type: NotRequired[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]]
|
|
3827
|
+
elif False:
|
|
3828
|
+
VMDiskSecurityProfileArgsDict: TypeAlias = Mapping[str, Any]
|
|
3829
|
+
|
|
3830
|
+
@pulumi.input_type
|
|
3831
|
+
class VMDiskSecurityProfileArgs:
|
|
3832
|
+
def __init__(__self__, *,
|
|
3833
|
+
security_encryption_type: Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]] = None):
|
|
3834
|
+
"""
|
|
3835
|
+
Specifies the security profile settings for the managed disk. **Note**: It can only be set for Confidential VMs and is required when using Confidential VMs.
|
|
3836
|
+
"""
|
|
3837
|
+
if security_encryption_type is not None:
|
|
3838
|
+
pulumi.set(__self__, "security_encryption_type", security_encryption_type)
|
|
3839
|
+
|
|
3840
|
+
@property
|
|
3841
|
+
@pulumi.getter(name="securityEncryptionType")
|
|
3842
|
+
def security_encryption_type(self) -> Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]]:
|
|
3843
|
+
return pulumi.get(self, "security_encryption_type")
|
|
3844
|
+
|
|
3845
|
+
@security_encryption_type.setter
|
|
3846
|
+
def security_encryption_type(self, value: Optional[pulumi.Input[Union[str, 'SecurityEncryptionTypes']]]):
|
|
3847
|
+
pulumi.set(self, "security_encryption_type", value)
|
|
3848
|
+
|
|
3849
|
+
|
|
3850
|
+
if not MYPY:
|
|
3851
|
+
class VMExtensionArgsDict(TypedDict):
|
|
3852
|
+
name: pulumi.Input[str]
|
|
3853
|
+
publisher: pulumi.Input[str]
|
|
3854
|
+
type: pulumi.Input[str]
|
|
3855
|
+
auto_upgrade_minor_version: NotRequired[pulumi.Input[bool]]
|
|
3856
|
+
"""
|
|
3857
|
+
Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
|
|
3858
|
+
"""
|
|
3859
|
+
enable_automatic_upgrade: NotRequired[pulumi.Input[bool]]
|
|
3860
|
+
"""
|
|
3861
|
+
Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
|
|
3862
|
+
"""
|
|
3863
|
+
protected_settings: NotRequired[Any]
|
|
3864
|
+
"""
|
|
3865
|
+
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
|
|
3866
|
+
"""
|
|
3867
|
+
provision_after_extensions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
|
|
3868
|
+
"""
|
|
3869
|
+
Collection of extension names after which this extension needs to be provisioned.
|
|
3870
|
+
"""
|
|
3871
|
+
settings: NotRequired[Any]
|
|
3872
|
+
type_handler_version: NotRequired[pulumi.Input[str]]
|
|
3873
|
+
elif False:
|
|
3874
|
+
VMExtensionArgsDict: TypeAlias = Mapping[str, Any]
|
|
3875
|
+
|
|
3876
|
+
@pulumi.input_type
|
|
3877
|
+
class VMExtensionArgs:
|
|
3878
|
+
def __init__(__self__, *,
|
|
3879
|
+
name: pulumi.Input[str],
|
|
3880
|
+
publisher: pulumi.Input[str],
|
|
3881
|
+
type: pulumi.Input[str],
|
|
3882
|
+
auto_upgrade_minor_version: Optional[pulumi.Input[bool]] = None,
|
|
3883
|
+
enable_automatic_upgrade: Optional[pulumi.Input[bool]] = None,
|
|
3884
|
+
protected_settings: Optional[Any] = None,
|
|
3885
|
+
provision_after_extensions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
3886
|
+
settings: Optional[Any] = None,
|
|
3887
|
+
type_handler_version: Optional[pulumi.Input[str]] = None):
|
|
3888
|
+
"""
|
|
3889
|
+
:param pulumi.Input[bool] auto_upgrade_minor_version: Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
|
|
3890
|
+
:param pulumi.Input[bool] enable_automatic_upgrade: Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
|
|
3891
|
+
:param Any protected_settings: The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
|
|
3892
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] provision_after_extensions: Collection of extension names after which this extension needs to be provisioned.
|
|
3893
|
+
"""
|
|
3894
|
+
pulumi.set(__self__, "name", name)
|
|
3895
|
+
pulumi.set(__self__, "publisher", publisher)
|
|
3896
|
+
pulumi.set(__self__, "type", type)
|
|
3897
|
+
if auto_upgrade_minor_version is not None:
|
|
3898
|
+
pulumi.set(__self__, "auto_upgrade_minor_version", auto_upgrade_minor_version)
|
|
3899
|
+
if enable_automatic_upgrade is not None:
|
|
3900
|
+
pulumi.set(__self__, "enable_automatic_upgrade", enable_automatic_upgrade)
|
|
3901
|
+
if protected_settings is not None:
|
|
3902
|
+
pulumi.set(__self__, "protected_settings", protected_settings)
|
|
3903
|
+
if provision_after_extensions is not None:
|
|
3904
|
+
pulumi.set(__self__, "provision_after_extensions", provision_after_extensions)
|
|
3905
|
+
if settings is not None:
|
|
3906
|
+
pulumi.set(__self__, "settings", settings)
|
|
3907
|
+
if type_handler_version is not None:
|
|
3908
|
+
pulumi.set(__self__, "type_handler_version", type_handler_version)
|
|
3909
|
+
|
|
3910
|
+
@property
|
|
3911
|
+
@pulumi.getter
|
|
3912
|
+
def name(self) -> pulumi.Input[str]:
|
|
3913
|
+
return pulumi.get(self, "name")
|
|
3914
|
+
|
|
3915
|
+
@name.setter
|
|
3916
|
+
def name(self, value: pulumi.Input[str]):
|
|
3917
|
+
pulumi.set(self, "name", value)
|
|
3918
|
+
|
|
3919
|
+
@property
|
|
3920
|
+
@pulumi.getter
|
|
3921
|
+
def publisher(self) -> pulumi.Input[str]:
|
|
3922
|
+
return pulumi.get(self, "publisher")
|
|
3923
|
+
|
|
3924
|
+
@publisher.setter
|
|
3925
|
+
def publisher(self, value: pulumi.Input[str]):
|
|
3926
|
+
pulumi.set(self, "publisher", value)
|
|
3927
|
+
|
|
3928
|
+
@property
|
|
3929
|
+
@pulumi.getter
|
|
3930
|
+
def type(self) -> pulumi.Input[str]:
|
|
3931
|
+
return pulumi.get(self, "type")
|
|
3932
|
+
|
|
3933
|
+
@type.setter
|
|
3934
|
+
def type(self, value: pulumi.Input[str]):
|
|
3935
|
+
pulumi.set(self, "type", value)
|
|
3936
|
+
|
|
3937
|
+
@property
|
|
3938
|
+
@pulumi.getter(name="autoUpgradeMinorVersion")
|
|
3939
|
+
def auto_upgrade_minor_version(self) -> Optional[pulumi.Input[bool]]:
|
|
3940
|
+
"""
|
|
3941
|
+
Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
|
|
3942
|
+
"""
|
|
3943
|
+
return pulumi.get(self, "auto_upgrade_minor_version")
|
|
3944
|
+
|
|
3945
|
+
@auto_upgrade_minor_version.setter
|
|
3946
|
+
def auto_upgrade_minor_version(self, value: Optional[pulumi.Input[bool]]):
|
|
3947
|
+
pulumi.set(self, "auto_upgrade_minor_version", value)
|
|
3948
|
+
|
|
3949
|
+
@property
|
|
3950
|
+
@pulumi.getter(name="enableAutomaticUpgrade")
|
|
3951
|
+
def enable_automatic_upgrade(self) -> Optional[pulumi.Input[bool]]:
|
|
3952
|
+
"""
|
|
3953
|
+
Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.
|
|
3954
|
+
"""
|
|
3955
|
+
return pulumi.get(self, "enable_automatic_upgrade")
|
|
3956
|
+
|
|
3957
|
+
@enable_automatic_upgrade.setter
|
|
3958
|
+
def enable_automatic_upgrade(self, value: Optional[pulumi.Input[bool]]):
|
|
3959
|
+
pulumi.set(self, "enable_automatic_upgrade", value)
|
|
3960
|
+
|
|
3961
|
+
@property
|
|
3962
|
+
@pulumi.getter(name="protectedSettings")
|
|
3963
|
+
def protected_settings(self) -> Optional[Any]:
|
|
3964
|
+
"""
|
|
3965
|
+
The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
|
|
3966
|
+
"""
|
|
3967
|
+
return pulumi.get(self, "protected_settings")
|
|
3968
|
+
|
|
3969
|
+
@protected_settings.setter
|
|
3970
|
+
def protected_settings(self, value: Optional[Any]):
|
|
3971
|
+
pulumi.set(self, "protected_settings", value)
|
|
3972
|
+
|
|
3973
|
+
@property
|
|
3974
|
+
@pulumi.getter(name="provisionAfterExtensions")
|
|
3975
|
+
def provision_after_extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
3976
|
+
"""
|
|
3977
|
+
Collection of extension names after which this extension needs to be provisioned.
|
|
3978
|
+
"""
|
|
3979
|
+
return pulumi.get(self, "provision_after_extensions")
|
|
3980
|
+
|
|
3981
|
+
@provision_after_extensions.setter
|
|
3982
|
+
def provision_after_extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
3983
|
+
pulumi.set(self, "provision_after_extensions", value)
|
|
3984
|
+
|
|
3985
|
+
@property
|
|
3986
|
+
@pulumi.getter
|
|
3987
|
+
def settings(self) -> Optional[Any]:
|
|
3988
|
+
return pulumi.get(self, "settings")
|
|
3989
|
+
|
|
3990
|
+
@settings.setter
|
|
3991
|
+
def settings(self, value: Optional[Any]):
|
|
3992
|
+
pulumi.set(self, "settings", value)
|
|
3993
|
+
|
|
3994
|
+
@property
|
|
3995
|
+
@pulumi.getter(name="typeHandlerVersion")
|
|
3996
|
+
def type_handler_version(self) -> Optional[pulumi.Input[str]]:
|
|
3997
|
+
return pulumi.get(self, "type_handler_version")
|
|
3998
|
+
|
|
3999
|
+
@type_handler_version.setter
|
|
4000
|
+
def type_handler_version(self, value: Optional[pulumi.Input[str]]):
|
|
4001
|
+
pulumi.set(self, "type_handler_version", value)
|
|
4002
|
+
|
|
4003
|
+
|
|
4004
|
+
if not MYPY:
|
|
4005
|
+
class VirtualMachineConfigurationArgsDict(TypedDict):
|
|
4006
|
+
image_reference: pulumi.Input['ImageReferenceArgsDict']
|
|
4007
|
+
node_agent_sku_id: pulumi.Input[str]
|
|
4008
|
+
"""
|
|
4009
|
+
The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation.
|
|
4010
|
+
"""
|
|
4011
|
+
container_configuration: NotRequired[pulumi.Input['ContainerConfigurationArgsDict']]
|
|
4012
|
+
"""
|
|
4013
|
+
If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it.
|
|
4014
|
+
"""
|
|
4015
|
+
data_disks: NotRequired[pulumi.Input[Sequence[pulumi.Input['DataDiskArgsDict']]]]
|
|
4016
|
+
"""
|
|
4017
|
+
This property must be specified if the compute nodes in the pool need to have empty data disks attached to them.
|
|
4018
|
+
"""
|
|
4019
|
+
disk_encryption_configuration: NotRequired[pulumi.Input['DiskEncryptionConfigurationArgsDict']]
|
|
4020
|
+
"""
|
|
4021
|
+
If specified, encryption is performed on each node in the pool during node provisioning.
|
|
4022
|
+
"""
|
|
4023
|
+
extensions: NotRequired[pulumi.Input[Sequence[pulumi.Input['VMExtensionArgsDict']]]]
|
|
4024
|
+
"""
|
|
4025
|
+
If specified, the extensions mentioned in this configuration will be installed on each node.
|
|
4026
|
+
"""
|
|
4027
|
+
license_type: NotRequired[pulumi.Input[str]]
|
|
4028
|
+
"""
|
|
4029
|
+
This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:
|
|
4030
|
+
|
|
4031
|
+
Windows_Server - The on-premises license is for Windows Server.
|
|
4032
|
+
Windows_Client - The on-premises license is for Windows Client.
|
|
4033
|
+
"""
|
|
4034
|
+
node_placement_configuration: NotRequired[pulumi.Input['NodePlacementConfigurationArgsDict']]
|
|
4035
|
+
"""
|
|
4036
|
+
This configuration will specify rules on how nodes in the pool will be physically allocated.
|
|
4037
|
+
"""
|
|
4038
|
+
os_disk: NotRequired[pulumi.Input['OSDiskArgsDict']]
|
|
4039
|
+
"""
|
|
4040
|
+
Contains configuration for ephemeral OSDisk settings.
|
|
4041
|
+
"""
|
|
4042
|
+
security_profile: NotRequired[pulumi.Input['SecurityProfileArgsDict']]
|
|
4043
|
+
"""
|
|
4044
|
+
Specifies the security profile settings for the virtual machine or virtual machine scale set.
|
|
4045
|
+
"""
|
|
4046
|
+
service_artifact_reference: NotRequired[pulumi.Input['ServiceArtifactReferenceArgsDict']]
|
|
4047
|
+
"""
|
|
4048
|
+
The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
4049
|
+
"""
|
|
4050
|
+
windows_configuration: NotRequired[pulumi.Input['WindowsConfigurationArgsDict']]
|
|
4051
|
+
"""
|
|
4052
|
+
This property must not be specified if the imageReference specifies a Linux OS image.
|
|
4053
|
+
"""
|
|
4054
|
+
elif False:
|
|
4055
|
+
VirtualMachineConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
4056
|
+
|
|
4057
|
+
@pulumi.input_type
|
|
4058
|
+
class VirtualMachineConfigurationArgs:
|
|
4059
|
+
def __init__(__self__, *,
|
|
4060
|
+
image_reference: pulumi.Input['ImageReferenceArgs'],
|
|
4061
|
+
node_agent_sku_id: pulumi.Input[str],
|
|
4062
|
+
container_configuration: Optional[pulumi.Input['ContainerConfigurationArgs']] = None,
|
|
4063
|
+
data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]] = None,
|
|
4064
|
+
disk_encryption_configuration: Optional[pulumi.Input['DiskEncryptionConfigurationArgs']] = None,
|
|
4065
|
+
extensions: Optional[pulumi.Input[Sequence[pulumi.Input['VMExtensionArgs']]]] = None,
|
|
4066
|
+
license_type: Optional[pulumi.Input[str]] = None,
|
|
4067
|
+
node_placement_configuration: Optional[pulumi.Input['NodePlacementConfigurationArgs']] = None,
|
|
4068
|
+
os_disk: Optional[pulumi.Input['OSDiskArgs']] = None,
|
|
4069
|
+
security_profile: Optional[pulumi.Input['SecurityProfileArgs']] = None,
|
|
4070
|
+
service_artifact_reference: Optional[pulumi.Input['ServiceArtifactReferenceArgs']] = None,
|
|
4071
|
+
windows_configuration: Optional[pulumi.Input['WindowsConfigurationArgs']] = None):
|
|
4072
|
+
"""
|
|
4073
|
+
:param pulumi.Input[str] node_agent_sku_id: The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation.
|
|
4074
|
+
:param pulumi.Input['ContainerConfigurationArgs'] container_configuration: If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it.
|
|
4075
|
+
:param pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]] data_disks: This property must be specified if the compute nodes in the pool need to have empty data disks attached to them.
|
|
4076
|
+
:param pulumi.Input['DiskEncryptionConfigurationArgs'] disk_encryption_configuration: If specified, encryption is performed on each node in the pool during node provisioning.
|
|
4077
|
+
:param pulumi.Input[Sequence[pulumi.Input['VMExtensionArgs']]] extensions: If specified, the extensions mentioned in this configuration will be installed on each node.
|
|
4078
|
+
:param pulumi.Input[str] license_type: This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:
|
|
4079
|
+
|
|
4080
|
+
Windows_Server - The on-premises license is for Windows Server.
|
|
4081
|
+
Windows_Client - The on-premises license is for Windows Client.
|
|
4082
|
+
:param pulumi.Input['NodePlacementConfigurationArgs'] node_placement_configuration: This configuration will specify rules on how nodes in the pool will be physically allocated.
|
|
4083
|
+
:param pulumi.Input['OSDiskArgs'] os_disk: Contains configuration for ephemeral OSDisk settings.
|
|
4084
|
+
:param pulumi.Input['SecurityProfileArgs'] security_profile: Specifies the security profile settings for the virtual machine or virtual machine scale set.
|
|
4085
|
+
:param pulumi.Input['ServiceArtifactReferenceArgs'] service_artifact_reference: The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
4086
|
+
:param pulumi.Input['WindowsConfigurationArgs'] windows_configuration: This property must not be specified if the imageReference specifies a Linux OS image.
|
|
4087
|
+
"""
|
|
4088
|
+
pulumi.set(__self__, "image_reference", image_reference)
|
|
4089
|
+
pulumi.set(__self__, "node_agent_sku_id", node_agent_sku_id)
|
|
4090
|
+
if container_configuration is not None:
|
|
4091
|
+
pulumi.set(__self__, "container_configuration", container_configuration)
|
|
4092
|
+
if data_disks is not None:
|
|
4093
|
+
pulumi.set(__self__, "data_disks", data_disks)
|
|
4094
|
+
if disk_encryption_configuration is not None:
|
|
4095
|
+
pulumi.set(__self__, "disk_encryption_configuration", disk_encryption_configuration)
|
|
4096
|
+
if extensions is not None:
|
|
4097
|
+
pulumi.set(__self__, "extensions", extensions)
|
|
4098
|
+
if license_type is not None:
|
|
4099
|
+
pulumi.set(__self__, "license_type", license_type)
|
|
4100
|
+
if node_placement_configuration is not None:
|
|
4101
|
+
pulumi.set(__self__, "node_placement_configuration", node_placement_configuration)
|
|
4102
|
+
if os_disk is not None:
|
|
4103
|
+
pulumi.set(__self__, "os_disk", os_disk)
|
|
4104
|
+
if security_profile is not None:
|
|
4105
|
+
pulumi.set(__self__, "security_profile", security_profile)
|
|
4106
|
+
if service_artifact_reference is not None:
|
|
4107
|
+
pulumi.set(__self__, "service_artifact_reference", service_artifact_reference)
|
|
4108
|
+
if windows_configuration is not None:
|
|
4109
|
+
pulumi.set(__self__, "windows_configuration", windows_configuration)
|
|
4110
|
+
|
|
4111
|
+
@property
|
|
4112
|
+
@pulumi.getter(name="imageReference")
|
|
4113
|
+
def image_reference(self) -> pulumi.Input['ImageReferenceArgs']:
|
|
4114
|
+
return pulumi.get(self, "image_reference")
|
|
4115
|
+
|
|
4116
|
+
@image_reference.setter
|
|
4117
|
+
def image_reference(self, value: pulumi.Input['ImageReferenceArgs']):
|
|
4118
|
+
pulumi.set(self, "image_reference", value)
|
|
4119
|
+
|
|
4120
|
+
@property
|
|
4121
|
+
@pulumi.getter(name="nodeAgentSkuId")
|
|
4122
|
+
def node_agent_sku_id(self) -> pulumi.Input[str]:
|
|
4123
|
+
"""
|
|
4124
|
+
The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation.
|
|
4125
|
+
"""
|
|
4126
|
+
return pulumi.get(self, "node_agent_sku_id")
|
|
4127
|
+
|
|
4128
|
+
@node_agent_sku_id.setter
|
|
4129
|
+
def node_agent_sku_id(self, value: pulumi.Input[str]):
|
|
4130
|
+
pulumi.set(self, "node_agent_sku_id", value)
|
|
4131
|
+
|
|
4132
|
+
@property
|
|
4133
|
+
@pulumi.getter(name="containerConfiguration")
|
|
4134
|
+
def container_configuration(self) -> Optional[pulumi.Input['ContainerConfigurationArgs']]:
|
|
4135
|
+
"""
|
|
4136
|
+
If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it.
|
|
4137
|
+
"""
|
|
4138
|
+
return pulumi.get(self, "container_configuration")
|
|
4139
|
+
|
|
4140
|
+
@container_configuration.setter
|
|
4141
|
+
def container_configuration(self, value: Optional[pulumi.Input['ContainerConfigurationArgs']]):
|
|
4142
|
+
pulumi.set(self, "container_configuration", value)
|
|
4143
|
+
|
|
4144
|
+
@property
|
|
4145
|
+
@pulumi.getter(name="dataDisks")
|
|
4146
|
+
def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]:
|
|
4147
|
+
"""
|
|
4148
|
+
This property must be specified if the compute nodes in the pool need to have empty data disks attached to them.
|
|
4149
|
+
"""
|
|
4150
|
+
return pulumi.get(self, "data_disks")
|
|
4151
|
+
|
|
4152
|
+
@data_disks.setter
|
|
4153
|
+
def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DataDiskArgs']]]]):
|
|
4154
|
+
pulumi.set(self, "data_disks", value)
|
|
4155
|
+
|
|
4156
|
+
@property
|
|
4157
|
+
@pulumi.getter(name="diskEncryptionConfiguration")
|
|
4158
|
+
def disk_encryption_configuration(self) -> Optional[pulumi.Input['DiskEncryptionConfigurationArgs']]:
|
|
4159
|
+
"""
|
|
4160
|
+
If specified, encryption is performed on each node in the pool during node provisioning.
|
|
4161
|
+
"""
|
|
4162
|
+
return pulumi.get(self, "disk_encryption_configuration")
|
|
4163
|
+
|
|
4164
|
+
@disk_encryption_configuration.setter
|
|
4165
|
+
def disk_encryption_configuration(self, value: Optional[pulumi.Input['DiskEncryptionConfigurationArgs']]):
|
|
4166
|
+
pulumi.set(self, "disk_encryption_configuration", value)
|
|
4167
|
+
|
|
4168
|
+
@property
|
|
4169
|
+
@pulumi.getter
|
|
4170
|
+
def extensions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VMExtensionArgs']]]]:
|
|
4171
|
+
"""
|
|
4172
|
+
If specified, the extensions mentioned in this configuration will be installed on each node.
|
|
4173
|
+
"""
|
|
4174
|
+
return pulumi.get(self, "extensions")
|
|
4175
|
+
|
|
4176
|
+
@extensions.setter
|
|
4177
|
+
def extensions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VMExtensionArgs']]]]):
|
|
4178
|
+
pulumi.set(self, "extensions", value)
|
|
4179
|
+
|
|
4180
|
+
@property
|
|
4181
|
+
@pulumi.getter(name="licenseType")
|
|
4182
|
+
def license_type(self) -> Optional[pulumi.Input[str]]:
|
|
4183
|
+
"""
|
|
4184
|
+
This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:
|
|
4185
|
+
|
|
4186
|
+
Windows_Server - The on-premises license is for Windows Server.
|
|
4187
|
+
Windows_Client - The on-premises license is for Windows Client.
|
|
4188
|
+
"""
|
|
4189
|
+
return pulumi.get(self, "license_type")
|
|
4190
|
+
|
|
4191
|
+
@license_type.setter
|
|
4192
|
+
def license_type(self, value: Optional[pulumi.Input[str]]):
|
|
4193
|
+
pulumi.set(self, "license_type", value)
|
|
4194
|
+
|
|
4195
|
+
@property
|
|
4196
|
+
@pulumi.getter(name="nodePlacementConfiguration")
|
|
4197
|
+
def node_placement_configuration(self) -> Optional[pulumi.Input['NodePlacementConfigurationArgs']]:
|
|
4198
|
+
"""
|
|
4199
|
+
This configuration will specify rules on how nodes in the pool will be physically allocated.
|
|
4200
|
+
"""
|
|
4201
|
+
return pulumi.get(self, "node_placement_configuration")
|
|
4202
|
+
|
|
4203
|
+
@node_placement_configuration.setter
|
|
4204
|
+
def node_placement_configuration(self, value: Optional[pulumi.Input['NodePlacementConfigurationArgs']]):
|
|
4205
|
+
pulumi.set(self, "node_placement_configuration", value)
|
|
4206
|
+
|
|
4207
|
+
@property
|
|
4208
|
+
@pulumi.getter(name="osDisk")
|
|
4209
|
+
def os_disk(self) -> Optional[pulumi.Input['OSDiskArgs']]:
|
|
4210
|
+
"""
|
|
4211
|
+
Contains configuration for ephemeral OSDisk settings.
|
|
4212
|
+
"""
|
|
4213
|
+
return pulumi.get(self, "os_disk")
|
|
4214
|
+
|
|
4215
|
+
@os_disk.setter
|
|
4216
|
+
def os_disk(self, value: Optional[pulumi.Input['OSDiskArgs']]):
|
|
4217
|
+
pulumi.set(self, "os_disk", value)
|
|
4218
|
+
|
|
4219
|
+
@property
|
|
4220
|
+
@pulumi.getter(name="securityProfile")
|
|
4221
|
+
def security_profile(self) -> Optional[pulumi.Input['SecurityProfileArgs']]:
|
|
4222
|
+
"""
|
|
4223
|
+
Specifies the security profile settings for the virtual machine or virtual machine scale set.
|
|
4224
|
+
"""
|
|
4225
|
+
return pulumi.get(self, "security_profile")
|
|
4226
|
+
|
|
4227
|
+
@security_profile.setter
|
|
4228
|
+
def security_profile(self, value: Optional[pulumi.Input['SecurityProfileArgs']]):
|
|
4229
|
+
pulumi.set(self, "security_profile", value)
|
|
4230
|
+
|
|
4231
|
+
@property
|
|
4232
|
+
@pulumi.getter(name="serviceArtifactReference")
|
|
4233
|
+
def service_artifact_reference(self) -> Optional[pulumi.Input['ServiceArtifactReferenceArgs']]:
|
|
4234
|
+
"""
|
|
4235
|
+
The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}
|
|
4236
|
+
"""
|
|
4237
|
+
return pulumi.get(self, "service_artifact_reference")
|
|
4238
|
+
|
|
4239
|
+
@service_artifact_reference.setter
|
|
4240
|
+
def service_artifact_reference(self, value: Optional[pulumi.Input['ServiceArtifactReferenceArgs']]):
|
|
4241
|
+
pulumi.set(self, "service_artifact_reference", value)
|
|
4242
|
+
|
|
4243
|
+
@property
|
|
4244
|
+
@pulumi.getter(name="windowsConfiguration")
|
|
4245
|
+
def windows_configuration(self) -> Optional[pulumi.Input['WindowsConfigurationArgs']]:
|
|
4246
|
+
"""
|
|
4247
|
+
This property must not be specified if the imageReference specifies a Linux OS image.
|
|
4248
|
+
"""
|
|
4249
|
+
return pulumi.get(self, "windows_configuration")
|
|
4250
|
+
|
|
4251
|
+
@windows_configuration.setter
|
|
4252
|
+
def windows_configuration(self, value: Optional[pulumi.Input['WindowsConfigurationArgs']]):
|
|
4253
|
+
pulumi.set(self, "windows_configuration", value)
|
|
4254
|
+
|
|
4255
|
+
|
|
4256
|
+
if not MYPY:
|
|
4257
|
+
class WindowsConfigurationArgsDict(TypedDict):
|
|
4258
|
+
enable_automatic_updates: NotRequired[pulumi.Input[bool]]
|
|
4259
|
+
"""
|
|
4260
|
+
If omitted, the default value is true.
|
|
4261
|
+
"""
|
|
4262
|
+
elif False:
|
|
4263
|
+
WindowsConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
4264
|
+
|
|
4265
|
+
@pulumi.input_type
|
|
4266
|
+
class WindowsConfigurationArgs:
|
|
4267
|
+
def __init__(__self__, *,
|
|
4268
|
+
enable_automatic_updates: Optional[pulumi.Input[bool]] = None):
|
|
4269
|
+
"""
|
|
4270
|
+
:param pulumi.Input[bool] enable_automatic_updates: If omitted, the default value is true.
|
|
4271
|
+
"""
|
|
4272
|
+
if enable_automatic_updates is not None:
|
|
4273
|
+
pulumi.set(__self__, "enable_automatic_updates", enable_automatic_updates)
|
|
4274
|
+
|
|
4275
|
+
@property
|
|
4276
|
+
@pulumi.getter(name="enableAutomaticUpdates")
|
|
4277
|
+
def enable_automatic_updates(self) -> Optional[pulumi.Input[bool]]:
|
|
4278
|
+
"""
|
|
4279
|
+
If omitted, the default value is true.
|
|
4280
|
+
"""
|
|
4281
|
+
return pulumi.get(self, "enable_automatic_updates")
|
|
4282
|
+
|
|
4283
|
+
@enable_automatic_updates.setter
|
|
4284
|
+
def enable_automatic_updates(self, value: Optional[pulumi.Input[bool]]):
|
|
4285
|
+
pulumi.set(self, "enable_automatic_updates", value)
|
|
4286
|
+
|
|
4287
|
+
|
|
4288
|
+
if not MYPY:
|
|
4289
|
+
class WindowsUserConfigurationArgsDict(TypedDict):
|
|
4290
|
+
login_mode: NotRequired[pulumi.Input['LoginMode']]
|
|
4291
|
+
"""
|
|
4292
|
+
Specifies login mode for the user. The default value is Interactive.
|
|
4293
|
+
"""
|
|
4294
|
+
elif False:
|
|
4295
|
+
WindowsUserConfigurationArgsDict: TypeAlias = Mapping[str, Any]
|
|
4296
|
+
|
|
4297
|
+
@pulumi.input_type
|
|
4298
|
+
class WindowsUserConfigurationArgs:
|
|
4299
|
+
def __init__(__self__, *,
|
|
4300
|
+
login_mode: Optional[pulumi.Input['LoginMode']] = None):
|
|
4301
|
+
"""
|
|
4302
|
+
:param pulumi.Input['LoginMode'] login_mode: Specifies login mode for the user. The default value is Interactive.
|
|
4303
|
+
"""
|
|
4304
|
+
if login_mode is not None:
|
|
4305
|
+
pulumi.set(__self__, "login_mode", login_mode)
|
|
4306
|
+
|
|
4307
|
+
@property
|
|
4308
|
+
@pulumi.getter(name="loginMode")
|
|
4309
|
+
def login_mode(self) -> Optional[pulumi.Input['LoginMode']]:
|
|
4310
|
+
"""
|
|
4311
|
+
Specifies login mode for the user. The default value is Interactive.
|
|
4312
|
+
"""
|
|
4313
|
+
return pulumi.get(self, "login_mode")
|
|
4314
|
+
|
|
4315
|
+
@login_mode.setter
|
|
4316
|
+
def login_mode(self, value: Optional[pulumi.Input['LoginMode']]):
|
|
4317
|
+
pulumi.set(self, "login_mode", value)
|
|
4318
|
+
|
|
4319
|
+
|