text: # 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) AutoRest Code Generator.
  # Changes may cause incorrect behavior and will be lost if the code is regenerated.
  # --------------------------------------------------------------------------
  
  from enum import Enum, EnumMeta
  from six import with_metaclass
  
  class _CaseInsensitiveEnumMeta(EnumMeta):
      def __getitem__(self, name):
          return super().__getitem__(name.upper())
  
      def __getattr__(cls, name):
          """Return the enum member matching `name`
          We use __getattr__ instead of descriptors or inserting into the enum
          class' __dict__ in order to support `name` and `value` being both
          properties for enum members (which live in the class' __dict__) and
          enum members themselves.
          """
          try:
              return cls._member_map_[name.upper()]
          except KeyError:
              raise AttributeError(name)
  
  
  class ActionStatusEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Describes whether the order item is deletable or not.
      """
  
      #: Allowed flag.
      ALLOWED = "Allowed"
      #: Not Allowed flag.
      NOT_ALLOWED = "NotAllowed"
  
  class ActionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
      """
  
      INTERNAL = "Internal"
  
  class AddressType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Type of address.
      """
  
      #: Address type not known.
      NONE = "None"
      #: Residential Address.
      RESIDENTIAL = "Residential"
      #: Commercial Address.
      COMMERCIAL = "Commercial"
  
  class AvailabilityStage(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Current availability stage of the product. Availability stage
      """
  
      #: Product is available.
      AVAILABLE = "Available"
      #: Product is coming soon.
      COMING_SOON = "ComingSoon"
      #: Product is in preview.
      PREVIEW = "Preview"
      #: Product is deprecated.
      DEPRECATED = "Deprecated"
      #: Product is available only on signup.
      SIGNUP = "Signup"
      #: Product is not available.
      UNAVAILABLE = "Unavailable"
  
  class BillingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Represents billing type.
      """
  
      #: PaV2 billing.
      PAV2 = "Pav2"
      #: Purchase billing.
      PURCHASE = "Purchase"
  
  class ChargingType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Charging type.
      """
  
      #: Per order charging type.
      PER_ORDER = "PerOrder"
      #: Per device charging type.
      PER_DEVICE = "PerDevice"
  
  class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """The type of identity that created the resource.
      """
  
      USER = "User"
      APPLICATION = "Application"
      MANAGED_IDENTITY = "ManagedIdentity"
      KEY = "Key"
  
  class DescriptionType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Type of description.
      """
  
      #: Base description.
      BASE = "Base"
  
  class DisabledReason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Reason why the product is disabled.
      """
  
      #: Not disabled.
      NONE = "None"
      #: Not available in the requested country.
      COUNTRY = "Country"
      #: Not available to push data to the requested Azure region.
      REGION = "Region"
      #: Required features are not enabled.
      FEATURE = "Feature"
      #: Subscription does not have required offer types.
      OFFER_TYPE = "OfferType"
      #: Subscription has not registered to Microsoft.DataBox and Service does not have the subscription
      #: notification.
      NO_SUBSCRIPTION_INFO = "NoSubscriptionInfo"
      #: The product is not yet available.
      NOT_AVAILABLE = "NotAvailable"
      #: The product is out of stock.
      OUT_OF_STOCK = "OutOfStock"
  
  class DoubleEncryptionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Double encryption status as entered by the customer. It is compulsory to give this parameter if
      the 'Deny' or 'Disabled' policy is configured.
      """
  
      #: Double encryption is disabled.
      DISABLED = "Disabled"
      #: Double encryption is enabled.
      ENABLED = "Enabled"
  
  class ImageType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Type of the image
      """
  
      #: Main image.
      MAIN_IMAGE = "MainImage"
      #: Bullet image.
      BULLET_IMAGE = "BulletImage"
      #: Generic image.
      GENERIC_IMAGE = "GenericImage"
  
  class LengthHeightUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Unit for the dimensions of length, height and width.
      """
  
      #: Inch, applicable for West US.
      IN_ENUM = "IN"
      #: Centimeter.
      CM = "CM"
  
  class LinkType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Type of link
      """
  
      #: Generic link.
      GENERIC = "Generic"
      #: Terms and conditions link.
      TERMS_AND_CONDITIONS = "TermsAndConditions"
      #: Link to product specification.
      SPECIFICATION = "Specification"
      #: Link to product documentation.
      DOCUMENTATION = "Documentation"
      #: Link to know more.
      KNOW_MORE = "KnowMore"
      #: Link to sign up for products.
      SIGN_UP = "SignUp"
  
  class MeteringType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Represents Metering type (eg one-time or recurrent)
      """
  
      #: One time billing.
      ONE_TIME = "OneTime"
      #: Recurring billing.
      RECURRING = "Recurring"
      #: Adhoc billing.
      ADHOC = "Adhoc"
  
  class NotificationStageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Name of the stage.
      """
  
      #: Notification at order item shipped from microsoft datacenter.
      SHIPPED = "Shipped"
      #: Notification at order item delivered to customer.
      DELIVERED = "Delivered"
  
  class OrderItemCancellationEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Describes whether the order item is cancellable or not.
      """
  
      #: Order item can be cancelled without fee.
      CANCELLABLE = "Cancellable"
      #: Order item can be cancelled with fee.
      CANCELLABLE_WITH_FEE = "CancellableWithFee"
      #: Order item not cancellable.
      NOT_CANCELLABLE = "NotCancellable"
  
  class OrderItemReturnEnum(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Describes whether the order item is returnable or not.
      """
  
      #: Order item can be returned without fee.
      RETURNABLE = "Returnable"
      #: Order item can be returned with fee.
      RETURNABLE_WITH_FEE = "ReturnableWithFee"
      #: Order item not returnable.
      NOT_RETURNABLE = "NotReturnable"
  
  class OrderItemType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Order item type.
      """
  
      #: Purchase OrderItem.
      PURCHASE = "Purchase"
      #: Rental OrderItem.
      RENTAL = "Rental"
  
  class Origin(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit
      logs UX. Default value is "user,system"
      """
  
      USER = "user"
      SYSTEM = "system"
      USER_SYSTEM = "user,system"
  
  class StageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Stage name
      """
  
      #: Currently in draft mode and can still be cancelled.
      PLACED = "Placed"
      #: Order is currently in draft mode and can still be cancelled.
      IN_REVIEW = "InReview"
      #: Order is confirmed.
      CONFIRMED = "Confirmed"
      #: Order is ready to ship.
      READY_TO_SHIP = "ReadyToShip"
      #: Order is in transit to customer.
      SHIPPED = "Shipped"
      #: Order is delivered to customer.
      DELIVERED = "Delivered"
      #: Order is in use at customer site.
      IN_USE = "InUse"
      #: Return has been initiated by customer.
      RETURN_INITIATED = "ReturnInitiated"
      #: Order is in transit from customer to microsoft.
      RETURN_PICKED_UP = "ReturnPickedUp"
      #: Order has been received back to microsoft.
      RETURNED_TO_MICROSOFT = "ReturnedToMicrosoft"
      #: Return has now completed.
      RETURN_COMPLETED = "ReturnCompleted"
      #: Order has been cancelled.
      CANCELLED = "Cancelled"
  
  class StageStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Stage status.
      """
  
      #: No status available yet.
      NONE = "None"
      #: Stage is in progress.
      IN_PROGRESS = "InProgress"
      #: Stage has succeeded.
      SUCCEEDED = "Succeeded"
      #: Stage has failed.
      FAILED = "Failed"
      #: Stage has been cancelled.
      CANCELLED = "Cancelled"
      #: Stage is cancelling.
      CANCELLING = "Cancelling"
  
  class SupportedFilterTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Type of product filter.
      """
  
      #: Ship to country.
      SHIP_TO_COUNTRIES = "ShipToCountries"
      #: Double encryption status.
      DOUBLE_ENCRYPTION_STATUS = "DoubleEncryptionStatus"
  
  class TransportShipmentTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Indicates Shipment Logistics type that the customer preferred.
      """
  
      #: Shipment Logistics is handled by the customer.
      CUSTOMER_MANAGED = "CustomerManaged"
      #: Shipment Logistics is handled by Microsoft.
      MICROSOFT_MANAGED = "MicrosoftManaged"
  
  class WeightMeasurementUnit(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)):
      """Unit for the dimensions of weight.
      """
  
      #: Pounds.
      LBS = "LBS"
      #: Kilograms.
      KGS = "KGS"
  