// 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 armeducation

const (
	version20211201Preview string = "2021-12-01-preview"
)

// ActionType - Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
type ActionType string

const (
	// ActionTypeInternal - Actions are for internal-only APIs.
	ActionTypeInternal ActionType = "Internal"
)

// PossibleActionTypeValues returns the possible values for the ActionType const type.
func PossibleActionTypeValues() []ActionType {
	return []ActionType{
		ActionTypeInternal,
	}
}

// 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,
	}
}

// GrantStatus - Grant status
type GrantStatus string

const (
	// GrantStatusActive - Active
	GrantStatusActive GrantStatus = "Active"
	// GrantStatusInactive - Inactive
	GrantStatusInactive GrantStatus = "Inactive"
)

// PossibleGrantStatusValues returns the possible values for the GrantStatus const type.
func PossibleGrantStatusValues() []GrantStatus {
	return []GrantStatus{
		GrantStatusActive,
		GrantStatusInactive,
	}
}

// GrantType - Grant Offer Type
type GrantType string

const (
	// GrantTypeAcademic - Academic
	GrantTypeAcademic GrantType = "Academic"
	// GrantTypeStudent - Student
	GrantTypeStudent GrantType = "Student"
)

// PossibleGrantTypeValues returns the possible values for the GrantType const type.
func PossibleGrantTypeValues() []GrantType {
	return []GrantType{
		GrantTypeAcademic,
		GrantTypeStudent,
	}
}

// JoinRequestStatus - Join request status
type JoinRequestStatus string

const (
	// JoinRequestStatusDenied - Denied
	JoinRequestStatusDenied JoinRequestStatus = "Denied"
	// JoinRequestStatusPending - Pending
	JoinRequestStatusPending JoinRequestStatus = "Pending"
)

// PossibleJoinRequestStatusValues returns the possible values for the JoinRequestStatus const type.
func PossibleJoinRequestStatusValues() []JoinRequestStatus {
	return []JoinRequestStatus{
		JoinRequestStatusDenied,
		JoinRequestStatusPending,
	}
}

// LabStatus - The status of this lab
type LabStatus string

const (
	// LabStatusActive - Active
	LabStatusActive LabStatus = "Active"
	// LabStatusDeleted - Deleted
	LabStatusDeleted LabStatus = "Deleted"
	// LabStatusPending - Pending
	LabStatusPending LabStatus = "Pending"
)

// PossibleLabStatusValues returns the possible values for the LabStatus const type.
func PossibleLabStatusValues() []LabStatus {
	return []LabStatus{
		LabStatusActive,
		LabStatusDeleted,
		LabStatusPending,
	}
}

// Origin - The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
// value is "user,system"
type Origin string

const (
	// OriginSystem - Indicates the operation is initiated by a system.
	OriginSystem Origin = "system"
	// OriginUser - Indicates the operation is initiated by a user.
	OriginUser Origin = "user"
	// OriginUserSystem - Indicates the operation is initiated by a user or system.
	OriginUserSystem Origin = "user,system"
)

// PossibleOriginValues returns the possible values for the Origin const type.
func PossibleOriginValues() []Origin {
	return []Origin{
		OriginSystem,
		OriginUser,
		OriginUserSystem,
	}
}

// StudentLabStatus - Student Lab Status
type StudentLabStatus string

const (
	// StudentLabStatusActive - Active
	StudentLabStatusActive StudentLabStatus = "Active"
	// StudentLabStatusDeleted - Deleted
	StudentLabStatusDeleted StudentLabStatus = "Deleted"
	// StudentLabStatusDisabled - Disabled
	StudentLabStatusDisabled StudentLabStatus = "Disabled"
	// StudentLabStatusExpired - Expired
	StudentLabStatusExpired StudentLabStatus = "Expired"
	// StudentLabStatusPending - Pending
	StudentLabStatusPending StudentLabStatus = "Pending"
)

// PossibleStudentLabStatusValues returns the possible values for the StudentLabStatus const type.
func PossibleStudentLabStatusValues() []StudentLabStatus {
	return []StudentLabStatus{
		StudentLabStatusActive,
		StudentLabStatusDeleted,
		StudentLabStatusDisabled,
		StudentLabStatusExpired,
		StudentLabStatusPending,
	}
}

// StudentRole - Student Role
type StudentRole string

const (
	// StudentRoleAdmin - Admin
	StudentRoleAdmin StudentRole = "Admin"
	// StudentRoleStudent - Student
	StudentRoleStudent StudentRole = "Student"
)

// PossibleStudentRoleValues returns the possible values for the StudentRole const type.
func PossibleStudentRoleValues() []StudentRole {
	return []StudentRole{
		StudentRoleAdmin,
		StudentRoleStudent,
	}
}
