// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) Go Code Generator. DO NOT EDIT.

package armdomainservices

const (
	version20251001Preview string = "2025-10-01-preview"
)

// ChannelBinding - A flag to determine whether or not ChannelBinding is enabled or disabled.
type ChannelBinding string

const (
	// ChannelBindingDisabled - Disabled
	ChannelBindingDisabled ChannelBinding = "Disabled"
	// ChannelBindingEnabled - Enabled
	ChannelBindingEnabled ChannelBinding = "Enabled"
)

// PossibleChannelBindingValues returns the possible values for the ChannelBinding const type.
func PossibleChannelBindingValues() []ChannelBinding {
	return []ChannelBinding{
		ChannelBindingDisabled,
		ChannelBindingEnabled,
	}
}

// CreatedByType - The kind of entity that created the resource.
type CreatedByType string

const (
	// CreatedByTypeApplication - The entity was created by an application.
	CreatedByTypeApplication CreatedByType = "Application"
	// CreatedByTypeKey - The entity was created by a key.
	CreatedByTypeKey CreatedByType = "Key"
	// CreatedByTypeManagedIdentity - The entity was created by a managed identity.
	CreatedByTypeManagedIdentity CreatedByType = "ManagedIdentity"
	// CreatedByTypeUser - The entity was created by a user.
	CreatedByTypeUser CreatedByType = "User"
)

// PossibleCreatedByTypeValues returns the possible values for the CreatedByType const type.
func PossibleCreatedByTypeValues() []CreatedByType {
	return []CreatedByType{
		CreatedByTypeApplication,
		CreatedByTypeKey,
		CreatedByTypeManagedIdentity,
		CreatedByTypeUser,
	}
}

// ExternalAccess - A flag to determine whether or not Secure LDAP access over the internet is enabled or disabled.
type ExternalAccess string

const (
	// ExternalAccessDisabled - Disabled
	ExternalAccessDisabled ExternalAccess = "Disabled"
	// ExternalAccessEnabled - Enabled
	ExternalAccessEnabled ExternalAccess = "Enabled"
)

// PossibleExternalAccessValues returns the possible values for the ExternalAccess const type.
func PossibleExternalAccessValues() []ExternalAccess {
	return []ExternalAccess{
		ExternalAccessDisabled,
		ExternalAccessEnabled,
	}
}

// FilteredSync - Enabled or Disabled flag to turn on Group-based filtered sync
type FilteredSync string

const (
	// FilteredSyncDisabled - Disabled
	FilteredSyncDisabled FilteredSync = "Disabled"
	// FilteredSyncEnabled - Enabled
	FilteredSyncEnabled FilteredSync = "Enabled"
)

// PossibleFilteredSyncValues returns the possible values for the FilteredSync const type.
func PossibleFilteredSyncValues() []FilteredSync {
	return []FilteredSync{
		FilteredSyncDisabled,
		FilteredSyncEnabled,
	}
}

// KerberosArmoring - A flag to determine whether or not KerberosArmoring is enabled or disabled.
type KerberosArmoring string

const (
	// KerberosArmoringDisabled - Disabled
	KerberosArmoringDisabled KerberosArmoring = "Disabled"
	// KerberosArmoringEnabled - Enabled
	KerberosArmoringEnabled KerberosArmoring = "Enabled"
)

// PossibleKerberosArmoringValues returns the possible values for the KerberosArmoring const type.
func PossibleKerberosArmoringValues() []KerberosArmoring {
	return []KerberosArmoring{
		KerberosArmoringDisabled,
		KerberosArmoringEnabled,
	}
}

// KerberosRc4Encryption - A flag to determine whether or not KerberosRc4Encryption is enabled or disabled.
type KerberosRc4Encryption string

const (
	// KerberosRc4EncryptionDisabled - Disabled
	KerberosRc4EncryptionDisabled KerberosRc4Encryption = "Disabled"
	// KerberosRc4EncryptionEnabled - Enabled
	KerberosRc4EncryptionEnabled KerberosRc4Encryption = "Enabled"
)

// PossibleKerberosRc4EncryptionValues returns the possible values for the KerberosRc4Encryption const type.
func PossibleKerberosRc4EncryptionValues() []KerberosRc4Encryption {
	return []KerberosRc4Encryption{
		KerberosRc4EncryptionDisabled,
		KerberosRc4EncryptionEnabled,
	}
}

