content: {-# LANGUAGE DataKinds #-}
  {-# LANGUAGE DerivingStrategies #-}
  {-# LANGUAGE DuplicateRecordFields #-}
  {-# LANGUAGE ImportQualifiedPost #-}
  {-# LANGUAGE LambdaCase #-}
  {-# LANGUAGE OverloadedStrings #-}
  {-# LANGUAGE PatternSynonyms #-}
  {-# LANGUAGE RecordWildCards #-}
  {-# LANGUAGE StrictData #-}
  {-# LANGUAGE TypeFamilies #-}
  {-# LANGUAGE NoImplicitPrelude #-}
  {-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
  {-# OPTIONS_GHC -fno-warn-name-shadowing #-}
  {-# OPTIONS_GHC -fno-warn-unused-binds #-}
  {-# OPTIONS_GHC -fno-warn-unused-imports #-}
  {-# OPTIONS_GHC -fno-warn-unused-matches #-}
  
  -- |
  -- Module      : Gogol.File.Internal.Sum
  -- Copyright   : (c) 2015-2025 Brendan Hay
  -- License     : Mozilla Public License, v. 2.0.
  -- Maintainer  : Brendan Hay <brendan.g.hay+gogol@gmail.com>
  --               Toni Cebrián <toni@tonicebrian.com>
  -- Stability   : auto-generated
  -- Portability : non-portable (GHC extensions)
  module Gogol.File.Internal.Sum
    ( -- * Xgafv
      Xgafv
        ( Xgafv_1,
          Xgafv_2,
          ..
        ),
  
      -- * Backup_FileSystemProtocol
      Backup_FileSystemProtocol
        ( Backup_FileSystemProtocol_FILEPROTOCOLUNSPECIFIED,
          Backup_FileSystemProtocol_NFS_V3,
          Backup_FileSystemProtocol_NFS_V4_1,
          ..
        ),
  
      -- * Backup_SourceInstanceTier
      Backup_SourceInstanceTier
        ( Backup_SourceInstanceTier_TIERUNSPECIFIED,
          Backup_SourceInstanceTier_Standard,
          Backup_SourceInstanceTier_Premium,
          Backup_SourceInstanceTier_BASICHDD,
          Backup_SourceInstanceTier_BASICSSD,
          Backup_SourceInstanceTier_HIGHSCALESSD,
          Backup_SourceInstanceTier_Enterprise,
          Backup_SourceInstanceTier_Zonal,
          Backup_SourceInstanceTier_Regional,
          ..
        ),
  
      -- * Backup_State
      Backup_State
        ( Backup_State_STATEUNSPECIFIED,
          Backup_State_Creating,
          Backup_State_Finalizing,
          Backup_State_Ready,
          Backup_State_Deleting,
          Backup_State_Invalid,
          ..
        ),
  
      -- * GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
      GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
        ( GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_STATEUNSPECIFIED,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Creating,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Ready,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Updating,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Repairing,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Deleting,
          GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Error',
          ..
        ),
  
      -- * Instance_Protocol
      Instance_Protocol
        ( Instance_Protocol_FILEPROTOCOLUNSPECIFIED,
          Instance_Protocol_NFS_V3,
          Instance_Protocol_NFS_V4_1,
          ..
        ),
  
      -- * Instance_State
      Instance_State
        ( Instance_State_STATEUNSPECIFIED,
          Instance_State_Creating,
          Instance_State_Ready,
          Instance_State_Repairing,
          Instance_State_Deleting,
          Instance_State_Error',
          Instance_State_Restoring,
          Instance_State_Suspended,
          Instance_State_Suspending,
          Instance_State_Resuming,
          Instance_State_Reverting,
          Instance_State_Promoting,
          ..
        ),
  
      -- * Instance_SuspensionReasonsItem
      Instance_SuspensionReasonsItem
        ( Instance_SuspensionReasonsItem_SUSPENSIONREASONUNSPECIFIED,
          Instance_SuspensionReasonsItem_KMSKEYISSUE,
          ..
        ),
  
      -- * Instance_Tier
      Instance_Tier
        ( Instance_Tier_TIERUNSPECIFIED,
          Instance_Tier_Standard,
          Instance_Tier_Premium,
          Instance_Tier_BASICHDD,
          Instance_Tier_BASICSSD,
          Instance_Tier_HIGHSCALESSD,
          Instance_Tier_Enterprise,
          Instance_Tier_Zonal,
          Instance_Tier_Regional,
          ..
        ),
  
      -- * MaintenancePolicy_State
      MaintenancePolicy_State
        ( MaintenancePolicy_State_STATEUNSPECIFIED,
          MaintenancePolicy_State_Ready,
          MaintenancePolicy_State_Deleting,
          ..
        ),
  
      -- * NetworkConfig_ConnectMode
      NetworkConfig_ConnectMode
        ( NetworkConfig_ConnectMode_CONNECTMODEUNSPECIFIED,
          NetworkConfig_ConnectMode_DIRECTPEERING,
          NetworkConfig_ConnectMode_PRIVATESERVICEACCESS,
          ..
        ),
  
      -- * NetworkConfig_ModesItem
      NetworkConfig_ModesItem
        ( NetworkConfig_ModesItem_ADDRESSMODEUNSPECIFIED,
          NetworkConfig_ModesItem_MODE_IPV4,
          ..
        ),
  
      -- * NfsExportOptions_AccessMode
      NfsExportOptions_AccessMode
        ( NfsExportOptions_AccessMode_ACCESSMODEUNSPECIFIED,
          NfsExportOptions_AccessMode_READONLY,
          NfsExportOptions_AccessMode_READWRITE,
          ..
        ),
  
      -- * NfsExportOptions_SquashMode
      NfsExportOptions_SquashMode
        ( NfsExportOptions_SquashMode_SQUASHMODEUNSPECIFIED,
          NfsExportOptions_SquashMode_NOROOTSQUASH,
          NfsExportOptions_SquashMode_ROOTSQUASH,
          ..
        ),
  
      -- * ReplicaConfig_State
      ReplicaConfig_State
        ( ReplicaConfig_State_STATEUNSPECIFIED,
          ReplicaConfig_State_Creating,
          ReplicaConfig_State_Ready,
          ReplicaConfig_State_Removing,
          ReplicaConfig_State_Failed,
          ..
        ),
  
      -- * ReplicaConfig_StateReasonsItem
      ReplicaConfig_StateReasonsItem
        ( ReplicaConfig_StateReasonsItem_STATEREASONUNSPECIFIED,
          ReplicaConfig_StateReasonsItem_PEERINSTANCEUNREACHABLE,
          ReplicaConfig_StateReasonsItem_REMOVEFAILED,
          ..
        ),
  
      -- * Replication_Role
      Replication_Role
        ( Replication_Role_ROLEUNSPECIFIED,
          Replication_Role_Active,
          Replication_Role_Standby,
          ..
        ),
  
      -- * Schedule_Day
      Schedule_Day
        ( Schedule_Day_DAYOFWEEKUNSPECIFIED,
          Schedule_Day_Monday,
          Schedule_Day_Tuesday,
          Schedule_Day_Wednesday,
          Schedule_Day_Thursday,
          Schedule_Day_Friday,
          Schedule_Day_Saturday,
          Schedule_Day_Sunday,
          ..
        ),
  
      -- * Snapshot_State
      Snapshot_State
        ( Snapshot_State_STATEUNSPECIFIED,
          Snapshot_State_Creating,
          Snapshot_State_Ready,
          Snapshot_State_Deleting,
          ..
        ),
  
      -- * UpdatePolicy_Channel
      UpdatePolicy_Channel
        ( UpdatePolicy_Channel_UPDATECHANNELUNSPECIFIED,
          UpdatePolicy_Channel_Earlier,
          UpdatePolicy_Channel_Later,
          UpdatePolicy_Channel_WEEK1,
          UpdatePolicy_Channel_WEEK2,
          UpdatePolicy_Channel_WEEK5,
          ..
        ),
    )
  where
  
  import Gogol.Prelude qualified as Core
  
  -- | V1 error format.
  newtype Xgafv = Xgafv {fromXgafv :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | v1 error format
  pattern Xgafv_1 :: Xgafv
  pattern Xgafv_1 = Xgafv "1"
  
  -- | v2 error format
  pattern Xgafv_2 :: Xgafv
  pattern Xgafv_2 = Xgafv "2"
  
  {-# COMPLETE
    Xgafv_1,
    Xgafv_2,
    Xgafv
    #-}
  
  -- | Output only. The file system protocol of the source Filestore instance that this backup is created from.
  newtype Backup_FileSystemProtocol = Backup_FileSystemProtocol {fromBackup_FileSystemProtocol :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | FILE/PROTOCOL/UNSPECIFIED serves a \"not set\" default value when a FileProtocol is a separate field in a message.
  pattern Backup_FileSystemProtocol_FILEPROTOCOLUNSPECIFIED :: Backup_FileSystemProtocol
  pattern Backup_FileSystemProtocol_FILEPROTOCOLUNSPECIFIED = Backup_FileSystemProtocol "FILE_PROTOCOL_UNSPECIFIED"
  
  -- | NFS 3.0.
  pattern Backup_FileSystemProtocol_NFS_V3 :: Backup_FileSystemProtocol
  pattern Backup_FileSystemProtocol_NFS_V3 = Backup_FileSystemProtocol "NFS_V3"
  
  -- | NFS 4.1.
  pattern Backup_FileSystemProtocol_NFS_V4_1 :: Backup_FileSystemProtocol
  pattern Backup_FileSystemProtocol_NFS_V4_1 = Backup_FileSystemProtocol "NFS_V4_1"
  
  {-# COMPLETE
    Backup_FileSystemProtocol_FILEPROTOCOLUNSPECIFIED,
    Backup_FileSystemProtocol_NFS_V3,
    Backup_FileSystemProtocol_NFS_V4_1,
    Backup_FileSystemProtocol
    #-}
  
  -- | Output only. The service tier of the source Filestore instance that this backup is created from.
  newtype Backup_SourceInstanceTier = Backup_SourceInstanceTier {fromBackup_SourceInstanceTier :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Not set.
  pattern Backup_SourceInstanceTier_TIERUNSPECIFIED :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_TIERUNSPECIFIED = Backup_SourceInstanceTier "TIER_UNSPECIFIED"
  
  -- | STANDARD tier. BASIC_HDD is the preferred term for this tier.
  pattern Backup_SourceInstanceTier_Standard :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_Standard = Backup_SourceInstanceTier "STANDARD"
  
  -- | PREMIUM tier. BASIC_SSD is the preferred term for this tier.
  pattern Backup_SourceInstanceTier_Premium :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_Premium = Backup_SourceInstanceTier "PREMIUM"
  
  -- | BASIC instances offer a maximum capacity of 63.9 TB. BASIC_HDD is an alias for STANDARD Tier, offering economical performance backed by HDD.
  pattern Backup_SourceInstanceTier_BASICHDD :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_BASICHDD = Backup_SourceInstanceTier "BASIC_HDD"
  
  -- | BASIC instances offer a maximum capacity of 63.9 TB. BASIC_SSD is an alias for PREMIUM Tier, and offers improved performance backed by SSD.
  pattern Backup_SourceInstanceTier_BASICSSD :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_BASICSSD = Backup_SourceInstanceTier "BASIC_SSD"
  
  -- | HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.
  pattern Backup_SourceInstanceTier_HIGHSCALESSD :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_HIGHSCALESSD = Backup_SourceInstanceTier "HIGH_SCALE_SSD"
  
  -- | ENTERPRISE instances offer the features and availability needed for mission-critical workloads.
  pattern Backup_SourceInstanceTier_Enterprise :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_Enterprise = Backup_SourceInstanceTier "ENTERPRISE"
  
  -- | ZONAL instances offer expanded capacity and performance scaling capabilities.
  pattern Backup_SourceInstanceTier_Zonal :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_Zonal = Backup_SourceInstanceTier "ZONAL"
  
  -- | REGIONAL instances offer the features and availability needed for mission-critical workloads.
  pattern Backup_SourceInstanceTier_Regional :: Backup_SourceInstanceTier
  pattern Backup_SourceInstanceTier_Regional = Backup_SourceInstanceTier "REGIONAL"
  
  {-# COMPLETE
    Backup_SourceInstanceTier_TIERUNSPECIFIED,
    Backup_SourceInstanceTier_Standard,
    Backup_SourceInstanceTier_Premium,
    Backup_SourceInstanceTier_BASICHDD,
    Backup_SourceInstanceTier_BASICSSD,
    Backup_SourceInstanceTier_HIGHSCALESSD,
    Backup_SourceInstanceTier_Enterprise,
    Backup_SourceInstanceTier_Zonal,
    Backup_SourceInstanceTier_Regional,
    Backup_SourceInstanceTier
    #-}
  
  -- | Output only. The backup state.
  newtype Backup_State = Backup_State {fromBackup_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State not set.
  pattern Backup_State_STATEUNSPECIFIED :: Backup_State
  pattern Backup_State_STATEUNSPECIFIED = Backup_State "STATE_UNSPECIFIED"
  
  -- | Backup is being created.
  pattern Backup_State_Creating :: Backup_State
  pattern Backup_State_Creating = Backup_State "CREATING"
  
  -- | Backup has been taken and the operation is being finalized. At this point, changes to the file share will not be reflected in the backup.
  pattern Backup_State_Finalizing :: Backup_State
  pattern Backup_State_Finalizing = Backup_State "FINALIZING"
  
  -- | Backup is available for use.
  pattern Backup_State_Ready :: Backup_State
  pattern Backup_State_Ready = Backup_State "READY"
  
  -- | Backup is being deleted.
  pattern Backup_State_Deleting :: Backup_State
  pattern Backup_State_Deleting = Backup_State "DELETING"
  
  -- | Backup is not valid and cannot be used for creating new instances or restoring existing instances.
  pattern Backup_State_Invalid :: Backup_State
  pattern Backup_State_Invalid = Backup_State "INVALID"
  
  {-# COMPLETE
    Backup_State_STATEUNSPECIFIED,
    Backup_State_Creating,
    Backup_State_Finalizing,
    Backup_State_Ready,
    Backup_State_Deleting,
    Backup_State_Invalid,
    Backup_State
    #-}
  
  -- | Output only. Current lifecycle state of the resource (e.g. if it\'s being created or ready to use).
  newtype GoogleCloudSaasacceleratorManagementProvidersV1Instance_State = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State {fromGoogleCloudSaasacceleratorManagementProvidersV1Instance_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified state.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_STATEUNSPECIFIED :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_STATEUNSPECIFIED = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "STATE_UNSPECIFIED"
  
  -- | Instance is being created.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Creating :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Creating = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "CREATING"
  
  -- | Instance has been created and is ready to use.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Ready :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Ready = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "READY"
  
  -- | Instance is being updated.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Updating :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Updating = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "UPDATING"
  
  -- | Instance is unheathy and under repair.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Repairing :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Repairing = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "REPAIRING"
  
  -- | Instance is being deleted.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Deleting :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Deleting = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "DELETING"
  
  -- | Instance encountered an error and is in indeterministic state.
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Error' :: GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
  pattern GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Error' = GoogleCloudSaasacceleratorManagementProvidersV1Instance_State "ERROR"
  
  {-# COMPLETE
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_STATEUNSPECIFIED,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Creating,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Ready,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Updating,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Repairing,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Deleting,
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State_Error',
    GoogleCloudSaasacceleratorManagementProvidersV1Instance_State
    #-}
  
  -- | Immutable. The protocol indicates the access protocol for all shares in the instance. This field is immutable and it cannot be changed after the instance has been created. Default value: @NFS_V3@.
  newtype Instance_Protocol = Instance_Protocol {fromInstance_Protocol :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | FILE/PROTOCOL/UNSPECIFIED serves a \"not set\" default value when a FileProtocol is a separate field in a message.
  pattern Instance_Protocol_FILEPROTOCOLUNSPECIFIED :: Instance_Protocol
  pattern Instance_Protocol_FILEPROTOCOLUNSPECIFIED = Instance_Protocol "FILE_PROTOCOL_UNSPECIFIED"
  
  -- | NFS 3.0.
  pattern Instance_Protocol_NFS_V3 :: Instance_Protocol
  pattern Instance_Protocol_NFS_V3 = Instance_Protocol "NFS_V3"
  
  -- | NFS 4.1.
  pattern Instance_Protocol_NFS_V4_1 :: Instance_Protocol
  pattern Instance_Protocol_NFS_V4_1 = Instance_Protocol "NFS_V4_1"
  
  {-# COMPLETE
    Instance_Protocol_FILEPROTOCOLUNSPECIFIED,
    Instance_Protocol_NFS_V3,
    Instance_Protocol_NFS_V4_1,
    Instance_Protocol
    #-}
  
  -- | Output only. The instance state.
  newtype Instance_State = Instance_State {fromInstance_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State not set.
  pattern Instance_State_STATEUNSPECIFIED :: Instance_State
  pattern Instance_State_STATEUNSPECIFIED = Instance_State "STATE_UNSPECIFIED"
  
  -- | The instance is being created.
  pattern Instance_State_Creating :: Instance_State
  pattern Instance_State_Creating = Instance_State "CREATING"
  
  -- | The instance is available for use.
  pattern Instance_State_Ready :: Instance_State
  pattern Instance_State_Ready = Instance_State "READY"
  
  -- | Work is being done on the instance. You can get further details from the @statusMessage@ field of the @Instance@ resource.
  pattern Instance_State_Repairing :: Instance_State
  pattern Instance_State_Repairing = Instance_State "REPAIRING"
  
  -- | The instance is shutting down.
  pattern Instance_State_Deleting :: Instance_State
  pattern Instance_State_Deleting = Instance_State "DELETING"
  
  -- | The instance is experiencing an issue and might be unusable. You can get further details from the @statusMessage@ field of the @Instance@ resource.
  pattern Instance_State_Error' :: Instance_State
  pattern Instance_State_Error' = Instance_State "ERROR"
  
  -- | The instance is restoring a backup to an existing file share and may be unusable during this time.
  pattern Instance_State_Restoring :: Instance_State
  pattern Instance_State_Restoring = Instance_State "RESTORING"
  
  -- | The instance is suspended. You can get further details from the @suspension_reasons@ field of the @Instance@ resource.
  pattern Instance_State_Suspended :: Instance_State
  pattern Instance_State_Suspended = Instance_State "SUSPENDED"
  
  -- | The instance is in the process of becoming suspended.
  pattern Instance_State_Suspending :: Instance_State
  pattern Instance_State_Suspending = Instance_State "SUSPENDING"
  
  -- | The instance is in the process of becoming active.
  pattern Instance_State_Resuming :: Instance_State
  pattern Instance_State_Resuming = Instance_State "RESUMING"
  
  -- | The instance is reverting to a snapshot.
  pattern Instance_State_Reverting :: Instance_State
  pattern Instance_State_Reverting = Instance_State "REVERTING"
  
  -- | The replica instance is being promoted.
  pattern Instance_State_Promoting :: Instance_State
  pattern Instance_State_Promoting = Instance_State "PROMOTING"
  
  {-# COMPLETE
    Instance_State_STATEUNSPECIFIED,
    Instance_State_Creating,
    Instance_State_Ready,
    Instance_State_Repairing,
    Instance_State_Deleting,
    Instance_State_Error',
    Instance_State_Restoring,
    Instance_State_Suspended,
    Instance_State_Suspending,
    Instance_State_Resuming,
    Instance_State_Reverting,
    Instance_State_Promoting,
    Instance_State
    #-}
  
  newtype Instance_SuspensionReasonsItem = Instance_SuspensionReasonsItem {fromInstance_SuspensionReasonsItem :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Not set.
  pattern Instance_SuspensionReasonsItem_SUSPENSIONREASONUNSPECIFIED :: Instance_SuspensionReasonsItem
  pattern Instance_SuspensionReasonsItem_SUSPENSIONREASONUNSPECIFIED = Instance_SuspensionReasonsItem "SUSPENSION_REASON_UNSPECIFIED"
  
  -- | The KMS key used by the instance is either revoked or denied access to.
  pattern Instance_SuspensionReasonsItem_KMSKEYISSUE :: Instance_SuspensionReasonsItem
  pattern Instance_SuspensionReasonsItem_KMSKEYISSUE = Instance_SuspensionReasonsItem "KMS_KEY_ISSUE"
  
  {-# COMPLETE
    Instance_SuspensionReasonsItem_SUSPENSIONREASONUNSPECIFIED,
    Instance_SuspensionReasonsItem_KMSKEYISSUE,
    Instance_SuspensionReasonsItem
    #-}
  
  -- | The service tier of the instance.
  newtype Instance_Tier = Instance_Tier {fromInstance_Tier :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Not set.
  pattern Instance_Tier_TIERUNSPECIFIED :: Instance_Tier
  pattern Instance_Tier_TIERUNSPECIFIED = Instance_Tier "TIER_UNSPECIFIED"
  
  -- | STANDARD tier. BASIC_HDD is the preferred term for this tier.
  pattern Instance_Tier_Standard :: Instance_Tier
  pattern Instance_Tier_Standard = Instance_Tier "STANDARD"
  
  -- | PREMIUM tier. BASIC_SSD is the preferred term for this tier.
  pattern Instance_Tier_Premium :: Instance_Tier
  pattern Instance_Tier_Premium = Instance_Tier "PREMIUM"
  
  -- | BASIC instances offer a maximum capacity of 63.9 TB. BASIC_HDD is an alias for STANDARD Tier, offering economical performance backed by HDD.
  pattern Instance_Tier_BASICHDD :: Instance_Tier
  pattern Instance_Tier_BASICHDD = Instance_Tier "BASIC_HDD"
  
  -- | BASIC instances offer a maximum capacity of 63.9 TB. BASIC_SSD is an alias for PREMIUM Tier, and offers improved performance backed by SSD.
  pattern Instance_Tier_BASICSSD :: Instance_Tier
  pattern Instance_Tier_BASICSSD = Instance_Tier "BASIC_SSD"
  
  -- | HIGH_SCALE instances offer expanded capacity and performance scaling capabilities.
  pattern Instance_Tier_HIGHSCALESSD :: Instance_Tier
  pattern Instance_Tier_HIGHSCALESSD = Instance_Tier "HIGH_SCALE_SSD"
  
  -- | ENTERPRISE instances offer the features and availability needed for mission-critical workloads.
  pattern Instance_Tier_Enterprise :: Instance_Tier
  pattern Instance_Tier_Enterprise = Instance_Tier "ENTERPRISE"
  
  -- | ZONAL instances offer expanded capacity and performance scaling capabilities.
  pattern Instance_Tier_Zonal :: Instance_Tier
  pattern Instance_Tier_Zonal = Instance_Tier "ZONAL"
  
  -- | REGIONAL instances offer the features and availability needed for mission-critical workloads.
  pattern Instance_Tier_Regional :: Instance_Tier
  pattern Instance_Tier_Regional = Instance_Tier "REGIONAL"
  
  {-# COMPLETE
    Instance_Tier_TIERUNSPECIFIED,
    Instance_Tier_Standard,
    Instance_Tier_Premium,
    Instance_Tier_BASICHDD,
    Instance_Tier_BASICSSD,
    Instance_Tier_HIGHSCALESSD,
    Instance_Tier_Enterprise,
    Instance_Tier_Zonal,
    Instance_Tier_Regional,
    Instance_Tier
    #-}
  
  -- | Optional. The state of the policy.
  newtype MaintenancePolicy_State = MaintenancePolicy_State {fromMaintenancePolicy_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified state.
  pattern MaintenancePolicy_State_STATEUNSPECIFIED :: MaintenancePolicy_State
  pattern MaintenancePolicy_State_STATEUNSPECIFIED = MaintenancePolicy_State "STATE_UNSPECIFIED"
  
  -- | Resource is ready to be used.
  pattern MaintenancePolicy_State_Ready :: MaintenancePolicy_State
  pattern MaintenancePolicy_State_Ready = MaintenancePolicy_State "READY"
  
  -- | Resource is being deleted. It can no longer be attached to instances.
  pattern MaintenancePolicy_State_Deleting :: MaintenancePolicy_State
  pattern MaintenancePolicy_State_Deleting = MaintenancePolicy_State "DELETING"
  
  {-# COMPLETE
    MaintenancePolicy_State_STATEUNSPECIFIED,
    MaintenancePolicy_State_Ready,
    MaintenancePolicy_State_Deleting,
    MaintenancePolicy_State
    #-}
  
  -- | The network connect mode of the Filestore instance. If not provided, the connect mode defaults to DIRECT_PEERING.
  newtype NetworkConfig_ConnectMode = NetworkConfig_ConnectMode {fromNetworkConfig_ConnectMode :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Not set.
  pattern NetworkConfig_ConnectMode_CONNECTMODEUNSPECIFIED :: NetworkConfig_ConnectMode
  pattern NetworkConfig_ConnectMode_CONNECTMODEUNSPECIFIED = NetworkConfig_ConnectMode "CONNECT_MODE_UNSPECIFIED"
  
  -- | Connect via direct peering to the Filestore service.
  pattern NetworkConfig_ConnectMode_DIRECTPEERING :: NetworkConfig_ConnectMode
  pattern NetworkConfig_ConnectMode_DIRECTPEERING = NetworkConfig_ConnectMode "DIRECT_PEERING"
  
  -- | Connect to your Filestore instance using Private Service Access. Private services access provides an IP address range for multiple Google Cloud services, including Filestore.
  pattern NetworkConfig_ConnectMode_PRIVATESERVICEACCESS :: NetworkConfig_ConnectMode
  pattern NetworkConfig_ConnectMode_PRIVATESERVICEACCESS = NetworkConfig_ConnectMode "PRIVATE_SERVICE_ACCESS"
  
  {-# COMPLETE
    NetworkConfig_ConnectMode_CONNECTMODEUNSPECIFIED,
    NetworkConfig_ConnectMode_DIRECTPEERING,
    NetworkConfig_ConnectMode_PRIVATESERVICEACCESS,
    NetworkConfig_ConnectMode
    #-}
  
  newtype NetworkConfig_ModesItem = NetworkConfig_ModesItem {fromNetworkConfig_ModesItem :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Internet protocol not set.
  pattern NetworkConfig_ModesItem_ADDRESSMODEUNSPECIFIED :: NetworkConfig_ModesItem
  pattern NetworkConfig_ModesItem_ADDRESSMODEUNSPECIFIED = NetworkConfig_ModesItem "ADDRESS_MODE_UNSPECIFIED"
  
  -- | Use the IPv4 internet protocol.
  pattern NetworkConfig_ModesItem_MODE_IPV4 :: NetworkConfig_ModesItem
  pattern NetworkConfig_ModesItem_MODE_IPV4 = NetworkConfig_ModesItem "MODE_IPV4"
  
  {-# COMPLETE
    NetworkConfig_ModesItem_ADDRESSMODEUNSPECIFIED,
    NetworkConfig_ModesItem_MODE_IPV4,
    NetworkConfig_ModesItem
    #-}
  
  -- | Either READ/ONLY, for allowing only read requests on the exported directory, or READ/WRITE, for allowing both read and write requests. The default is READ_WRITE.
  newtype NfsExportOptions_AccessMode = NfsExportOptions_AccessMode {fromNfsExportOptions_AccessMode :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | AccessMode not set.
  pattern NfsExportOptions_AccessMode_ACCESSMODEUNSPECIFIED :: NfsExportOptions_AccessMode
  pattern NfsExportOptions_AccessMode_ACCESSMODEUNSPECIFIED = NfsExportOptions_AccessMode "ACCESS_MODE_UNSPECIFIED"
  
  -- | The client can only read the file share.
  pattern NfsExportOptions_AccessMode_READONLY :: NfsExportOptions_AccessMode
  pattern NfsExportOptions_AccessMode_READONLY = NfsExportOptions_AccessMode "READ_ONLY"
  
  -- | The client can read and write the file share (default).
  pattern NfsExportOptions_AccessMode_READWRITE :: NfsExportOptions_AccessMode
  pattern NfsExportOptions_AccessMode_READWRITE = NfsExportOptions_AccessMode "READ_WRITE"
  
  {-# COMPLETE
    NfsExportOptions_AccessMode_ACCESSMODEUNSPECIFIED,
    NfsExportOptions_AccessMode_READONLY,
    NfsExportOptions_AccessMode_READWRITE,
    NfsExportOptions_AccessMode
    #-}
  
  -- | Either NO/ROOT/SQUASH, for allowing root access on the exported directory, or ROOT/SQUASH, for not allowing root access. The default is NO/ROOT_SQUASH.
  newtype NfsExportOptions_SquashMode = NfsExportOptions_SquashMode {fromNfsExportOptions_SquashMode :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | SquashMode not set.
  pattern NfsExportOptions_SquashMode_SQUASHMODEUNSPECIFIED :: NfsExportOptions_SquashMode
  pattern NfsExportOptions_SquashMode_SQUASHMODEUNSPECIFIED = NfsExportOptions_SquashMode "SQUASH_MODE_UNSPECIFIED"
  
  -- | The Root user has root access to the file share (default).
  pattern NfsExportOptions_SquashMode_NOROOTSQUASH :: NfsExportOptions_SquashMode
  pattern NfsExportOptions_SquashMode_NOROOTSQUASH = NfsExportOptions_SquashMode "NO_ROOT_SQUASH"
  
  -- | The Root user has squashed access to the anonymous uid\/gid.
  pattern NfsExportOptions_SquashMode_ROOTSQUASH :: NfsExportOptions_SquashMode
  pattern NfsExportOptions_SquashMode_ROOTSQUASH = NfsExportOptions_SquashMode "ROOT_SQUASH"
  
  {-# COMPLETE
    NfsExportOptions_SquashMode_SQUASHMODEUNSPECIFIED,
    NfsExportOptions_SquashMode_NOROOTSQUASH,
    NfsExportOptions_SquashMode_ROOTSQUASH,
    NfsExportOptions_SquashMode
    #-}
  
  -- | Output only. The replica state.
  newtype ReplicaConfig_State = ReplicaConfig_State {fromReplicaConfig_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State not set.
  pattern ReplicaConfig_State_STATEUNSPECIFIED :: ReplicaConfig_State
  pattern ReplicaConfig_State_STATEUNSPECIFIED = ReplicaConfig_State "STATE_UNSPECIFIED"
  
  -- | The replica is being created.
  pattern ReplicaConfig_State_Creating :: ReplicaConfig_State
  pattern ReplicaConfig_State_Creating = ReplicaConfig_State "CREATING"
  
  -- | The replica is ready.
  pattern ReplicaConfig_State_Ready :: ReplicaConfig_State
  pattern ReplicaConfig_State_Ready = ReplicaConfig_State "READY"
  
  -- | The replica is being removed.
  pattern ReplicaConfig_State_Removing :: ReplicaConfig_State
  pattern ReplicaConfig_State_Removing = ReplicaConfig_State "REMOVING"
  
  -- | The replica is experiencing an issue and might be unusable. You can get further details from the @stateReasons@ field of the @ReplicaConfig@ object.
  pattern ReplicaConfig_State_Failed :: ReplicaConfig_State
  pattern ReplicaConfig_State_Failed = ReplicaConfig_State "FAILED"
  
  {-# COMPLETE
    ReplicaConfig_State_STATEUNSPECIFIED,
    ReplicaConfig_State_Creating,
    ReplicaConfig_State_Ready,
    ReplicaConfig_State_Removing,
    ReplicaConfig_State_Failed,
    ReplicaConfig_State
    #-}
  
  newtype ReplicaConfig_StateReasonsItem = ReplicaConfig_StateReasonsItem {fromReplicaConfig_StateReasonsItem :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Reason not specified.
  pattern ReplicaConfig_StateReasonsItem_STATEREASONUNSPECIFIED :: ReplicaConfig_StateReasonsItem
  pattern ReplicaConfig_StateReasonsItem_STATEREASONUNSPECIFIED = ReplicaConfig_StateReasonsItem "STATE_REASON_UNSPECIFIED"
  
  -- | The peer instance is unreachable.
  pattern ReplicaConfig_StateReasonsItem_PEERINSTANCEUNREACHABLE :: ReplicaConfig_StateReasonsItem
  pattern ReplicaConfig_StateReasonsItem_PEERINSTANCEUNREACHABLE = ReplicaConfig_StateReasonsItem "PEER_INSTANCE_UNREACHABLE"
  
  -- | The remove replica peer instance operation failed.
  pattern ReplicaConfig_StateReasonsItem_REMOVEFAILED :: ReplicaConfig_StateReasonsItem
  pattern ReplicaConfig_StateReasonsItem_REMOVEFAILED = ReplicaConfig_StateReasonsItem "REMOVE_FAILED"
  
  {-# COMPLETE
    ReplicaConfig_StateReasonsItem_STATEREASONUNSPECIFIED,
    ReplicaConfig_StateReasonsItem_PEERINSTANCEUNREACHABLE,
    ReplicaConfig_StateReasonsItem_REMOVEFAILED,
    ReplicaConfig_StateReasonsItem
    #-}
  
  -- | Optional. The replication role.
  newtype Replication_Role = Replication_Role {fromReplication_Role :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Role not set.
  pattern Replication_Role_ROLEUNSPECIFIED :: Replication_Role
  pattern Replication_Role_ROLEUNSPECIFIED = Replication_Role "ROLE_UNSPECIFIED"
  
  -- | The instance is the @ACTIVE@ replication member, functions as the replication source instance.
  pattern Replication_Role_Active :: Replication_Role
  pattern Replication_Role_Active = Replication_Role "ACTIVE"
  
  -- | The instance is the @STANDBY@ replication member, functions as the replication destination instance.
  pattern Replication_Role_Standby :: Replication_Role
  pattern Replication_Role_Standby = Replication_Role "STANDBY"
  
  {-# COMPLETE
    Replication_Role_ROLEUNSPECIFIED,
    Replication_Role_Active,
    Replication_Role_Standby,
    Replication_Role
    #-}
  
  -- | Allows to define schedule that runs specified day of the week.
  newtype Schedule_Day = Schedule_Day {fromSchedule_Day :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | The day of the week is unspecified.
  pattern Schedule_Day_DAYOFWEEKUNSPECIFIED :: Schedule_Day
  pattern Schedule_Day_DAYOFWEEKUNSPECIFIED = Schedule_Day "DAY_OF_WEEK_UNSPECIFIED"
  
  -- | Monday
  pattern Schedule_Day_Monday :: Schedule_Day
  pattern Schedule_Day_Monday = Schedule_Day "MONDAY"
  
  -- | Tuesday
  pattern Schedule_Day_Tuesday :: Schedule_Day
  pattern Schedule_Day_Tuesday = Schedule_Day "TUESDAY"
  
  -- | Wednesday
  pattern Schedule_Day_Wednesday :: Schedule_Day
  pattern Schedule_Day_Wednesday = Schedule_Day "WEDNESDAY"
  
  -- | Thursday
  pattern Schedule_Day_Thursday :: Schedule_Day
  pattern Schedule_Day_Thursday = Schedule_Day "THURSDAY"
  
  -- | Friday
  pattern Schedule_Day_Friday :: Schedule_Day
  pattern Schedule_Day_Friday = Schedule_Day "FRIDAY"
  
  -- | Saturday
  pattern Schedule_Day_Saturday :: Schedule_Day
  pattern Schedule_Day_Saturday = Schedule_Day "SATURDAY"
  
  -- | Sunday
  pattern Schedule_Day_Sunday :: Schedule_Day
  pattern Schedule_Day_Sunday = Schedule_Day "SUNDAY"
  
  {-# COMPLETE
    Schedule_Day_DAYOFWEEKUNSPECIFIED,
    Schedule_Day_Monday,
    Schedule_Day_Tuesday,
    Schedule_Day_Wednesday,
    Schedule_Day_Thursday,
    Schedule_Day_Friday,
    Schedule_Day_Saturday,
    Schedule_Day_Sunday,
    Schedule_Day
    #-}
  
  -- | Output only. The snapshot state.
  newtype Snapshot_State = Snapshot_State {fromSnapshot_State :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | State not set.
  pattern Snapshot_State_STATEUNSPECIFIED :: Snapshot_State
  pattern Snapshot_State_STATEUNSPECIFIED = Snapshot_State "STATE_UNSPECIFIED"
  
  -- | Snapshot is being created.
  pattern Snapshot_State_Creating :: Snapshot_State
  pattern Snapshot_State_Creating = Snapshot_State "CREATING"
  
  -- | Snapshot is available for use.
  pattern Snapshot_State_Ready :: Snapshot_State
  pattern Snapshot_State_Ready = Snapshot_State "READY"
  
  -- | Snapshot is being deleted.
  pattern Snapshot_State_Deleting :: Snapshot_State
  pattern Snapshot_State_Deleting = Snapshot_State "DELETING"
  
  {-# COMPLETE
    Snapshot_State_STATEUNSPECIFIED,
    Snapshot_State_Creating,
    Snapshot_State_Ready,
    Snapshot_State_Deleting,
    Snapshot_State
    #-}
  
  -- | Optional. Relative scheduling channel applied to resource.
  newtype UpdatePolicy_Channel = UpdatePolicy_Channel {fromUpdatePolicy_Channel :: Core.Text}
    deriving stock (Core.Show, Core.Read, Core.Eq, Core.Ord, Core.Generic)
    deriving newtype
      ( Core.Hashable,
        Core.ToHttpApiData,
        Core.FromHttpApiData,
        Core.ToJSON,
        Core.ToJSONKey,
        Core.FromJSON,
        Core.FromJSONKey
      )
  
  -- | Unspecified channel.
  pattern UpdatePolicy_Channel_UPDATECHANNELUNSPECIFIED :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_UPDATECHANNELUNSPECIFIED = UpdatePolicy_Channel "UPDATE_CHANNEL_UNSPECIFIED"
  
  -- | Early channel within a customer project.
  pattern UpdatePolicy_Channel_Earlier :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_Earlier = UpdatePolicy_Channel "EARLIER"
  
  -- | Later channel within a customer project.
  pattern UpdatePolicy_Channel_Later :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_Later = UpdatePolicy_Channel "LATER"
  
  -- | ! ! The follow channels can ONLY be used if you adopt the new MW system! ! ! NOTE: all WEEK channels are assumed to be under a weekly window. ! There is currently no dedicated channel definitions for Daily windows. ! If you use Daily window, the system will assume a 1d (24Hours) advanced ! notification period b\/w EARLY and LATER. ! We may consider support more flexible daily channel specifications in ! the future. WEEK1 == EARLIER with minimum 7d advanced notification. {7d, 14d} The system will treat them equally and will use WEEK1 whenever it can. New customers are encouraged to use this channel annotation.
  pattern UpdatePolicy_Channel_WEEK1 :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_WEEK1 = UpdatePolicy_Channel "WEEK1"
  
  -- | WEEK2 == LATER with minimum 14d advanced notification {14d, 21d}.
  pattern UpdatePolicy_Channel_WEEK2 :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_WEEK2 = UpdatePolicy_Channel "WEEK2"
  
  -- | WEEK5 == 40d support. minimum 35d advanced notification {35d, 42d}.
  pattern UpdatePolicy_Channel_WEEK5 :: UpdatePolicy_Channel
  pattern UpdatePolicy_Channel_WEEK5 = UpdatePolicy_Channel "WEEK5"
  
  {-# COMPLETE
    UpdatePolicy_Channel_UPDATECHANNELUNSPECIFIED,
    UpdatePolicy_Channel_Earlier,
    UpdatePolicy_Channel_Later,
    UpdatePolicy_Channel_WEEK1,
    UpdatePolicy_Channel_WEEK2,
    UpdatePolicy_Channel_WEEK5,
    UpdatePolicy_Channel
    #-}
  