# coding=utf-8
# --------------------------------------------------------------------------
# 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) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from enum import Enum
from azure.core import CaseInsensitiveEnumMeta


class CreatedByType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The kind of entity that created the resource."""

    USER = "User"
    """The entity was created by a user."""
    APPLICATION = "Application"
    """The entity was created by an application."""
    MANAGED_IDENTITY = "ManagedIdentity"
    """The entity was created by a managed identity."""
    KEY = "Key"
    """The entity was created by a key."""


class EncryptionAtHost(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """EncryptionAtHost represents encryption at host state."""

    DISABLED = "Disabled"
    """Disabled."""
    ENABLED = "Enabled"
    """Enabled."""


class FipsValidatedModules(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """FipsValidatedModules determines if FIPS is used."""

    DISABLED = "Disabled"
    """Disabled."""
    ENABLED = "Enabled"
    """Enabled."""


class ManagedServiceIdentityType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Type of managed service identity (where both SystemAssigned and UserAssigned types are
    allowed).
    """

    NONE = "None"
    """No managed identity."""
    SYSTEM_ASSIGNED = "SystemAssigned"
    """System assigned managed identity."""
    USER_ASSIGNED = "UserAssigned"
    """User assigned managed identity."""
    SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned"
    """System and user assigned managed identity."""


class OutboundType(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """The outbound routing strategy used to provide your cluster egress to the internet."""

    LOADBALANCER = "Loadbalancer"
    """Loadbalancer."""
    USER_DEFINED_ROUTING = "UserDefinedRouting"
    """UserDefinedRouting."""


class PreconfiguredNSG(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """PreconfiguredNSG represents whether customers want to use their own NSG attached to the
    subnets.
    """

    DISABLED = "Disabled"
    """Disabled."""
    ENABLED = "Enabled"
    """Enabled."""


class ProvisioningState(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """ProvisioningState represents a provisioning state."""

    ADMIN_UPDATING = "AdminUpdating"
    """AdminUpdating."""
    CANCELED = "Canceled"
    """Canceled."""
    CREATING = "Creating"
    """Creating."""
    DELETING = "Deleting"
    """Deleting."""
    FAILED = "Failed"
    """Failed."""
    SUCCEEDED = "Succeeded"
    """Succeeded."""
    UPDATING = "Updating"
    """Updating."""


class Visibility(str, Enum, metaclass=CaseInsensitiveEnumMeta):
    """Visibility represents visibility."""

    PRIVATE = "Private"
    """Private."""
    PUBLIC = "Public"
    """Public."""