// LdapSigning - A flag to determine whether or not LdapSigning is enabled or disabled.
type LdapSigning string

const (
	// LdapSigningDisabled - Disabled
	LdapSigningDisabled LdapSigning = "Disabled"
	// LdapSigningEnabled - Enabled
	LdapSigningEnabled LdapSigning = "Enabled"
)

// PossibleLdapSigningValues returns the possible values for the LdapSigning const type.
func PossibleLdapSigningValues() []LdapSigning {
	return []LdapSigning{
		LdapSigningDisabled,
		LdapSigningEnabled,
	}
}

// Ldaps - A flag to determine whether or not Secure LDAP is enabled or disabled.
type Ldaps string

const (
	// LdapsDisabled - Disabled
	LdapsDisabled Ldaps = "Disabled"
	// LdapsEnabled - Enabled
	LdapsEnabled Ldaps = "Enabled"
)

// PossibleLdapsValues returns the possible values for the Ldaps const type.
func PossibleLdapsValues() []Ldaps {
	return []Ldaps{
		LdapsDisabled,
		LdapsEnabled,
	}
}

// NotifyDcAdmins - Should domain controller admins be notified
type NotifyDcAdmins string

const (
	// NotifyDcAdminsDisabled - Disabled
	NotifyDcAdminsDisabled NotifyDcAdmins = "Disabled"
	// NotifyDcAdminsEnabled - Enabled
	NotifyDcAdminsEnabled NotifyDcAdmins = "Enabled"
)

// PossibleNotifyDcAdminsValues returns the possible values for the NotifyDcAdmins const type.
func PossibleNotifyDcAdminsValues() []NotifyDcAdmins {
	return []NotifyDcAdmins{
		NotifyDcAdminsDisabled,
		NotifyDcAdminsEnabled,
	}
}

// NotifyGlobalAdmins - Should global admins be notified
type NotifyGlobalAdmins string

const (
	// NotifyGlobalAdminsDisabled - Disabled
	NotifyGlobalAdminsDisabled NotifyGlobalAdmins = "Disabled"
	// NotifyGlobalAdminsEnabled - Enabled
	NotifyGlobalAdminsEnabled NotifyGlobalAdmins = "Enabled"
)

// PossibleNotifyGlobalAdminsValues returns the possible values for the NotifyGlobalAdmins const type.
func PossibleNotifyGlobalAdminsValues() []NotifyGlobalAdmins {
	return []NotifyGlobalAdmins{
		NotifyGlobalAdminsDisabled,
		NotifyGlobalAdminsEnabled,
	}
}

// NtlmV1 - A flag to determine whether or not NtlmV1 is enabled or disabled.
type NtlmV1 string

const (
	// NtlmV1Disabled - Disabled
	NtlmV1Disabled NtlmV1 = "Disabled"
	// NtlmV1Enabled - Enabled
	NtlmV1Enabled NtlmV1 = "Enabled"
)

// PossibleNtlmV1Values returns the possible values for the NtlmV1 const type.
func PossibleNtlmV1Values() []NtlmV1 {
	return []NtlmV1{
		NtlmV1Disabled,
		NtlmV1Enabled,
	}
}

// Status - Status for individual validator after running diagnostics.
type Status string

const (
	// StatusFailure - Failure
	StatusFailure Status = "Failure"
	// StatusNone - None
	StatusNone Status = "None"
	// StatusOK - OK
	StatusOK Status = "OK"
	// StatusRunning - Running
	StatusRunning Status = "Running"
	// StatusSkipped - Skipped
	StatusSkipped Status = "Skipped"
	// StatusWarning - Warning
	StatusWarning Status = "Warning"
)

// PossibleStatusValues returns the possible values for the Status const type.
func PossibleStatusValues() []Status {
	return []Status{
		StatusFailure,
		StatusNone,
		StatusOK,
		StatusRunning,
		StatusSkipped,
		StatusWarning,
	}
}

// SyncKerberosPasswords - A flag to determine whether or not SyncKerberosPasswords is enabled or disabled.
type SyncKerberosPasswords string

