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

const (
	version20200901Preview string = "2020-09-01-preview"
	version20210601Preview string = "2021-06-01-preview"
	version20240401        string = "2024-04-01"
)

// AuthorizationScopeFilter - Defines what level of authorization resources should be returned based on the which subscriptions
// and management groups are passed as scopes.
type AuthorizationScopeFilter string

const (
	// AuthorizationScopeFilterAtScopeAboveAndBelow - AtScopeAboveAndBelow
	AuthorizationScopeFilterAtScopeAboveAndBelow AuthorizationScopeFilter = "AtScopeAboveAndBelow"
	// AuthorizationScopeFilterAtScopeAndAbove - AtScopeAndAbove
	AuthorizationScopeFilterAtScopeAndAbove AuthorizationScopeFilter = "AtScopeAndAbove"
	// AuthorizationScopeFilterAtScopeAndBelow - AtScopeAndBelow
	AuthorizationScopeFilterAtScopeAndBelow AuthorizationScopeFilter = "AtScopeAndBelow"
	// AuthorizationScopeFilterAtScopeExact - AtScopeExact
	AuthorizationScopeFilterAtScopeExact AuthorizationScopeFilter = "AtScopeExact"
)

// PossibleAuthorizationScopeFilterValues returns the possible values for the AuthorizationScopeFilter const type.
func PossibleAuthorizationScopeFilterValues() []AuthorizationScopeFilter {
	return []AuthorizationScopeFilter{
		AuthorizationScopeFilterAtScopeAboveAndBelow,
		AuthorizationScopeFilterAtScopeAndAbove,
		AuthorizationScopeFilterAtScopeAndBelow,
		AuthorizationScopeFilterAtScopeExact,
	}
}

// ChangeCategory - The change category.
type ChangeCategory string

const (
	// ChangeCategorySystem - System
	ChangeCategorySystem ChangeCategory = "System"
	// ChangeCategoryUser - User
	ChangeCategoryUser ChangeCategory = "User"
)

// PossibleChangeCategoryValues returns the possible values for the ChangeCategory const type.
func PossibleChangeCategoryValues() []ChangeCategory {
	return []ChangeCategory{
		ChangeCategorySystem,
		ChangeCategoryUser,
	}
}

// ChangeType - The change type for snapshot. PropertyChanges will be provided in case of Update change type
type ChangeType string

const (
	// ChangeTypeCreate - Create
	ChangeTypeCreate ChangeType = "Create"
	// ChangeTypeDelete - Delete
	ChangeTypeDelete ChangeType = "Delete"
	// ChangeTypeUpdate - Update
	ChangeTypeUpdate ChangeType = "Update"
)

// PossibleChangeTypeValues returns the possible values for the ChangeType const type.
func PossibleChangeTypeValues() []ChangeType {
	return []ChangeType{
		ChangeTypeCreate,
		ChangeTypeDelete,
		ChangeTypeUpdate,
	}
}

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

// FacetSortOrder - The sorting order by the selected column (count by default).
type FacetSortOrder string

const (
	// FacetSortOrderAsc - asc
	FacetSortOrderAsc FacetSortOrder = "asc"
	// FacetSortOrderDesc - desc
	FacetSortOrderDesc FacetSortOrder = "desc"
)

// PossibleFacetSortOrderValues returns the possible values for the FacetSortOrder const type.
func PossibleFacetSortOrderValues() []FacetSortOrder {
	return []FacetSortOrder{
		FacetSortOrderAsc,
		FacetSortOrderDesc,
	}
}

// PropertyChangeType - The property change Type
type PropertyChangeType string

const (
	// PropertyChangeTypeInsert - Insert
	PropertyChangeTypeInsert PropertyChangeType = "Insert"
	// PropertyChangeTypeRemove - Remove
	PropertyChangeTypeRemove PropertyChangeType = "Remove"
	// PropertyChangeTypeUpdate - Update
	PropertyChangeTypeUpdate PropertyChangeType = "Update"
)

// PossiblePropertyChangeTypeValues returns the possible values for the PropertyChangeType const type.
func PossiblePropertyChangeTypeValues() []PropertyChangeType {
	return []PropertyChangeType{
		PropertyChangeTypeInsert,
		PropertyChangeTypeRemove,
		PropertyChangeTypeUpdate,
	}
}

// ResultFormat - Defines in which format query result returned.
type ResultFormat string

const (
	// ResultFormatObjectArray - objectArray
	ResultFormatObjectArray ResultFormat = "objectArray"
	// ResultFormatTable - table
	ResultFormatTable ResultFormat = "table"
)

// PossibleResultFormatValues returns the possible values for the ResultFormat const type.
func PossibleResultFormatValues() []ResultFormat {
	return []ResultFormat{
		ResultFormatObjectArray,
		ResultFormatTable,
	}
}

// ResultKind - Enum indicating a type of graph query.
type ResultKind string

const (
	// ResultKindBasic - basic
	ResultKindBasic ResultKind = "basic"
)

// PossibleResultKindValues returns the possible values for the ResultKind const type.
func PossibleResultKindValues() []ResultKind {
	return []ResultKind{
		ResultKindBasic,
	}
}

// ResultTruncated - Indicates whether the query results are truncated.
type ResultTruncated string

const (
	// ResultTruncatedFalse - false
	ResultTruncatedFalse ResultTruncated = "false"
	// ResultTruncatedTrue - true
	ResultTruncatedTrue ResultTruncated = "true"
)

// PossibleResultTruncatedValues returns the possible values for the ResultTruncated const type.
func PossibleResultTruncatedValues() []ResultTruncated {
	return []ResultTruncated{
		ResultTruncatedFalse,
		ResultTruncatedTrue,
	}
}
