1package batch
2
3// Copyright (c) Microsoft Corporation. All rights reserved.
4// Licensed under the MIT License. See License.txt in the project root for license information.
5//
6// Code generated by Microsoft (R) AutoRest Code Generator.
7// Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
9// AccountKeyType enumerates the values for account key type.
10type AccountKeyType string
11
12const (
13	// Primary The primary account key.
14	Primary AccountKeyType = "Primary"
15	// Secondary The secondary account key.
16	Secondary AccountKeyType = "Secondary"
17)
18
19// PossibleAccountKeyTypeValues returns an array of possible values for the AccountKeyType const type.
20func PossibleAccountKeyTypeValues() []AccountKeyType {
21	return []AccountKeyType{Primary, Secondary}
22}
23
24// AllocationState enumerates the values for allocation state.
25type AllocationState string
26
27const (
28	// Resizing The pool is resizing; that is, compute nodes are being added to or removed from the pool.
29	Resizing AllocationState = "Resizing"
30	// Steady The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A
31	// pool enters this state when it is created and when no operations are being performed on the pool to
32	// change the number of nodes.
33	Steady AllocationState = "Steady"
34	// Stopping The pool was resizing, but the user has requested that the resize be stopped, but the stop
35	// request has not yet been completed.
36	Stopping AllocationState = "Stopping"
37)
38
39// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type.
40func PossibleAllocationStateValues() []AllocationState {
41	return []AllocationState{Resizing, Steady, Stopping}
42}
43
44// AutoUserScope enumerates the values for auto user scope.
45type AutoUserScope string
46
47const (
48	// AutoUserScopePool Specifies that the task runs as the common auto user account which is created on every
49	// node in a pool.
50	AutoUserScopePool AutoUserScope = "Pool"
51	// AutoUserScopeTask Specifies that the service should create a new user for the task.
52	AutoUserScopeTask AutoUserScope = "Task"
53)
54
55// PossibleAutoUserScopeValues returns an array of possible values for the AutoUserScope const type.
56func PossibleAutoUserScopeValues() []AutoUserScope {
57	return []AutoUserScope{AutoUserScopePool, AutoUserScopeTask}
58}
59
60// CachingType enumerates the values for caching type.
61type CachingType string
62
63const (
64	// None The caching mode for the disk is not enabled.
65	None CachingType = "None"
66	// ReadOnly The caching mode for the disk is read only.
67	ReadOnly CachingType = "ReadOnly"
68	// ReadWrite The caching mode for the disk is read and write.
69	ReadWrite CachingType = "ReadWrite"
70)
71
72// PossibleCachingTypeValues returns an array of possible values for the CachingType const type.
73func PossibleCachingTypeValues() []CachingType {
74	return []CachingType{None, ReadOnly, ReadWrite}
75}
76
77// CertificateFormat enumerates the values for certificate format.
78type CertificateFormat string
79
80const (
81	// Cer The certificate is a base64-encoded X.509 certificate.
82	Cer CertificateFormat = "Cer"
83	// Pfx The certificate is a PFX (PKCS#12) formatted certificate or certificate chain.
84	Pfx CertificateFormat = "Pfx"
85)
86
87// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type.
88func PossibleCertificateFormatValues() []CertificateFormat {
89	return []CertificateFormat{Cer, Pfx}
90}
91
92// CertificateProvisioningState enumerates the values for certificate provisioning state.
93type CertificateProvisioningState string
94
95const (
96	// Deleting The user has requested that the certificate be deleted, but the delete operation has not yet
97	// completed. You may not reference the certificate when creating or updating pools.
98	Deleting CertificateProvisioningState = "Deleting"
99	// Failed The user requested that the certificate be deleted, but there are pools that still have
100	// references to the certificate, or it is still installed on one or more compute nodes. (The latter can
101	// occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes
102	// refresh their certificates only when they restart.) You may use the cancel certificate delete operation
103	// to cancel the delete, or the delete certificate operation to retry the delete.
104	Failed CertificateProvisioningState = "Failed"
105	// Succeeded The certificate is available for use in pools.
106	Succeeded CertificateProvisioningState = "Succeeded"
107)
108
109// PossibleCertificateProvisioningStateValues returns an array of possible values for the CertificateProvisioningState const type.
110func PossibleCertificateProvisioningStateValues() []CertificateProvisioningState {
111	return []CertificateProvisioningState{Deleting, Failed, Succeeded}
112}
113
114// CertificateStoreLocation enumerates the values for certificate store location.
115type CertificateStoreLocation string
116
117const (
118	// CurrentUser Certificates should be installed to the CurrentUser certificate store.
119	CurrentUser CertificateStoreLocation = "CurrentUser"
120	// LocalMachine Certificates should be installed to the LocalMachine certificate store.
121	LocalMachine CertificateStoreLocation = "LocalMachine"
122)
123
124// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type.
125func PossibleCertificateStoreLocationValues() []CertificateStoreLocation {
126	return []CertificateStoreLocation{CurrentUser, LocalMachine}
127}
128
129// CertificateVisibility enumerates the values for certificate visibility.
130type CertificateVisibility string
131
132const (
133	// CertificateVisibilityRemoteUser The certificate should be visible to the user accounts under which users
134	// remotely access the node.
135	CertificateVisibilityRemoteUser CertificateVisibility = "RemoteUser"
136	// CertificateVisibilityStartTask The certificate should be visible to the user account under which the
137	// start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this
138	// certificate will be visible to the Task as well.
139	CertificateVisibilityStartTask CertificateVisibility = "StartTask"
140	// CertificateVisibilityTask The certificate should be visible to the user accounts under which job tasks
141	// are run.
142	CertificateVisibilityTask CertificateVisibility = "Task"
143)
144
145// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type.
146func PossibleCertificateVisibilityValues() []CertificateVisibility {
147	return []CertificateVisibility{CertificateVisibilityRemoteUser, CertificateVisibilityStartTask, CertificateVisibilityTask}
148}
149
150// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option.
151type ComputeNodeDeallocationOption string
152
153const (
154	// Requeue Terminate running task processes and requeue the tasks. The tasks will run again when a node is
155	// available. Remove nodes as soon as tasks have been terminated.
156	Requeue ComputeNodeDeallocationOption = "Requeue"
157	// RetainedData Allow currently running tasks to complete, then wait for all task data retention periods to
158	// expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired.
159	RetainedData ComputeNodeDeallocationOption = "RetainedData"
160	// TaskCompletion Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove
161	// nodes when all tasks have completed.
162	TaskCompletion ComputeNodeDeallocationOption = "TaskCompletion"
163	// Terminate Terminate running tasks. The tasks will be completed with failureInfo indicating that they
164	// were terminated, and will not run again. Remove nodes as soon as tasks have been terminated.
165	Terminate ComputeNodeDeallocationOption = "Terminate"
166)
167
168// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type.
169func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption {
170	return []ComputeNodeDeallocationOption{Requeue, RetainedData, TaskCompletion, Terminate}
171}
172
173// ComputeNodeFillType enumerates the values for compute node fill type.
174type ComputeNodeFillType string
175
176const (
177	// Pack As many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any
178	// tasks are assigned to the next node in the pool.
179	Pack ComputeNodeFillType = "Pack"
180	// Spread Tasks should be assigned evenly across all nodes in the pool.
181	Spread ComputeNodeFillType = "Spread"
182)
183
184// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type.
185func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType {
186	return []ComputeNodeFillType{Pack, Spread}
187}
188
189// ContainerWorkingDirectory enumerates the values for container working directory.
190type ContainerWorkingDirectory string
191
192const (
193	// ContainerImageDefault Using container image defined working directory. Beware that this directory will
194	// not contain the resource files downloaded by Batch.
195	ContainerImageDefault ContainerWorkingDirectory = "ContainerImageDefault"
196	// TaskWorkingDirectory Use the standard Batch service task working directory, which will contain the Task
197	// resource files populated by Batch.
198	TaskWorkingDirectory ContainerWorkingDirectory = "TaskWorkingDirectory"
199)
200
201// PossibleContainerWorkingDirectoryValues returns an array of possible values for the ContainerWorkingDirectory const type.
202func PossibleContainerWorkingDirectoryValues() []ContainerWorkingDirectory {
203	return []ContainerWorkingDirectory{ContainerImageDefault, TaskWorkingDirectory}
204}
205
206// DiskEncryptionTarget enumerates the values for disk encryption target.
207type DiskEncryptionTarget string
208
209const (
210	// OsDisk The OS Disk on the compute node is encrypted.
211	OsDisk DiskEncryptionTarget = "OsDisk"
212	// TemporaryDisk The temporary disk on the compute node is encrypted. On Linux this encryption applies to
213	// other partitions (such as those on mounted data disks) when encryption occurs at boot time.
214	TemporaryDisk DiskEncryptionTarget = "TemporaryDisk"
215)
216
217// PossibleDiskEncryptionTargetValues returns an array of possible values for the DiskEncryptionTarget const type.
218func PossibleDiskEncryptionTargetValues() []DiskEncryptionTarget {
219	return []DiskEncryptionTarget{OsDisk, TemporaryDisk}
220}
221
222// ElevationLevel enumerates the values for elevation level.
223type ElevationLevel string
224
225const (
226	// Admin The user is a user with elevated access and operates with full Administrator permissions.
227	Admin ElevationLevel = "Admin"
228	// NonAdmin The user is a standard user without elevated access.
229	NonAdmin ElevationLevel = "NonAdmin"
230)
231
232// PossibleElevationLevelValues returns an array of possible values for the ElevationLevel const type.
233func PossibleElevationLevelValues() []ElevationLevel {
234	return []ElevationLevel{Admin, NonAdmin}
235}
236
237// InboundEndpointProtocol enumerates the values for inbound endpoint protocol.
238type InboundEndpointProtocol string
239
240const (
241	// TCP Use TCP for the endpoint.
242	TCP InboundEndpointProtocol = "TCP"
243	// UDP Use UDP for the endpoint.
244	UDP InboundEndpointProtocol = "UDP"
245)
246
247// PossibleInboundEndpointProtocolValues returns an array of possible values for the InboundEndpointProtocol const type.
248func PossibleInboundEndpointProtocolValues() []InboundEndpointProtocol {
249	return []InboundEndpointProtocol{TCP, UDP}
250}
251
252// InterNodeCommunicationState enumerates the values for inter node communication state.
253type InterNodeCommunicationState string
254
255const (
256	// Disabled Disable network communication between virtual machines.
257	Disabled InterNodeCommunicationState = "Disabled"
258	// Enabled Enable network communication between virtual machines.
259	Enabled InterNodeCommunicationState = "Enabled"
260)
261
262// PossibleInterNodeCommunicationStateValues returns an array of possible values for the InterNodeCommunicationState const type.
263func PossibleInterNodeCommunicationStateValues() []InterNodeCommunicationState {
264	return []InterNodeCommunicationState{Disabled, Enabled}
265}
266
267// IPAddressProvisioningType enumerates the values for ip address provisioning type.
268type IPAddressProvisioningType string
269
270const (
271	// BatchManaged A public IP will be created and managed by Batch. There may be multiple public IPs
272	// depending on the size of the Pool.
273	BatchManaged IPAddressProvisioningType = "BatchManaged"
274	// NoPublicIPAddresses No public IP Address will be created for the Compute Nodes in the Pool.
275	NoPublicIPAddresses IPAddressProvisioningType = "NoPublicIPAddresses"
276	// UserManaged Public IPs are provided by the user and will be used to provision the Compute Nodes.
277	UserManaged IPAddressProvisioningType = "UserManaged"
278)
279
280// PossibleIPAddressProvisioningTypeValues returns an array of possible values for the IPAddressProvisioningType const type.
281func PossibleIPAddressProvisioningTypeValues() []IPAddressProvisioningType {
282	return []IPAddressProvisioningType{BatchManaged, NoPublicIPAddresses, UserManaged}
283}
284
285// KeySource enumerates the values for key source.
286type KeySource string
287
288const (
289	// MicrosoftBatch Batch creates and manages the encryption keys used to protect the account data.
290	MicrosoftBatch KeySource = "Microsoft.Batch"
291	// MicrosoftKeyVault The encryption keys used to protect the account data are stored in an external key
292	// vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key
293	// Identifier must also be supplied under the keyVaultProperties.
294	MicrosoftKeyVault KeySource = "Microsoft.KeyVault"
295)
296
297// PossibleKeySourceValues returns an array of possible values for the KeySource const type.
298func PossibleKeySourceValues() []KeySource {
299	return []KeySource{MicrosoftBatch, MicrosoftKeyVault}
300}
301
302// LoginMode enumerates the values for login mode.
303type LoginMode string
304
305const (
306	// Batch The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running
307	// parallel processes.
308	Batch LoginMode = "Batch"
309	// Interactive The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions
310	// associated with the interactive login mode. If this is the case for an application used in your task,
311	// then this option is recommended.
312	Interactive LoginMode = "Interactive"
313)
314
315// PossibleLoginModeValues returns an array of possible values for the LoginMode const type.
316func PossibleLoginModeValues() []LoginMode {
317	return []LoginMode{Batch, Interactive}
318}
319
320// NameAvailabilityReason enumerates the values for name availability reason.
321type NameAvailabilityReason string
322
323const (
324	// AlreadyExists The requested name is already in use.
325	AlreadyExists NameAvailabilityReason = "AlreadyExists"
326	// Invalid The requested name is invalid.
327	Invalid NameAvailabilityReason = "Invalid"
328)
329
330// PossibleNameAvailabilityReasonValues returns an array of possible values for the NameAvailabilityReason const type.
331func PossibleNameAvailabilityReasonValues() []NameAvailabilityReason {
332	return []NameAvailabilityReason{AlreadyExists, Invalid}
333}
334
335// NetworkSecurityGroupRuleAccess enumerates the values for network security group rule access.
336type NetworkSecurityGroupRuleAccess string
337
338const (
339	// Allow Allow access.
340	Allow NetworkSecurityGroupRuleAccess = "Allow"
341	// Deny Deny access.
342	Deny NetworkSecurityGroupRuleAccess = "Deny"
343)
344
345// PossibleNetworkSecurityGroupRuleAccessValues returns an array of possible values for the NetworkSecurityGroupRuleAccess const type.
346func PossibleNetworkSecurityGroupRuleAccessValues() []NetworkSecurityGroupRuleAccess {
347	return []NetworkSecurityGroupRuleAccess{Allow, Deny}
348}
349
350// PackageState enumerates the values for package state.
351type PackageState string
352
353const (
354	// Active The application package is ready for use.
355	Active PackageState = "Active"
356	// Pending The application package has been created but has not yet been activated.
357	Pending PackageState = "Pending"
358)
359
360// PossiblePackageStateValues returns an array of possible values for the PackageState const type.
361func PossiblePackageStateValues() []PackageState {
362	return []PackageState{Active, Pending}
363}
364
365// PoolAllocationMode enumerates the values for pool allocation mode.
366type PoolAllocationMode string
367
368const (
369	// BatchService Pools will be allocated in subscriptions owned by the Batch service.
370	BatchService PoolAllocationMode = "BatchService"
371	// UserSubscription Pools will be allocated in a subscription owned by the user.
372	UserSubscription PoolAllocationMode = "UserSubscription"
373)
374
375// PossiblePoolAllocationModeValues returns an array of possible values for the PoolAllocationMode const type.
376func PossiblePoolAllocationModeValues() []PoolAllocationMode {
377	return []PoolAllocationMode{BatchService, UserSubscription}
378}
379
380// PoolProvisioningState enumerates the values for pool provisioning state.
381type PoolProvisioningState string
382
383const (
384	// PoolProvisioningStateDeleting The user has requested that the pool be deleted, but the delete operation
385	// has not yet completed.
386	PoolProvisioningStateDeleting PoolProvisioningState = "Deleting"
387	// PoolProvisioningStateSucceeded The pool is available to run tasks subject to the availability of compute
388	// nodes.
389	PoolProvisioningStateSucceeded PoolProvisioningState = "Succeeded"
390)
391
392// PossiblePoolProvisioningStateValues returns an array of possible values for the PoolProvisioningState const type.
393func PossiblePoolProvisioningStateValues() []PoolProvisioningState {
394	return []PoolProvisioningState{PoolProvisioningStateDeleting, PoolProvisioningStateSucceeded}
395}
396
397// PrivateEndpointConnectionProvisioningState enumerates the values for private endpoint connection
398// provisioning state.
399type PrivateEndpointConnectionProvisioningState string
400
401const (
402	// PrivateEndpointConnectionProvisioningStateFailed The user requested that the connection be updated and
403	// it failed. You may retry the update operation.
404	PrivateEndpointConnectionProvisioningStateFailed PrivateEndpointConnectionProvisioningState = "Failed"
405	// PrivateEndpointConnectionProvisioningStateSucceeded The connection status is final and is ready for use
406	// if Status is Approved.
407	PrivateEndpointConnectionProvisioningStateSucceeded PrivateEndpointConnectionProvisioningState = "Succeeded"
408	// PrivateEndpointConnectionProvisioningStateUpdating The user has requested that the connection status be
409	// updated, but the update operation has not yet completed. You may not reference the connection when
410	// connecting the Batch account.
411	PrivateEndpointConnectionProvisioningStateUpdating PrivateEndpointConnectionProvisioningState = "Updating"
412)
413
414// PossiblePrivateEndpointConnectionProvisioningStateValues returns an array of possible values for the PrivateEndpointConnectionProvisioningState const type.
415func PossiblePrivateEndpointConnectionProvisioningStateValues() []PrivateEndpointConnectionProvisioningState {
416	return []PrivateEndpointConnectionProvisioningState{PrivateEndpointConnectionProvisioningStateFailed, PrivateEndpointConnectionProvisioningStateSucceeded, PrivateEndpointConnectionProvisioningStateUpdating}
417}
418
419// PrivateLinkServiceConnectionStatus enumerates the values for private link service connection status.
420type PrivateLinkServiceConnectionStatus string
421
422const (
423	// PrivateLinkServiceConnectionStatusApproved The private endpoint connection is approved and can be used
424	// to access Batch account
425	PrivateLinkServiceConnectionStatusApproved PrivateLinkServiceConnectionStatus = "Approved"
426	// PrivateLinkServiceConnectionStatusDisconnected The private endpoint connection is disconnected and
427	// cannot be used to access Batch account
428	PrivateLinkServiceConnectionStatusDisconnected PrivateLinkServiceConnectionStatus = "Disconnected"
429	// PrivateLinkServiceConnectionStatusPending The private endpoint connection is pending and cannot be used
430	// to access Batch account
431	PrivateLinkServiceConnectionStatusPending PrivateLinkServiceConnectionStatus = "Pending"
432	// PrivateLinkServiceConnectionStatusRejected The private endpoint connection is rejected and cannot be
433	// used to access Batch account
434	PrivateLinkServiceConnectionStatusRejected PrivateLinkServiceConnectionStatus = "Rejected"
435)
436
437// PossiblePrivateLinkServiceConnectionStatusValues returns an array of possible values for the PrivateLinkServiceConnectionStatus const type.
438func PossiblePrivateLinkServiceConnectionStatusValues() []PrivateLinkServiceConnectionStatus {
439	return []PrivateLinkServiceConnectionStatus{PrivateLinkServiceConnectionStatusApproved, PrivateLinkServiceConnectionStatusDisconnected, PrivateLinkServiceConnectionStatusPending, PrivateLinkServiceConnectionStatusRejected}
440}
441
442// ProvisioningState enumerates the values for provisioning state.
443type ProvisioningState string
444
445const (
446	// ProvisioningStateCancelled The last operation for the account is cancelled.
447	ProvisioningStateCancelled ProvisioningState = "Cancelled"
448	// ProvisioningStateCreating The account is being created.
449	ProvisioningStateCreating ProvisioningState = "Creating"
450	// ProvisioningStateDeleting The account is being deleted.
451	ProvisioningStateDeleting ProvisioningState = "Deleting"
452	// ProvisioningStateFailed The last operation for the account is failed.
453	ProvisioningStateFailed ProvisioningState = "Failed"
454	// ProvisioningStateInvalid The account is in an invalid state.
455	ProvisioningStateInvalid ProvisioningState = "Invalid"
456	// ProvisioningStateSucceeded The account has been created and is ready for use.
457	ProvisioningStateSucceeded ProvisioningState = "Succeeded"
458)
459
460// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type.
461func PossibleProvisioningStateValues() []ProvisioningState {
462	return []ProvisioningState{ProvisioningStateCancelled, ProvisioningStateCreating, ProvisioningStateDeleting, ProvisioningStateFailed, ProvisioningStateInvalid, ProvisioningStateSucceeded}
463}
464
465// PublicNetworkAccessType enumerates the values for public network access type.
466type PublicNetworkAccessType string
467
468const (
469	// PublicNetworkAccessTypeDisabled Disables public connectivity and enables private connectivity to Azure
470	// Batch Service through private endpoint resource.
471	PublicNetworkAccessTypeDisabled PublicNetworkAccessType = "Disabled"
472	// PublicNetworkAccessTypeEnabled Enables connectivity to Azure Batch through public DNS.
473	PublicNetworkAccessTypeEnabled PublicNetworkAccessType = "Enabled"
474)
475
476// PossiblePublicNetworkAccessTypeValues returns an array of possible values for the PublicNetworkAccessType const type.
477func PossiblePublicNetworkAccessTypeValues() []PublicNetworkAccessType {
478	return []PublicNetworkAccessType{PublicNetworkAccessTypeDisabled, PublicNetworkAccessTypeEnabled}
479}
480
481// ResourceIdentityType enumerates the values for resource identity type.
482type ResourceIdentityType string
483
484const (
485	// ResourceIdentityTypeNone Batch account has no identity associated with it. Setting `None` in update
486	// account will remove existing identities.
487	ResourceIdentityTypeNone ResourceIdentityType = "None"
488	// ResourceIdentityTypeSystemAssigned Batch account has a system assigned identity with it.
489	ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned"
490)
491
492// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type.
493func PossibleResourceIdentityTypeValues() []ResourceIdentityType {
494	return []ResourceIdentityType{ResourceIdentityTypeNone, ResourceIdentityTypeSystemAssigned}
495}
496
497// StorageAccountType enumerates the values for storage account type.
498type StorageAccountType string
499
500const (
501	// PremiumLRS The data disk should use premium locally redundant storage.
502	PremiumLRS StorageAccountType = "Premium_LRS"
503	// StandardLRS The data disk should use standard locally redundant storage.
504	StandardLRS StorageAccountType = "Standard_LRS"
505)
506
507// PossibleStorageAccountTypeValues returns an array of possible values for the StorageAccountType const type.
508func PossibleStorageAccountTypeValues() []StorageAccountType {
509	return []StorageAccountType{PremiumLRS, StandardLRS}
510}
511