const (
	// SyncKerberosPasswordsDisabled - Disabled
	SyncKerberosPasswordsDisabled SyncKerberosPasswords = "Disabled"
	// SyncKerberosPasswordsEnabled - Enabled
	SyncKerberosPasswordsEnabled SyncKerberosPasswords = "Enabled"
)

// PossibleSyncKerberosPasswordsValues returns the possible values for the SyncKerberosPasswords const type.
func PossibleSyncKerberosPasswordsValues() []SyncKerberosPasswords {
	return []SyncKerberosPasswords{
		SyncKerberosPasswordsDisabled,
		SyncKerberosPasswordsEnabled,
	}
}

// SyncNtlmPasswords - A flag to determine whether or not SyncNtlmPasswords is enabled or disabled.
type SyncNtlmPasswords string

const (
	// SyncNtlmPasswordsDisabled - Disabled
	SyncNtlmPasswordsDisabled SyncNtlmPasswords = "Disabled"
	// SyncNtlmPasswordsEnabled - Enabled
	SyncNtlmPasswordsEnabled SyncNtlmPasswords = "Enabled"
)

// PossibleSyncNtlmPasswordsValues returns the possible values for the SyncNtlmPasswords const type.
func PossibleSyncNtlmPasswordsValues() []SyncNtlmPasswords {
	return []SyncNtlmPasswords{
		SyncNtlmPasswordsDisabled,
		SyncNtlmPasswordsEnabled,
	}
}

// SyncOnPremPasswords - A flag to determine whether or not SyncOnPremPasswords is enabled or disabled.
type SyncOnPremPasswords string

const (
	// SyncOnPremPasswordsDisabled - Disabled
	SyncOnPremPasswordsDisabled SyncOnPremPasswords = "Disabled"
	// SyncOnPremPasswordsEnabled - Enabled
	SyncOnPremPasswordsEnabled SyncOnPremPasswords = "Enabled"
)

// PossibleSyncOnPremPasswordsValues returns the possible values for the SyncOnPremPasswords const type.
func PossibleSyncOnPremPasswordsValues() []SyncOnPremPasswords {
	return []SyncOnPremPasswords{
		SyncOnPremPasswordsDisabled,
		SyncOnPremPasswordsEnabled,
	}
}

// SyncOnPremSamAccountName - A flag to determine whether the SyncOnPremSamAccountName feature is active. When enabled, the
// samAccountName attribute in Entra Domain Services is synchronized from the onPremisesSamAccountName attribute in Entra
// ID
type SyncOnPremSamAccountName string

const (
	// SyncOnPremSamAccountNameDisabled - Disabled
	SyncOnPremSamAccountNameDisabled SyncOnPremSamAccountName = "Disabled"
	// SyncOnPremSamAccountNameEnabled - Enabled
	SyncOnPremSamAccountNameEnabled SyncOnPremSamAccountName = "Enabled"
)

// PossibleSyncOnPremSamAccountNameValues returns the possible values for the SyncOnPremSamAccountName const type.
func PossibleSyncOnPremSamAccountNameValues() []SyncOnPremSamAccountName {
	return []SyncOnPremSamAccountName{
		SyncOnPremSamAccountNameDisabled,
		SyncOnPremSamAccountNameEnabled,
	}
}

// SyncScope - All or CloudOnly, All users in AAD are synced to AAD DS domain or only users actively syncing in the cloud
type SyncScope string

const (
	// SyncScopeAll - All
	SyncScopeAll SyncScope = "All"
	// SyncScopeCloudOnly - CloudOnly
	SyncScopeCloudOnly SyncScope = "CloudOnly"
)

// PossibleSyncScopeValues returns the possible values for the SyncScope const type.
func PossibleSyncScopeValues() []SyncScope {
	return []SyncScope{
		SyncScopeAll,
		SyncScopeCloudOnly,
	}
}

// TLSV1 - A flag to determine whether or not TlsV1 is enabled or disabled.
type TLSV1 string

const (
	// TLSV1Disabled - Disabled
	TLSV1Disabled TLSV1 = "Disabled"
	// TLSV1Enabled - Enabled
	TLSV1Enabled TLSV1 = "Enabled"
)

// PossibleTLSV1Values returns the possible values for the TLSV1 const type.
func PossibleTLSV1Values() []TLSV1 {
	return []TLSV1{
		TLSV1Disabled,
		TLSV1Enabled,
	}
}
