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.Compute.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.Compute.Internal.Sum
    ( -- * Xgafv
      Xgafv
        ( Xgafv_1,
          Xgafv_2,
          ..
        ),
  
      -- * AcceleratorTypeAggregatedList_Warning_Code
      AcceleratorTypeAggregatedList_Warning_Code
        ( AcceleratorTypeAggregatedList_Warning_Code_CLEANUPFAILED,
          AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          AcceleratorTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AcceleratorTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AcceleratorTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          AcceleratorTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AcceleratorTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AcceleratorTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AcceleratorTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AcceleratorTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AcceleratorTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          AcceleratorTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
          AcceleratorTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
          AcceleratorTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
          AcceleratorTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AcceleratorTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AcceleratorTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AcceleratorTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
          AcceleratorTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AcceleratorTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AcceleratorTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          AcceleratorTypeAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AcceleratorTypeList_Warning_Code
      AcceleratorTypeList_Warning_Code
        ( AcceleratorTypeList_Warning_Code_CLEANUPFAILED,
          AcceleratorTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AcceleratorTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          AcceleratorTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AcceleratorTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          AcceleratorTypeList_Warning_Code_EXTERNALAPIWARNING,
          AcceleratorTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          AcceleratorTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AcceleratorTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AcceleratorTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AcceleratorTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AcceleratorTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AcceleratorTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AcceleratorTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AcceleratorTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          AcceleratorTypeList_Warning_Code_NOTCRITICALERROR,
          AcceleratorTypeList_Warning_Code_NORESULTSONPAGE,
          AcceleratorTypeList_Warning_Code_PARTIALSUCCESS,
          AcceleratorTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AcceleratorTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          AcceleratorTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AcceleratorTypeList_Warning_Code_RESOURCENOTDELETED,
          AcceleratorTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AcceleratorTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AcceleratorTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          AcceleratorTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AcceleratorTypesScopedList_Warning_Code
      AcceleratorTypesScopedList_Warning_Code
        ( AcceleratorTypesScopedList_Warning_Code_CLEANUPFAILED,
          AcceleratorTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AcceleratorTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          AcceleratorTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AcceleratorTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AcceleratorTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
          AcceleratorTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AcceleratorTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AcceleratorTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AcceleratorTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AcceleratorTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AcceleratorTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AcceleratorTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          AcceleratorTypesScopedList_Warning_Code_NOTCRITICALERROR,
          AcceleratorTypesScopedList_Warning_Code_NORESULTSONPAGE,
          AcceleratorTypesScopedList_Warning_Code_PARTIALSUCCESS,
          AcceleratorTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AcceleratorTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AcceleratorTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AcceleratorTypesScopedList_Warning_Code_RESOURCENOTDELETED,
          AcceleratorTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AcceleratorTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AcceleratorTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          AcceleratorTypesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AccessConfig_NetworkTier
      AccessConfig_NetworkTier
        ( AccessConfig_NetworkTier_FIXEDSTANDARD,
          AccessConfig_NetworkTier_Premium,
          AccessConfig_NetworkTier_Standard,
          AccessConfig_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * AccessConfig_Type
      AccessConfig_Type
        ( AccessConfig_Type_DIRECT_IPV6,
          AccessConfig_Type_ONETOONENAT,
          ..
        ),
  
      -- * Address_AddressType
      Address_AddressType
        ( Address_AddressType_External,
          Address_AddressType_Internal,
          Address_AddressType_UNSPECIFIEDTYPE,
          ..
        ),
  
      -- * Address_IpVersion
      Address_IpVersion
        ( Address_IpVersion_IPV4,
          Address_IpVersion_IPV6,
          Address_IpVersion_UNSPECIFIEDVERSION,
          ..
        ),
  
      -- * Address_Ipv6EndpointType
      Address_Ipv6EndpointType
        ( Address_Ipv6EndpointType_Netlb,
          Address_Ipv6EndpointType_VM,
          ..
        ),
  
      -- * Address_NetworkTier
      Address_NetworkTier
        ( Address_NetworkTier_FIXEDSTANDARD,
          Address_NetworkTier_Premium,
          Address_NetworkTier_Standard,
          Address_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * Address_Purpose
      Address_Purpose
        ( Address_Purpose_DNSRESOLVER,
          Address_Purpose_GCEENDPOINT,
          Address_Purpose_IPSECINTERCONNECT,
          Address_Purpose_NATAUTO,
          Address_Purpose_PRIVATESERVICECONNECT,
          Address_Purpose_Serverless,
          Address_Purpose_SHAREDLOADBALANCERVIP,
          Address_Purpose_VPCPEERING,
          ..
        ),
  
      -- * Address_Status
      Address_Status
        ( Address_Status_INUSE,
          Address_Status_Reserved,
          Address_Status_Reserving,
          ..
        ),
  
      -- * AddressAggregatedList_Warning_Code
      AddressAggregatedList_Warning_Code
        ( AddressAggregatedList_Warning_Code_CLEANUPFAILED,
          AddressAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AddressAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          AddressAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AddressAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AddressAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          AddressAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AddressAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AddressAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AddressAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AddressAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AddressAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AddressAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AddressAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AddressAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AddressAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          AddressAggregatedList_Warning_Code_NOTCRITICALERROR,
          AddressAggregatedList_Warning_Code_NORESULTSONPAGE,
          AddressAggregatedList_Warning_Code_PARTIALSUCCESS,
          AddressAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AddressAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AddressAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AddressAggregatedList_Warning_Code_RESOURCENOTDELETED,
          AddressAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AddressAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AddressAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          AddressAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AddressList_Warning_Code
      AddressList_Warning_Code
        ( AddressList_Warning_Code_CLEANUPFAILED,
          AddressList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AddressList_Warning_Code_DEPRECATEDTYPEUSED,
          AddressList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AddressList_Warning_Code_EXPERIMENTALTYPEUSED,
          AddressList_Warning_Code_EXTERNALAPIWARNING,
          AddressList_Warning_Code_FIELDVALUEOVERRIDEN,
          AddressList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AddressList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AddressList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AddressList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AddressList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AddressList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AddressList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AddressList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AddressList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AddressList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AddressList_Warning_Code_NEXTHOPNOTRUNNING,
          AddressList_Warning_Code_NOTCRITICALERROR,
          AddressList_Warning_Code_NORESULTSONPAGE,
          AddressList_Warning_Code_PARTIALSUCCESS,
          AddressList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AddressList_Warning_Code_REQUIREDTOSAGREEMENT,
          AddressList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AddressList_Warning_Code_RESOURCENOTDELETED,
          AddressList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AddressList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AddressList_Warning_Code_UNDECLAREDPROPERTIES,
          AddressList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AddressesScopedList_Warning_Code
      AddressesScopedList_Warning_Code
        ( AddressesScopedList_Warning_Code_CLEANUPFAILED,
          AddressesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AddressesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          AddressesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AddressesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AddressesScopedList_Warning_Code_EXTERNALAPIWARNING,
          AddressesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AddressesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AddressesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AddressesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AddressesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AddressesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AddressesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AddressesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AddressesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AddressesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          AddressesScopedList_Warning_Code_NOTCRITICALERROR,
          AddressesScopedList_Warning_Code_NORESULTSONPAGE,
          AddressesScopedList_Warning_Code_PARTIALSUCCESS,
          AddressesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AddressesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AddressesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AddressesScopedList_Warning_Code_RESOURCENOTDELETED,
          AddressesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AddressesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AddressesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          AddressesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AdvancedMachineFeatures_PerformanceMonitoringUnit
      AdvancedMachineFeatures_PerformanceMonitoringUnit
        ( AdvancedMachineFeatures_PerformanceMonitoringUnit_Architectural,
          AdvancedMachineFeatures_PerformanceMonitoringUnit_Enhanced,
          AdvancedMachineFeatures_PerformanceMonitoringUnit_PERFORMANCEMONITORINGUNITUNSPECIFIED,
          AdvancedMachineFeatures_PerformanceMonitoringUnit_Standard,
          ..
        ),
  
      -- * AllocationAggregateReservation_VmFamily
      AllocationAggregateReservation_VmFamily
        ( AllocationAggregateReservation_VmFamily_VM_FAMILY_CLOUD_TPU_DEVICE_CT3,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEDEVICECT5L,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT5LP,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT6E,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT3P,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT4P,
          AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT5P,
          ..
        ),
  
      -- * AllocationAggregateReservation_WorkloadType
      AllocationAggregateReservation_WorkloadType
        ( AllocationAggregateReservation_WorkloadType_Batch,
          AllocationAggregateReservation_WorkloadType_Serving,
          AllocationAggregateReservation_WorkloadType_Unspecified,
          ..
        ),
  
      -- * AllocationReservationSharingPolicy_ServiceShareType
      AllocationReservationSharingPolicy_ServiceShareType
        ( AllocationReservationSharingPolicy_ServiceShareType_ALLOWALL,
          AllocationReservationSharingPolicy_ServiceShareType_DISALLOWALL,
          AllocationReservationSharingPolicy_ServiceShareType_SERVICESHARETYPEUNSPECIFIED,
          ..
        ),
  
      -- * AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface
      AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface
        ( AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Nvme,
          AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Scsi,
          ..
        ),
  
      -- * AttachedDisk_Architecture
      AttachedDisk_Architecture
        ( AttachedDisk_Architecture_ARCHITECTUREUNSPECIFIED,
          AttachedDisk_Architecture_ARM64,
          AttachedDisk_Architecture_X86_64,
          ..
        ),
  
      -- * AttachedDisk_Interface
      AttachedDisk_Interface
        ( AttachedDisk_Interface_Nvme,
          AttachedDisk_Interface_Scsi,
          ..
        ),
  
      -- * AttachedDisk_Mode
      AttachedDisk_Mode
        ( AttachedDisk_Mode_READONLY,
          AttachedDisk_Mode_READWRITE,
          ..
        ),
  
      -- * AttachedDisk_SavedState
      AttachedDisk_SavedState
        ( AttachedDisk_SavedState_DISKSAVEDSTATEUNSPECIFIED,
          AttachedDisk_SavedState_Preserved,
          ..
        ),
  
      -- * AttachedDisk_Type
      AttachedDisk_Type
        ( AttachedDisk_Type_Persistent,
          AttachedDisk_Type_Scratch,
          ..
        ),
  
      -- * AttachedDiskInitializeParams_Architecture
      AttachedDiskInitializeParams_Architecture
        ( AttachedDiskInitializeParams_Architecture_ARCHITECTUREUNSPECIFIED,
          AttachedDiskInitializeParams_Architecture_ARM64,
          AttachedDiskInitializeParams_Architecture_X86_64,
          ..
        ),
  
      -- * AttachedDiskInitializeParams_OnUpdateAction
      AttachedDiskInitializeParams_OnUpdateAction
        ( AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISK,
          AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISKIFSOURCECHANGED,
          AttachedDiskInitializeParams_OnUpdateAction_USEEXISTINGDISK,
          ..
        ),
  
      -- * AuditLogConfig_LogType
      AuditLogConfig_LogType
        ( AuditLogConfig_LogType_ADMINREAD,
          AuditLogConfig_LogType_DATAREAD,
          AuditLogConfig_LogType_DATAWRITE,
          AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,
          ..
        ),
  
      -- * Autoscaler_Status
      Autoscaler_Status
        ( Autoscaler_Status_Active,
          Autoscaler_Status_Deleting,
          Autoscaler_Status_Error',
          Autoscaler_Status_Pending,
          ..
        ),
  
      -- * AutoscalerAggregatedList_Warning_Code
      AutoscalerAggregatedList_Warning_Code
        ( AutoscalerAggregatedList_Warning_Code_CLEANUPFAILED,
          AutoscalerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AutoscalerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          AutoscalerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AutoscalerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AutoscalerAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          AutoscalerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AutoscalerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AutoscalerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AutoscalerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AutoscalerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AutoscalerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AutoscalerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          AutoscalerAggregatedList_Warning_Code_NOTCRITICALERROR,
          AutoscalerAggregatedList_Warning_Code_NORESULTSONPAGE,
          AutoscalerAggregatedList_Warning_Code_PARTIALSUCCESS,
          AutoscalerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AutoscalerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AutoscalerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AutoscalerAggregatedList_Warning_Code_RESOURCENOTDELETED,
          AutoscalerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AutoscalerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AutoscalerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          AutoscalerAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AutoscalerList_Warning_Code
      AutoscalerList_Warning_Code
        ( AutoscalerList_Warning_Code_CLEANUPFAILED,
          AutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AutoscalerList_Warning_Code_DEPRECATEDTYPEUSED,
          AutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED,
          AutoscalerList_Warning_Code_EXTERNALAPIWARNING,
          AutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN,
          AutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AutoscalerList_Warning_Code_NEXTHOPNOTRUNNING,
          AutoscalerList_Warning_Code_NOTCRITICALERROR,
          AutoscalerList_Warning_Code_NORESULTSONPAGE,
          AutoscalerList_Warning_Code_PARTIALSUCCESS,
          AutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT,
          AutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AutoscalerList_Warning_Code_RESOURCENOTDELETED,
          AutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AutoscalerList_Warning_Code_UNDECLAREDPROPERTIES,
          AutoscalerList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AutoscalerStatusDetails_Type
      AutoscalerStatusDetails_Type
        ( AutoscalerStatusDetails_Type_ALLINSTANCESUNHEALTHY,
          AutoscalerStatusDetails_Type_BACKENDSERVICEDOESNOTEXIST,
          AutoscalerStatusDetails_Type_CAPPEDATMAXNUMREPLICAS,
          AutoscalerStatusDetails_Type_CUSTOMMETRICDATAPOINTSTOOSPARSE,
          AutoscalerStatusDetails_Type_CUSTOMMETRICINVALID,
          AutoscalerStatusDetails_Type_MINEQUALSMAX,
          AutoscalerStatusDetails_Type_MISSINGCUSTOMMETRICDATAPOINTS,
          AutoscalerStatusDetails_Type_MISSINGLOADBALANCINGDATAPOINTS,
          AutoscalerStatusDetails_Type_MODEOFF,
          AutoscalerStatusDetails_Type_MODEONLYSCALEOUT,
          AutoscalerStatusDetails_Type_MODEONLYUP,
          AutoscalerStatusDetails_Type_MORETHANONEBACKENDSERVICE,
          AutoscalerStatusDetails_Type_NOTENOUGHQUOTAAVAILABLE,
          AutoscalerStatusDetails_Type_REGIONRESOURCESTOCKOUT,
          AutoscalerStatusDetails_Type_SCALINGTARGETDOESNOTEXIST,
          AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESGREATERTHANAUTOSCALERMAX,
          AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESLESSTHANAUTOSCALERMIN,
          AutoscalerStatusDetails_Type_Unknown,
          AutoscalerStatusDetails_Type_UNSUPPORTEDMAXRATELOADBALANCINGCONFIGURATION,
          AutoscalerStatusDetails_Type_ZONERESOURCESTOCKOUT,
          ..
        ),
  
      -- * AutoscalersScopedList_Warning_Code
      AutoscalersScopedList_Warning_Code
        ( AutoscalersScopedList_Warning_Code_CLEANUPFAILED,
          AutoscalersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          AutoscalersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          AutoscalersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          AutoscalersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          AutoscalersScopedList_Warning_Code_EXTERNALAPIWARNING,
          AutoscalersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          AutoscalersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          AutoscalersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          AutoscalersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          AutoscalersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          AutoscalersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          AutoscalersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          AutoscalersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          AutoscalersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          AutoscalersScopedList_Warning_Code_NOTCRITICALERROR,
          AutoscalersScopedList_Warning_Code_NORESULTSONPAGE,
          AutoscalersScopedList_Warning_Code_PARTIALSUCCESS,
          AutoscalersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          AutoscalersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          AutoscalersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          AutoscalersScopedList_Warning_Code_RESOURCENOTDELETED,
          AutoscalersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          AutoscalersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          AutoscalersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          AutoscalersScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * AutoscalingPolicy_Mode
      AutoscalingPolicy_Mode
        ( AutoscalingPolicy_Mode_Off,
          AutoscalingPolicy_Mode_ON,
          AutoscalingPolicy_Mode_ONLYSCALEOUT,
          AutoscalingPolicy_Mode_ONLYUP,
          ..
        ),
  
      -- * AutoscalingPolicyCpuUtilization_PredictiveMethod
      AutoscalingPolicyCpuUtilization_PredictiveMethod
        ( AutoscalingPolicyCpuUtilization_PredictiveMethod_None,
          AutoscalingPolicyCpuUtilization_PredictiveMethod_OPTIMIZEAVAILABILITY,
          ..
        ),
  
      -- * AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
      AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
        ( AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERMINUTE,
          AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERSECOND,
          AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_Gauge,
          ..
        ),
  
      -- * Backend_BalancingMode
      Backend_BalancingMode
        ( Backend_BalancingMode_Connection,
          Backend_BalancingMode_CUSTOMMETRICS,
          Backend_BalancingMode_Rate,
          Backend_BalancingMode_Utilization,
          ..
        ),
  
      -- * Backend_Preference
      Backend_Preference
        ( Backend_Preference_Default,
          Backend_Preference_PREFERENCEUNSPECIFIED,
          Backend_Preference_Preferred,
          ..
        ),
  
      -- * BackendBucket_CompressionMode
      BackendBucket_CompressionMode
        ( BackendBucket_CompressionMode_Automatic,
          BackendBucket_CompressionMode_Disabled,
          ..
        ),
  
      -- * BackendBucketCdnPolicy_CacheMode
      BackendBucketCdnPolicy_CacheMode
        ( BackendBucketCdnPolicy_CacheMode_CACHEALLSTATIC,
          BackendBucketCdnPolicy_CacheMode_FORCECACHEALL,
          BackendBucketCdnPolicy_CacheMode_INVALIDCACHEMODE,
          BackendBucketCdnPolicy_CacheMode_USEORIGINHEADERS,
          ..
        ),
  
      -- * BackendBucketList_Warning_Code
      BackendBucketList_Warning_Code
        ( BackendBucketList_Warning_Code_CLEANUPFAILED,
          BackendBucketList_Warning_Code_DEPRECATEDRESOURCEUSED,
          BackendBucketList_Warning_Code_DEPRECATEDTYPEUSED,
          BackendBucketList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          BackendBucketList_Warning_Code_EXPERIMENTALTYPEUSED,
          BackendBucketList_Warning_Code_EXTERNALAPIWARNING,
          BackendBucketList_Warning_Code_FIELDVALUEOVERRIDEN,
          BackendBucketList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          BackendBucketList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          BackendBucketList_Warning_Code_LARGEDEPLOYMENTWARNING,
          BackendBucketList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          BackendBucketList_Warning_Code_MISSINGTYPEDEPENDENCY,
          BackendBucketList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          BackendBucketList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          BackendBucketList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          BackendBucketList_Warning_Code_NEXTHOPNOTRUNNING,
          BackendBucketList_Warning_Code_NOTCRITICALERROR,
          BackendBucketList_Warning_Code_NORESULTSONPAGE,
          BackendBucketList_Warning_Code_PARTIALSUCCESS,
          BackendBucketList_Warning_Code_QUOTAINFOUNAVAILABLE,
          BackendBucketList_Warning_Code_REQUIREDTOSAGREEMENT,
          BackendBucketList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          BackendBucketList_Warning_Code_RESOURCENOTDELETED,
          BackendBucketList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          BackendBucketList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          BackendBucketList_Warning_Code_UNDECLAREDPROPERTIES,
          BackendBucketList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * BackendService_CompressionMode
      BackendService_CompressionMode
        ( BackendService_CompressionMode_Automatic,
          BackendService_CompressionMode_Disabled,
          ..
        ),
  
      -- * BackendService_IpAddressSelectionPolicy
      BackendService_IpAddressSelectionPolicy
        ( BackendService_IpAddressSelectionPolicy_IPV4ONLY,
          BackendService_IpAddressSelectionPolicy_IPV6ONLY,
          BackendService_IpAddressSelectionPolicy_IPADDRESSSELECTIONPOLICYUNSPECIFIED,
          BackendService_IpAddressSelectionPolicy_PREFER_IPV6,
          ..
        ),
  
      -- * BackendService_LoadBalancingScheme
      BackendService_LoadBalancingScheme
        ( BackendService_LoadBalancingScheme_External,
          BackendService_LoadBalancingScheme_EXTERNALMANAGED,
          BackendService_LoadBalancingScheme_Internal,
          BackendService_LoadBalancingScheme_INTERNALMANAGED,
          BackendService_LoadBalancingScheme_INTERNALSELFMANAGED,
          BackendService_LoadBalancingScheme_INVALIDLOADBALANCINGSCHEME,
          ..
        ),
  
      -- * BackendService_LocalityLbPolicy
      BackendService_LocalityLbPolicy
        ( BackendService_LocalityLbPolicy_INVALIDLBPOLICY,
          BackendService_LocalityLbPolicy_LEASTREQUEST,
          BackendService_LocalityLbPolicy_Maglev,
          BackendService_LocalityLbPolicy_ORIGINALDESTINATION,
          BackendService_LocalityLbPolicy_Random,
          BackendService_LocalityLbPolicy_RINGHASH,
          BackendService_LocalityLbPolicy_ROUNDROBIN,
          BackendService_LocalityLbPolicy_WEIGHTEDMAGLEV,
          BackendService_LocalityLbPolicy_WEIGHTEDROUNDROBIN,
          ..
        ),
  
      -- * BackendService_Protocol
      BackendService_Protocol
        ( BackendService_Protocol_Grpc,
          BackendService_Protocol_Http,
          BackendService_Protocol_HTTP2,
          BackendService_Protocol_Https,
          BackendService_Protocol_Ssl,
          BackendService_Protocol_Tcp,
          BackendService_Protocol_Udp,
          BackendService_Protocol_Unspecified,
          ..
        ),
  
      -- * BackendService_SessionAffinity
      BackendService_SessionAffinity
        ( BackendService_SessionAffinity_CLIENTIP,
          BackendService_SessionAffinity_CLIENTIPNODESTINATION,
          BackendService_SessionAffinity_CLIENTIPPORTPROTO,
          BackendService_SessionAffinity_CLIENTIPPROTO,
          BackendService_SessionAffinity_GENERATEDCOOKIE,
          BackendService_SessionAffinity_HEADERFIELD,
          BackendService_SessionAffinity_HTTPCOOKIE,
          BackendService_SessionAffinity_None,
          BackendService_SessionAffinity_STRONGCOOKIEAFFINITY,
          ..
        ),
  
      -- * BackendServiceAggregatedList_Warning_Code
      BackendServiceAggregatedList_Warning_Code
        ( BackendServiceAggregatedList_Warning_Code_CLEANUPFAILED,
          BackendServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          BackendServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          BackendServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          BackendServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          BackendServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          BackendServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          BackendServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          BackendServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          BackendServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          BackendServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          BackendServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          BackendServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          BackendServiceAggregatedList_Warning_Code_NOTCRITICALERROR,
          BackendServiceAggregatedList_Warning_Code_NORESULTSONPAGE,
          BackendServiceAggregatedList_Warning_Code_PARTIALSUCCESS,
          BackendServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          BackendServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          BackendServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          BackendServiceAggregatedList_Warning_Code_RESOURCENOTDELETED,
          BackendServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          BackendServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          BackendServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          BackendServiceAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * BackendServiceCdnPolicy_CacheMode
      BackendServiceCdnPolicy_CacheMode
        ( BackendServiceCdnPolicy_CacheMode_CACHEALLSTATIC,
          BackendServiceCdnPolicy_CacheMode_FORCECACHEALL,
          BackendServiceCdnPolicy_CacheMode_INVALIDCACHEMODE,
          BackendServiceCdnPolicy_CacheMode_USEORIGINHEADERS,
          ..
        ),
  
      -- * BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
      BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
        ( BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_ALWAYSPERSIST,
          BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_DEFAULTFORPROTOCOL,
          BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_NEVERPERSIST,
          ..
        ),
  
      -- * BackendServiceConnectionTrackingPolicy_TrackingMode
      BackendServiceConnectionTrackingPolicy_TrackingMode
        ( BackendServiceConnectionTrackingPolicy_TrackingMode_INVALIDTRACKINGMODE,
          BackendServiceConnectionTrackingPolicy_TrackingMode_PERCONNECTION,
          BackendServiceConnectionTrackingPolicy_TrackingMode_PERSESSION,
          ..
        ),
  
      -- * BackendServiceList_Warning_Code
      BackendServiceList_Warning_Code
        ( BackendServiceList_Warning_Code_CLEANUPFAILED,
          BackendServiceList_Warning_Code_DEPRECATEDRESOURCEUSED,
          BackendServiceList_Warning_Code_DEPRECATEDTYPEUSED,
          BackendServiceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          BackendServiceList_Warning_Code_EXPERIMENTALTYPEUSED,
          BackendServiceList_Warning_Code_EXTERNALAPIWARNING,
          BackendServiceList_Warning_Code_FIELDVALUEOVERRIDEN,
          BackendServiceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          BackendServiceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          BackendServiceList_Warning_Code_LARGEDEPLOYMENTWARNING,
          BackendServiceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          BackendServiceList_Warning_Code_MISSINGTYPEDEPENDENCY,
          BackendServiceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          BackendServiceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          BackendServiceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          BackendServiceList_Warning_Code_NEXTHOPNOTRUNNING,
          BackendServiceList_Warning_Code_NOTCRITICALERROR,
          BackendServiceList_Warning_Code_NORESULTSONPAGE,
          BackendServiceList_Warning_Code_PARTIALSUCCESS,
          BackendServiceList_Warning_Code_QUOTAINFOUNAVAILABLE,
          BackendServiceList_Warning_Code_REQUIREDTOSAGREEMENT,
          BackendServiceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          BackendServiceList_Warning_Code_RESOURCENOTDELETED,
          BackendServiceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          BackendServiceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          BackendServiceList_Warning_Code_UNDECLAREDPROPERTIES,
          BackendServiceList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * BackendServiceListUsable_Warning_Code
      BackendServiceListUsable_Warning_Code
        ( BackendServiceListUsable_Warning_Code_CLEANUPFAILED,
          BackendServiceListUsable_Warning_Code_DEPRECATEDRESOURCEUSED,
          BackendServiceListUsable_Warning_Code_DEPRECATEDTYPEUSED,
          BackendServiceListUsable_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          BackendServiceListUsable_Warning_Code_EXPERIMENTALTYPEUSED,
          BackendServiceListUsable_Warning_Code_EXTERNALAPIWARNING,
          BackendServiceListUsable_Warning_Code_FIELDVALUEOVERRIDEN,
          BackendServiceListUsable_Warning_Code_INJECTEDKERNELSDEPRECATED,
          BackendServiceListUsable_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          BackendServiceListUsable_Warning_Code_LARGEDEPLOYMENTWARNING,
          BackendServiceListUsable_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          BackendServiceListUsable_Warning_Code_MISSINGTYPEDEPENDENCY,
          BackendServiceListUsable_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          BackendServiceListUsable_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          BackendServiceListUsable_Warning_Code_NEXTHOPNOTRUNNING,
          BackendServiceListUsable_Warning_Code_NOTCRITICALERROR,
          BackendServiceListUsable_Warning_Code_NORESULTSONPAGE,
          BackendServiceListUsable_Warning_Code_PARTIALSUCCESS,
          BackendServiceListUsable_Warning_Code_QUOTAINFOUNAVAILABLE,
          BackendServiceListUsable_Warning_Code_REQUIREDTOSAGREEMENT,
          BackendServiceListUsable_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          BackendServiceListUsable_Warning_Code_RESOURCENOTDELETED,
          BackendServiceListUsable_Warning_Code_SCHEMAVALIDATIONIGNORED,
          BackendServiceListUsable_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          BackendServiceListUsable_Warning_Code_UNDECLAREDPROPERTIES,
          BackendServiceListUsable_Warning_Code_Unreachable,
          ..
        ),
  
      -- * BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
      BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
        ( BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_INVALIDLBPOLICY,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_LEASTREQUEST,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Maglev,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ORIGINALDESTINATION,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Random,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_RINGHASH,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ROUNDROBIN,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDMAGLEV,
          BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDROUNDROBIN,
          ..
        ),
  
      -- * BackendServiceLogConfig_OptionalMode
      BackendServiceLogConfig_OptionalMode
        ( BackendServiceLogConfig_OptionalMode_Custom,
          BackendServiceLogConfig_OptionalMode_EXCLUDEALLOPTIONAL,
          BackendServiceLogConfig_OptionalMode_INCLUDEALLOPTIONAL,
          ..
        ),
  
      -- * BackendServicesScopedList_Warning_Code
      BackendServicesScopedList_Warning_Code
        ( BackendServicesScopedList_Warning_Code_CLEANUPFAILED,
          BackendServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          BackendServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          BackendServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          BackendServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          BackendServicesScopedList_Warning_Code_EXTERNALAPIWARNING,
          BackendServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          BackendServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          BackendServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          BackendServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          BackendServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          BackendServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          BackendServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          BackendServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          BackendServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          BackendServicesScopedList_Warning_Code_NOTCRITICALERROR,
          BackendServicesScopedList_Warning_Code_NORESULTSONPAGE,
          BackendServicesScopedList_Warning_Code_PARTIALSUCCESS,
          BackendServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          BackendServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          BackendServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          BackendServicesScopedList_Warning_Code_RESOURCENOTDELETED,
          BackendServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          BackendServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          BackendServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          BackendServicesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * BfdPacket_Diagnostic
      BfdPacket_Diagnostic
        ( BfdPacket_Diagnostic_ADMINISTRATIVELYDOWN,
          BfdPacket_Diagnostic_CONCATENATEDPATHDOWN,
          BfdPacket_Diagnostic_CONTROLDETECTIONTIMEEXPIRED,
          BfdPacket_Diagnostic_DIAGNOSTICUNSPECIFIED,
          BfdPacket_Diagnostic_ECHOFUNCTIONFAILED,
          BfdPacket_Diagnostic_FORWARDINGPLANERESET,
          BfdPacket_Diagnostic_NEIGHBORSIGNALEDSESSIONDOWN,
          BfdPacket_Diagnostic_NODIAGNOSTIC,
          BfdPacket_Diagnostic_PATHDOWN,
          BfdPacket_Diagnostic_REVERSECONCATENATEDPATHDOWN,
          ..
        ),
  
      -- * BfdPacket_State
      BfdPacket_State
        ( BfdPacket_State_ADMINDOWN,
          BfdPacket_State_Down,
          BfdPacket_State_Init,
          BfdPacket_State_STATEUNSPECIFIED,
          BfdPacket_State_UP,
          ..
        ),
  
      -- * BfdStatus_BfdSessionInitializationMode
      BfdStatus_BfdSessionInitializationMode
        ( BfdStatus_BfdSessionInitializationMode_Active,
          BfdStatus_BfdSessionInitializationMode_Disabled,
          BfdStatus_BfdSessionInitializationMode_Passive,
          ..
        ),
  
      -- * BfdStatus_LocalDiagnostic
      BfdStatus_LocalDiagnostic
        ( BfdStatus_LocalDiagnostic_ADMINISTRATIVELYDOWN,
          BfdStatus_LocalDiagnostic_CONCATENATEDPATHDOWN,
          BfdStatus_LocalDiagnostic_CONTROLDETECTIONTIMEEXPIRED,
          BfdStatus_LocalDiagnostic_DIAGNOSTICUNSPECIFIED,
          BfdStatus_LocalDiagnostic_ECHOFUNCTIONFAILED,
          BfdStatus_LocalDiagnostic_FORWARDINGPLANERESET,
          BfdStatus_LocalDiagnostic_NEIGHBORSIGNALEDSESSIONDOWN,
          BfdStatus_LocalDiagnostic_NODIAGNOSTIC,
          BfdStatus_LocalDiagnostic_PATHDOWN,
          BfdStatus_LocalDiagnostic_REVERSECONCATENATEDPATHDOWN,
          ..
        ),
  
      -- * BfdStatus_LocalState
      BfdStatus_LocalState
        ( BfdStatus_LocalState_ADMINDOWN,
          BfdStatus_LocalState_Down,
          BfdStatus_LocalState_Init,
          BfdStatus_LocalState_STATEUNSPECIFIED,
          BfdStatus_LocalState_UP,
          ..
        ),
  
      -- * BgpRoute_Origin
      BgpRoute_Origin
        ( BgpRoute_Origin_BGPORIGINEGP,
          BgpRoute_Origin_BGPORIGINIGP,
          BgpRoute_Origin_BGPORIGININCOMPLETE,
          ..
        ),
  
      -- * BgpRouteAsPath_Type
      BgpRouteAsPath_Type
        ( BgpRouteAsPath_Type_ASPATHTYPESEQUENCE,
          BgpRouteAsPath_Type_ASPATHTYPESET,
          ..
        ),
  
      -- * BulkInsertOperationStatus_Status
      BulkInsertOperationStatus_Status
        ( BulkInsertOperationStatus_Status_Creating,
          BulkInsertOperationStatus_Status_Done,
          BulkInsertOperationStatus_Status_ROLLINGBACK,
          BulkInsertOperationStatus_Status_STATUSUNSPECIFIED,
          ..
        ),
  
      -- * Commitment_Category
      Commitment_Category
        ( Commitment_Category_CATEGORYUNSPECIFIED,
          Commitment_Category_License,
          Commitment_Category_Machine,
          ..
        ),
  
      -- * Commitment_Plan
      Commitment_Plan
        ( Commitment_Plan_Invalid,
          Commitment_Plan_THIRTYSIXMONTH,
          Commitment_Plan_TWELVEMONTH,
          ..
        ),
  
      -- * Commitment_Status
      Commitment_Status
        ( Commitment_Status_Active,
          Commitment_Status_Cancelled,
          Commitment_Status_Creating,
          Commitment_Status_Expired,
          Commitment_Status_NOTYETACTIVE,
          ..
        ),
  
      -- * Commitment_Type
      Commitment_Type
        ( Commitment_Type_ACCELERATOROPTIMIZED,
          Commitment_Type_ACCELERATOR_OPTIMIZED_A3,
          Commitment_Type_ACCELERATOROPTIMIZEDA3MEGA,
          Commitment_Type_ACCELERATOROPTIMIZEDA3ULTRA,
          Commitment_Type_COMPUTEOPTIMIZED,
          Commitment_Type_COMPUTEOPTIMIZEDC2D,
          Commitment_Type_COMPUTE_OPTIMIZED_C3,
          Commitment_Type_COMPUTEOPTIMIZEDC3D,
          Commitment_Type_COMPUTE_OPTIMIZED_H3,
          Commitment_Type_GENERALPURPOSE,
          Commitment_Type_GENERAL_PURPOSE_C4,
          Commitment_Type_GENERALPURPOSEC4A,
          Commitment_Type_GENERAL_PURPOSE_E2,
          Commitment_Type_GENERAL_PURPOSE_N2,
          Commitment_Type_GENERALPURPOSEN2D,
          Commitment_Type_GENERAL_PURPOSE_N4,
          Commitment_Type_GENERALPURPOSET2D,
          Commitment_Type_GRAPHICSOPTIMIZED,
          Commitment_Type_MEMORYOPTIMIZED,
          Commitment_Type_MEMORY_OPTIMIZED_M3,
          Commitment_Type_MEMORYOPTIMIZEDX416TB,
          Commitment_Type_MEMORYOPTIMIZEDX424TB,
          Commitment_Type_MEMORYOPTIMIZEDX432TB,
          Commitment_Type_STORAGE_OPTIMIZED_Z3,
          Commitment_Type_TYPEUNSPECIFIED,
          ..
        ),
  
      -- * CommitmentAggregatedList_Warning_Code
      CommitmentAggregatedList_Warning_Code
        ( CommitmentAggregatedList_Warning_Code_CLEANUPFAILED,
          CommitmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          CommitmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          CommitmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          CommitmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          CommitmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          CommitmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          CommitmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          CommitmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          CommitmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          CommitmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          CommitmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          CommitmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          CommitmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          CommitmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          CommitmentAggregatedList_Warning_Code_NOTCRITICALERROR,
          CommitmentAggregatedList_Warning_Code_NORESULTSONPAGE,
          CommitmentAggregatedList_Warning_Code_PARTIALSUCCESS,
          CommitmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          CommitmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          CommitmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          CommitmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
          CommitmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          CommitmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          CommitmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          CommitmentAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * CommitmentList_Warning_Code
      CommitmentList_Warning_Code
        ( CommitmentList_Warning_Code_CLEANUPFAILED,
          CommitmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
          CommitmentList_Warning_Code_DEPRECATEDTYPEUSED,
          CommitmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          CommitmentList_Warning_Code_EXPERIMENTALTYPEUSED,
          CommitmentList_Warning_Code_EXTERNALAPIWARNING,
          CommitmentList_Warning_Code_FIELDVALUEOVERRIDEN,
          CommitmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          CommitmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          CommitmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
          CommitmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          CommitmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
          CommitmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          CommitmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          CommitmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          CommitmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          CommitmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          CommitmentList_Warning_Code_NEXTHOPNOTRUNNING,
          CommitmentList_Warning_Code_NOTCRITICALERROR,
          CommitmentList_Warning_Code_NORESULTSONPAGE,
          CommitmentList_Warning_Code_PARTIALSUCCESS,
          CommitmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
          CommitmentList_Warning_Code_REQUIREDTOSAGREEMENT,
          CommitmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          CommitmentList_Warning_Code_RESOURCENOTDELETED,
          CommitmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          CommitmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          CommitmentList_Warning_Code_UNDECLAREDPROPERTIES,
          CommitmentList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * CommitmentsScopedList_Warning_Code
      CommitmentsScopedList_Warning_Code
        ( CommitmentsScopedList_Warning_Code_CLEANUPFAILED,
          CommitmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          CommitmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          CommitmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          CommitmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          CommitmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
          CommitmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          CommitmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          CommitmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          CommitmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          CommitmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          CommitmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          CommitmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          CommitmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          CommitmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          CommitmentsScopedList_Warning_Code_NOTCRITICALERROR,
          CommitmentsScopedList_Warning_Code_NORESULTSONPAGE,
          CommitmentsScopedList_Warning_Code_PARTIALSUCCESS,
          CommitmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          CommitmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          CommitmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          CommitmentsScopedList_Warning_Code_RESOURCENOTDELETED,
          CommitmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          CommitmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          CommitmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          CommitmentsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ConfidentialInstanceConfig_ConfidentialInstanceType
      ConfidentialInstanceConfig_ConfidentialInstanceType
        ( ConfidentialInstanceConfig_ConfidentialInstanceType_CONFIDENTIALINSTANCETYPEUNSPECIFIED,
          ConfidentialInstanceConfig_ConfidentialInstanceType_Sev,
          ConfidentialInstanceConfig_ConfidentialInstanceType_SEVSNP,
          ConfidentialInstanceConfig_ConfidentialInstanceType_Tdx,
          ..
        ),
  
      -- * DeprecationStatus_State
      DeprecationStatus_State
        ( DeprecationStatus_State_Active,
          DeprecationStatus_State_Deleted,
          DeprecationStatus_State_Deprecated,
          DeprecationStatus_State_Obsolete,
          ..
        ),
  
      -- * Disk_AccessMode
      Disk_AccessMode
        ( Disk_AccessMode_READONLYMANY,
          Disk_AccessMode_READWRITEMANY,
          Disk_AccessMode_READWRITESINGLE,
          ..
        ),
  
      -- * Disk_Architecture
      Disk_Architecture
        ( Disk_Architecture_ARCHITECTUREUNSPECIFIED,
          Disk_Architecture_ARM64,
          Disk_Architecture_X86_64,
          ..
        ),
  
      -- * Disk_Status
      Disk_Status
        ( Disk_Status_Creating,
          Disk_Status_Deleting,
          Disk_Status_Failed,
          Disk_Status_Ready,
          Disk_Status_Restoring,
          Disk_Status_Unavailable,
          ..
        ),
  
      -- * DiskAggregatedList_Warning_Code
      DiskAggregatedList_Warning_Code
        ( DiskAggregatedList_Warning_Code_CLEANUPFAILED,
          DiskAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DiskAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          DiskAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DiskAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          DiskAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          DiskAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          DiskAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DiskAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DiskAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DiskAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DiskAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DiskAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DiskAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DiskAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DiskAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          DiskAggregatedList_Warning_Code_NOTCRITICALERROR,
          DiskAggregatedList_Warning_Code_NORESULTSONPAGE,
          DiskAggregatedList_Warning_Code_PARTIALSUCCESS,
          DiskAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DiskAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          DiskAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DiskAggregatedList_Warning_Code_RESOURCENOTDELETED,
          DiskAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DiskAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DiskAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          DiskAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DiskInstantiationConfig_InstantiateFrom
      DiskInstantiationConfig_InstantiateFrom
        ( DiskInstantiationConfig_InstantiateFrom_ATTACHREADONLY,
          DiskInstantiationConfig_InstantiateFrom_Blank,
          DiskInstantiationConfig_InstantiateFrom_CUSTOMIMAGE,
          DiskInstantiationConfig_InstantiateFrom_Default,
          DiskInstantiationConfig_InstantiateFrom_DONOTINCLUDE,
          DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGE,
          DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGEFAMILY,
          ..
        ),
  
      -- * DiskList_Warning_Code
      DiskList_Warning_Code
        ( DiskList_Warning_Code_CLEANUPFAILED,
          DiskList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DiskList_Warning_Code_DEPRECATEDTYPEUSED,
          DiskList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DiskList_Warning_Code_EXPERIMENTALTYPEUSED,
          DiskList_Warning_Code_EXTERNALAPIWARNING,
          DiskList_Warning_Code_FIELDVALUEOVERRIDEN,
          DiskList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DiskList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DiskList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DiskList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DiskList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DiskList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DiskList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DiskList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DiskList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DiskList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DiskList_Warning_Code_NEXTHOPNOTRUNNING,
          DiskList_Warning_Code_NOTCRITICALERROR,
          DiskList_Warning_Code_NORESULTSONPAGE,
          DiskList_Warning_Code_PARTIALSUCCESS,
          DiskList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DiskList_Warning_Code_REQUIREDTOSAGREEMENT,
          DiskList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DiskList_Warning_Code_RESOURCENOTDELETED,
          DiskList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DiskList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DiskList_Warning_Code_UNDECLAREDPROPERTIES,
          DiskList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DiskResourceStatusAsyncReplicationStatus_State
      DiskResourceStatusAsyncReplicationStatus_State
        ( DiskResourceStatusAsyncReplicationStatus_State_Active,
          DiskResourceStatusAsyncReplicationStatus_State_Created,
          DiskResourceStatusAsyncReplicationStatus_State_Starting,
          DiskResourceStatusAsyncReplicationStatus_State_STATEUNSPECIFIED,
          DiskResourceStatusAsyncReplicationStatus_State_Stopped,
          DiskResourceStatusAsyncReplicationStatus_State_Stopping,
          ..
        ),
  
      -- * DiskTypeAggregatedList_Warning_Code
      DiskTypeAggregatedList_Warning_Code
        ( DiskTypeAggregatedList_Warning_Code_CLEANUPFAILED,
          DiskTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DiskTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          DiskTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DiskTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          DiskTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          DiskTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          DiskTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DiskTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DiskTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DiskTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DiskTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DiskTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          DiskTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
          DiskTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
          DiskTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
          DiskTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DiskTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          DiskTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DiskTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
          DiskTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DiskTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DiskTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          DiskTypeAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DiskTypeList_Warning_Code
      DiskTypeList_Warning_Code
        ( DiskTypeList_Warning_Code_CLEANUPFAILED,
          DiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DiskTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          DiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          DiskTypeList_Warning_Code_EXTERNALAPIWARNING,
          DiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          DiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DiskTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          DiskTypeList_Warning_Code_NOTCRITICALERROR,
          DiskTypeList_Warning_Code_NORESULTSONPAGE,
          DiskTypeList_Warning_Code_PARTIALSUCCESS,
          DiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          DiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DiskTypeList_Warning_Code_RESOURCENOTDELETED,
          DiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DiskTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          DiskTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DiskTypesScopedList_Warning_Code
      DiskTypesScopedList_Warning_Code
        ( DiskTypesScopedList_Warning_Code_CLEANUPFAILED,
          DiskTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DiskTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          DiskTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DiskTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          DiskTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
          DiskTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          DiskTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DiskTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DiskTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DiskTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DiskTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DiskTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DiskTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DiskTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          DiskTypesScopedList_Warning_Code_NOTCRITICALERROR,
          DiskTypesScopedList_Warning_Code_NORESULTSONPAGE,
          DiskTypesScopedList_Warning_Code_PARTIALSUCCESS,
          DiskTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DiskTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          DiskTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DiskTypesScopedList_Warning_Code_RESOURCENOTDELETED,
          DiskTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DiskTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DiskTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          DiskTypesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DisksScopedList_Warning_Code
      DisksScopedList_Warning_Code
        ( DisksScopedList_Warning_Code_CLEANUPFAILED,
          DisksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          DisksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          DisksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          DisksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          DisksScopedList_Warning_Code_EXTERNALAPIWARNING,
          DisksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          DisksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          DisksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          DisksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          DisksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          DisksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          DisksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          DisksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          DisksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          DisksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          DisksScopedList_Warning_Code_NOTCRITICALERROR,
          DisksScopedList_Warning_Code_NORESULTSONPAGE,
          DisksScopedList_Warning_Code_PARTIALSUCCESS,
          DisksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          DisksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          DisksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          DisksScopedList_Warning_Code_RESOURCENOTDELETED,
          DisksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          DisksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          DisksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          DisksScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * DistributionPolicy_TargetShape
      DistributionPolicy_TargetShape
        ( DistributionPolicy_TargetShape_Any,
          DistributionPolicy_TargetShape_ANYSINGLEZONE,
          DistributionPolicy_TargetShape_Balanced,
          DistributionPolicy_TargetShape_Even,
          ..
        ),
  
      -- * ExchangedPeeringRoute_Type
      ExchangedPeeringRoute_Type
        ( ExchangedPeeringRoute_Type_DYNAMICPEERINGROUTE,
          ExchangedPeeringRoute_Type_STATICPEERINGROUTE,
          ExchangedPeeringRoute_Type_SUBNETPEERINGROUTE,
          ..
        ),
  
      -- * ExchangedPeeringRoutesList_Warning_Code
      ExchangedPeeringRoutesList_Warning_Code
        ( ExchangedPeeringRoutesList_Warning_Code_CLEANUPFAILED,
          ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDTYPEUSED,
          ExchangedPeeringRoutesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ExchangedPeeringRoutesList_Warning_Code_EXPERIMENTALTYPEUSED,
          ExchangedPeeringRoutesList_Warning_Code_EXTERNALAPIWARNING,
          ExchangedPeeringRoutesList_Warning_Code_FIELDVALUEOVERRIDEN,
          ExchangedPeeringRoutesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ExchangedPeeringRoutesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ExchangedPeeringRoutesList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ExchangedPeeringRoutesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ExchangedPeeringRoutesList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ExchangedPeeringRoutesList_Warning_Code_NEXTHOPNOTRUNNING,
          ExchangedPeeringRoutesList_Warning_Code_NOTCRITICALERROR,
          ExchangedPeeringRoutesList_Warning_Code_NORESULTSONPAGE,
          ExchangedPeeringRoutesList_Warning_Code_PARTIALSUCCESS,
          ExchangedPeeringRoutesList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ExchangedPeeringRoutesList_Warning_Code_REQUIREDTOSAGREEMENT,
          ExchangedPeeringRoutesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ExchangedPeeringRoutesList_Warning_Code_RESOURCENOTDELETED,
          ExchangedPeeringRoutesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ExchangedPeeringRoutesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ExchangedPeeringRoutesList_Warning_Code_UNDECLAREDPROPERTIES,
          ExchangedPeeringRoutesList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ExternalVpnGateway_RedundancyType
      ExternalVpnGateway_RedundancyType
        ( ExternalVpnGateway_RedundancyType_FOURIPSREDUNDANCY,
          ExternalVpnGateway_RedundancyType_SINGLEIPINTERNALLYREDUNDANT,
          ExternalVpnGateway_RedundancyType_TWOIPSREDUNDANCY,
          ..
        ),
  
      -- * ExternalVpnGatewayList_Warning_Code
      ExternalVpnGatewayList_Warning_Code
        ( ExternalVpnGatewayList_Warning_Code_CLEANUPFAILED,
          ExternalVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ExternalVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
          ExternalVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ExternalVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
          ExternalVpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
          ExternalVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
          ExternalVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ExternalVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ExternalVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ExternalVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ExternalVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ExternalVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
          ExternalVpnGatewayList_Warning_Code_NOTCRITICALERROR,
          ExternalVpnGatewayList_Warning_Code_NORESULTSONPAGE,
          ExternalVpnGatewayList_Warning_Code_PARTIALSUCCESS,
          ExternalVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ExternalVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
          ExternalVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ExternalVpnGatewayList_Warning_Code_RESOURCENOTDELETED,
          ExternalVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ExternalVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ExternalVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
          ExternalVpnGatewayList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * FileContentBuffer_FileType
      FileContentBuffer_FileType
        ( FileContentBuffer_FileType_Bin,
          FileContentBuffer_FileType_Undefined,
          FileContentBuffer_FileType_X509,
          ..
        ),
  
      -- * Firewall_Direction
      Firewall_Direction
        ( Firewall_Direction_Egress,
          Firewall_Direction_Ingress,
          ..
        ),
  
      -- * FirewallList_Warning_Code
      FirewallList_Warning_Code
        ( FirewallList_Warning_Code_CLEANUPFAILED,
          FirewallList_Warning_Code_DEPRECATEDRESOURCEUSED,
          FirewallList_Warning_Code_DEPRECATEDTYPEUSED,
          FirewallList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          FirewallList_Warning_Code_EXPERIMENTALTYPEUSED,
          FirewallList_Warning_Code_EXTERNALAPIWARNING,
          FirewallList_Warning_Code_FIELDVALUEOVERRIDEN,
          FirewallList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          FirewallList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          FirewallList_Warning_Code_LARGEDEPLOYMENTWARNING,
          FirewallList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          FirewallList_Warning_Code_MISSINGTYPEDEPENDENCY,
          FirewallList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          FirewallList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          FirewallList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          FirewallList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          FirewallList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          FirewallList_Warning_Code_NEXTHOPNOTRUNNING,
          FirewallList_Warning_Code_NOTCRITICALERROR,
          FirewallList_Warning_Code_NORESULTSONPAGE,
          FirewallList_Warning_Code_PARTIALSUCCESS,
          FirewallList_Warning_Code_QUOTAINFOUNAVAILABLE,
          FirewallList_Warning_Code_REQUIREDTOSAGREEMENT,
          FirewallList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          FirewallList_Warning_Code_RESOURCENOTDELETED,
          FirewallList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          FirewallList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          FirewallList_Warning_Code_UNDECLAREDPROPERTIES,
          FirewallList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * FirewallLogConfig_Metadata
      FirewallLogConfig_Metadata
        ( FirewallLogConfig_Metadata_EXCLUDEALLMETADATA,
          FirewallLogConfig_Metadata_INCLUDEALLMETADATA,
          ..
        ),
  
      -- * FirewallPoliciesScopedList_Warning_Code
      FirewallPoliciesScopedList_Warning_Code
        ( FirewallPoliciesScopedList_Warning_Code_CLEANUPFAILED,
          FirewallPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          FirewallPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          FirewallPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          FirewallPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          FirewallPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
          FirewallPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          FirewallPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          FirewallPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          FirewallPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          FirewallPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          FirewallPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          FirewallPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          FirewallPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
          FirewallPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
          FirewallPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
          FirewallPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          FirewallPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          FirewallPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          FirewallPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
          FirewallPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          FirewallPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          FirewallPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          FirewallPoliciesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * FirewallPolicyList_Warning_Code
      FirewallPolicyList_Warning_Code
        ( FirewallPolicyList_Warning_Code_CLEANUPFAILED,
          FirewallPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          FirewallPolicyList_Warning_Code_DEPRECATEDTYPEUSED,
          FirewallPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          FirewallPolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
          FirewallPolicyList_Warning_Code_EXTERNALAPIWARNING,
          FirewallPolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
          FirewallPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          FirewallPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          FirewallPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          FirewallPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          FirewallPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          FirewallPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          FirewallPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          FirewallPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          FirewallPolicyList_Warning_Code_NEXTHOPNOTRUNNING,
          FirewallPolicyList_Warning_Code_NOTCRITICALERROR,
          FirewallPolicyList_Warning_Code_NORESULTSONPAGE,
          FirewallPolicyList_Warning_Code_PARTIALSUCCESS,
          FirewallPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          FirewallPolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
          FirewallPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          FirewallPolicyList_Warning_Code_RESOURCENOTDELETED,
          FirewallPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          FirewallPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          FirewallPolicyList_Warning_Code_UNDECLAREDPROPERTIES,
          FirewallPolicyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * FirewallPolicyRule_Direction
      FirewallPolicyRule_Direction
        ( FirewallPolicyRule_Direction_Egress,
          FirewallPolicyRule_Direction_Ingress,
          ..
        ),
  
      -- * FirewallPolicyRuleSecureTag_State
      FirewallPolicyRuleSecureTag_State
        ( FirewallPolicyRuleSecureTag_State_Effective,
          FirewallPolicyRuleSecureTag_State_Ineffective,
          ..
        ),
  
      -- * ForwardingRule_IPProtocol
      ForwardingRule_IPProtocol
        ( ForwardingRule_IPProtocol_AH,
          ForwardingRule_IPProtocol_Esp,
          ForwardingRule_IPProtocol_Icmp,
          ForwardingRule_IPProtocol_L3DEFAULT,
          ForwardingRule_IPProtocol_Sctp,
          ForwardingRule_IPProtocol_Tcp,
          ForwardingRule_IPProtocol_Udp,
          ..
        ),
  
      -- * ForwardingRule_IpVersion
      ForwardingRule_IpVersion
        ( ForwardingRule_IpVersion_IPV4,
          ForwardingRule_IpVersion_IPV6,
          ForwardingRule_IpVersion_UNSPECIFIEDVERSION,
          ..
        ),
  
      -- * ForwardingRule_LoadBalancingScheme
      ForwardingRule_LoadBalancingScheme
        ( ForwardingRule_LoadBalancingScheme_External,
          ForwardingRule_LoadBalancingScheme_EXTERNALMANAGED,
          ForwardingRule_LoadBalancingScheme_Internal,
          ForwardingRule_LoadBalancingScheme_INTERNALMANAGED,
          ForwardingRule_LoadBalancingScheme_INTERNALSELFMANAGED,
          ForwardingRule_LoadBalancingScheme_Invalid,
          ..
        ),
  
      -- * ForwardingRule_NetworkTier
      ForwardingRule_NetworkTier
        ( ForwardingRule_NetworkTier_FIXEDSTANDARD,
          ForwardingRule_NetworkTier_Premium,
          ForwardingRule_NetworkTier_Standard,
          ForwardingRule_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * ForwardingRule_PscConnectionStatus
      ForwardingRule_PscConnectionStatus
        ( ForwardingRule_PscConnectionStatus_Accepted,
          ForwardingRule_PscConnectionStatus_Closed,
          ForwardingRule_PscConnectionStatus_NEEDSATTENTION,
          ForwardingRule_PscConnectionStatus_Pending,
          ForwardingRule_PscConnectionStatus_Rejected,
          ForwardingRule_PscConnectionStatus_STATUSUNSPECIFIED,
          ..
        ),
  
      -- * ForwardingRuleAggregatedList_Warning_Code
      ForwardingRuleAggregatedList_Warning_Code
        ( ForwardingRuleAggregatedList_Warning_Code_CLEANUPFAILED,
          ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          ForwardingRuleAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ForwardingRuleAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ForwardingRuleAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          ForwardingRuleAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ForwardingRuleAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ForwardingRuleAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ForwardingRuleAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ForwardingRuleAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ForwardingRuleAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ForwardingRuleAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          ForwardingRuleAggregatedList_Warning_Code_NOTCRITICALERROR,
          ForwardingRuleAggregatedList_Warning_Code_NORESULTSONPAGE,
          ForwardingRuleAggregatedList_Warning_Code_PARTIALSUCCESS,
          ForwardingRuleAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ForwardingRuleAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ForwardingRuleAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ForwardingRuleAggregatedList_Warning_Code_RESOURCENOTDELETED,
          ForwardingRuleAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ForwardingRuleAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ForwardingRuleAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          ForwardingRuleAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ForwardingRuleList_Warning_Code
      ForwardingRuleList_Warning_Code
        ( ForwardingRuleList_Warning_Code_CLEANUPFAILED,
          ForwardingRuleList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ForwardingRuleList_Warning_Code_DEPRECATEDTYPEUSED,
          ForwardingRuleList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ForwardingRuleList_Warning_Code_EXPERIMENTALTYPEUSED,
          ForwardingRuleList_Warning_Code_EXTERNALAPIWARNING,
          ForwardingRuleList_Warning_Code_FIELDVALUEOVERRIDEN,
          ForwardingRuleList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ForwardingRuleList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ForwardingRuleList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ForwardingRuleList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ForwardingRuleList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ForwardingRuleList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ForwardingRuleList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ForwardingRuleList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ForwardingRuleList_Warning_Code_NEXTHOPNOTRUNNING,
          ForwardingRuleList_Warning_Code_NOTCRITICALERROR,
          ForwardingRuleList_Warning_Code_NORESULTSONPAGE,
          ForwardingRuleList_Warning_Code_PARTIALSUCCESS,
          ForwardingRuleList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ForwardingRuleList_Warning_Code_REQUIREDTOSAGREEMENT,
          ForwardingRuleList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ForwardingRuleList_Warning_Code_RESOURCENOTDELETED,
          ForwardingRuleList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ForwardingRuleList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ForwardingRuleList_Warning_Code_UNDECLAREDPROPERTIES,
          ForwardingRuleList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ForwardingRulesScopedList_Warning_Code
      ForwardingRulesScopedList_Warning_Code
        ( ForwardingRulesScopedList_Warning_Code_CLEANUPFAILED,
          ForwardingRulesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ForwardingRulesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          ForwardingRulesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ForwardingRulesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ForwardingRulesScopedList_Warning_Code_EXTERNALAPIWARNING,
          ForwardingRulesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ForwardingRulesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ForwardingRulesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ForwardingRulesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ForwardingRulesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ForwardingRulesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ForwardingRulesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          ForwardingRulesScopedList_Warning_Code_NOTCRITICALERROR,
          ForwardingRulesScopedList_Warning_Code_NORESULTSONPAGE,
          ForwardingRulesScopedList_Warning_Code_PARTIALSUCCESS,
          ForwardingRulesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ForwardingRulesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ForwardingRulesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ForwardingRulesScopedList_Warning_Code_RESOURCENOTDELETED,
          ForwardingRulesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ForwardingRulesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ForwardingRulesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          ForwardingRulesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * GRPCHealthCheck_PortSpecification
      GRPCHealthCheck_PortSpecification
        ( GRPCHealthCheck_PortSpecification_USEFIXEDPORT,
          GRPCHealthCheck_PortSpecification_USENAMEDPORT,
          GRPCHealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * GuestOsFeature_Type
      GuestOsFeature_Type
        ( GuestOsFeature_Type_FEATURETYPEUNSPECIFIED,
          GuestOsFeature_Type_Gvnic,
          GuestOsFeature_Type_Idpf,
          GuestOsFeature_Type_MULTIIPSUBNET,
          GuestOsFeature_Type_SECUREBOOT,
          GuestOsFeature_Type_SEVCAPABLE,
          GuestOsFeature_Type_SEVLIVEMIGRATABLE,
          GuestOsFeature_Type_SEV_LIVE_MIGRATABLE_V2,
          GuestOsFeature_Type_SEVSNPCAPABLE,
          GuestOsFeature_Type_TDXCAPABLE,
          GuestOsFeature_Type_UEFICOMPATIBLE,
          GuestOsFeature_Type_VIRTIOSCSIMULTIQUEUE,
          GuestOsFeature_Type_Windows,
          ..
        ),
  
      -- * HTTP2HealthCheck_PortSpecification
      HTTP2HealthCheck_PortSpecification
        ( HTTP2HealthCheck_PortSpecification_USEFIXEDPORT,
          HTTP2HealthCheck_PortSpecification_USENAMEDPORT,
          HTTP2HealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * HTTP2HealthCheck_ProxyHeader
      HTTP2HealthCheck_ProxyHeader
        ( HTTP2HealthCheck_ProxyHeader_None,
          HTTP2HealthCheck_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * HTTPHealthCheck_PortSpecification
      HTTPHealthCheck_PortSpecification
        ( HTTPHealthCheck_PortSpecification_USEFIXEDPORT,
          HTTPHealthCheck_PortSpecification_USENAMEDPORT,
          HTTPHealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * HTTPHealthCheck_ProxyHeader
      HTTPHealthCheck_ProxyHeader
        ( HTTPHealthCheck_ProxyHeader_None,
          HTTPHealthCheck_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * HTTPSHealthCheck_PortSpecification
      HTTPSHealthCheck_PortSpecification
        ( HTTPSHealthCheck_PortSpecification_USEFIXEDPORT,
          HTTPSHealthCheck_PortSpecification_USENAMEDPORT,
          HTTPSHealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * HTTPSHealthCheck_ProxyHeader
      HTTPSHealthCheck_ProxyHeader
        ( HTTPSHealthCheck_ProxyHeader_None,
          HTTPSHealthCheck_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * HealthCheck_Type
      HealthCheck_Type
        ( HealthCheck_Type_Grpc,
          HealthCheck_Type_Http,
          HealthCheck_Type_HTTP2,
          HealthCheck_Type_Https,
          HealthCheck_Type_Invalid,
          HealthCheck_Type_Ssl,
          HealthCheck_Type_Tcp,
          ..
        ),
  
      -- * HealthCheckList_Warning_Code
      HealthCheckList_Warning_Code
        ( HealthCheckList_Warning_Code_CLEANUPFAILED,
          HealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
          HealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
          HealthCheckList_Warning_Code_EXTERNALAPIWARNING,
          HealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
          HealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
          HealthCheckList_Warning_Code_NOTCRITICALERROR,
          HealthCheckList_Warning_Code_NORESULTSONPAGE,
          HealthCheckList_Warning_Code_PARTIALSUCCESS,
          HealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
          HealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HealthCheckList_Warning_Code_RESOURCENOTDELETED,
          HealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
          HealthCheckList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * HealthCheckService_HealthStatusAggregationPolicy
      HealthCheckService_HealthStatusAggregationPolicy
        ( HealthCheckService_HealthStatusAggregationPolicy_And,
          HealthCheckService_HealthStatusAggregationPolicy_NOAGGREGATION,
          ..
        ),
  
      -- * HealthCheckServicesList_Warning_Code
      HealthCheckServicesList_Warning_Code
        ( HealthCheckServicesList_Warning_Code_CLEANUPFAILED,
          HealthCheckServicesList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HealthCheckServicesList_Warning_Code_DEPRECATEDTYPEUSED,
          HealthCheckServicesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HealthCheckServicesList_Warning_Code_EXPERIMENTALTYPEUSED,
          HealthCheckServicesList_Warning_Code_EXTERNALAPIWARNING,
          HealthCheckServicesList_Warning_Code_FIELDVALUEOVERRIDEN,
          HealthCheckServicesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HealthCheckServicesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HealthCheckServicesList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HealthCheckServicesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HealthCheckServicesList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HealthCheckServicesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HealthCheckServicesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HealthCheckServicesList_Warning_Code_NEXTHOPNOTRUNNING,
          HealthCheckServicesList_Warning_Code_NOTCRITICALERROR,
          HealthCheckServicesList_Warning_Code_NORESULTSONPAGE,
          HealthCheckServicesList_Warning_Code_PARTIALSUCCESS,
          HealthCheckServicesList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HealthCheckServicesList_Warning_Code_REQUIREDTOSAGREEMENT,
          HealthCheckServicesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HealthCheckServicesList_Warning_Code_RESOURCENOTDELETED,
          HealthCheckServicesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HealthCheckServicesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HealthCheckServicesList_Warning_Code_UNDECLAREDPROPERTIES,
          HealthCheckServicesList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * HealthChecksAggregatedList_Warning_Code
      HealthChecksAggregatedList_Warning_Code
        ( HealthChecksAggregatedList_Warning_Code_CLEANUPFAILED,
          HealthChecksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HealthChecksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          HealthChecksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HealthChecksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          HealthChecksAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          HealthChecksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          HealthChecksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HealthChecksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HealthChecksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HealthChecksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HealthChecksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HealthChecksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          HealthChecksAggregatedList_Warning_Code_NOTCRITICALERROR,
          HealthChecksAggregatedList_Warning_Code_NORESULTSONPAGE,
          HealthChecksAggregatedList_Warning_Code_PARTIALSUCCESS,
          HealthChecksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HealthChecksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          HealthChecksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HealthChecksAggregatedList_Warning_Code_RESOURCENOTDELETED,
          HealthChecksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HealthChecksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HealthChecksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          HealthChecksAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * HealthChecksScopedList_Warning_Code
      HealthChecksScopedList_Warning_Code
        ( HealthChecksScopedList_Warning_Code_CLEANUPFAILED,
          HealthChecksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HealthChecksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          HealthChecksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HealthChecksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          HealthChecksScopedList_Warning_Code_EXTERNALAPIWARNING,
          HealthChecksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          HealthChecksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HealthChecksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HealthChecksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HealthChecksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HealthChecksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HealthChecksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HealthChecksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HealthChecksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          HealthChecksScopedList_Warning_Code_NOTCRITICALERROR,
          HealthChecksScopedList_Warning_Code_NORESULTSONPAGE,
          HealthChecksScopedList_Warning_Code_PARTIALSUCCESS,
          HealthChecksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HealthChecksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          HealthChecksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HealthChecksScopedList_Warning_Code_RESOURCENOTDELETED,
          HealthChecksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HealthChecksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HealthChecksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          HealthChecksScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * HealthStatus_HealthState
      HealthStatus_HealthState
        ( HealthStatus_HealthState_Healthy,
          HealthStatus_HealthState_Unhealthy,
          ..
        ),
  
      -- * HealthStatus_Ipv6HealthState
      HealthStatus_Ipv6HealthState
        ( HealthStatus_Ipv6HealthState_Healthy,
          HealthStatus_Ipv6HealthState_Unhealthy,
          ..
        ),
  
      -- * HealthStatus_WeightError
      HealthStatus_WeightError
        ( HealthStatus_WeightError_INVALIDWEIGHT,
          HealthStatus_WeightError_MISSINGWEIGHT,
          HealthStatus_WeightError_UNAVAILABLEWEIGHT,
          HealthStatus_WeightError_WEIGHTNONE,
          ..
        ),
  
      -- * HealthStatusForNetworkEndpoint_HealthState
      HealthStatusForNetworkEndpoint_HealthState
        ( HealthStatusForNetworkEndpoint_HealthState_Draining,
          HealthStatusForNetworkEndpoint_HealthState_Healthy,
          HealthStatusForNetworkEndpoint_HealthState_Unhealthy,
          HealthStatusForNetworkEndpoint_HealthState_Unknown,
          ..
        ),
  
      -- * HealthStatusForNetworkEndpoint_Ipv6HealthState
      HealthStatusForNetworkEndpoint_Ipv6HealthState
        ( HealthStatusForNetworkEndpoint_Ipv6HealthState_Draining,
          HealthStatusForNetworkEndpoint_Ipv6HealthState_Healthy,
          HealthStatusForNetworkEndpoint_Ipv6HealthState_Unhealthy,
          HealthStatusForNetworkEndpoint_Ipv6HealthState_Unknown,
          ..
        ),
  
      -- * HttpHealthCheckList_Warning_Code
      HttpHealthCheckList_Warning_Code
        ( HttpHealthCheckList_Warning_Code_CLEANUPFAILED,
          HttpHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HttpHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
          HttpHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HttpHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
          HttpHealthCheckList_Warning_Code_EXTERNALAPIWARNING,
          HttpHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
          HttpHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HttpHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HttpHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HttpHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HttpHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HttpHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HttpHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HttpHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
          HttpHealthCheckList_Warning_Code_NOTCRITICALERROR,
          HttpHealthCheckList_Warning_Code_NORESULTSONPAGE,
          HttpHealthCheckList_Warning_Code_PARTIALSUCCESS,
          HttpHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HttpHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
          HttpHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HttpHealthCheckList_Warning_Code_RESOURCENOTDELETED,
          HttpHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HttpHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HttpHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
          HttpHealthCheckList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * HttpRedirectAction_RedirectResponseCode
      HttpRedirectAction_RedirectResponseCode
        ( HttpRedirectAction_RedirectResponseCode_Found,
          HttpRedirectAction_RedirectResponseCode_MOVEDPERMANENTLYDEFAULT,
          HttpRedirectAction_RedirectResponseCode_PERMANENTREDIRECT,
          HttpRedirectAction_RedirectResponseCode_SEEOTHER,
          HttpRedirectAction_RedirectResponseCode_TEMPORARYREDIRECT,
          ..
        ),
  
      -- * HttpsHealthCheckList_Warning_Code
      HttpsHealthCheckList_Warning_Code
        ( HttpsHealthCheckList_Warning_Code_CLEANUPFAILED,
          HttpsHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
          HttpsHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
          HttpsHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          HttpsHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
          HttpsHealthCheckList_Warning_Code_EXTERNALAPIWARNING,
          HttpsHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
          HttpsHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          HttpsHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          HttpsHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
          HttpsHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          HttpsHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
          HttpsHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          HttpsHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          HttpsHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
          HttpsHealthCheckList_Warning_Code_NOTCRITICALERROR,
          HttpsHealthCheckList_Warning_Code_NORESULTSONPAGE,
          HttpsHealthCheckList_Warning_Code_PARTIALSUCCESS,
          HttpsHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
          HttpsHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
          HttpsHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          HttpsHealthCheckList_Warning_Code_RESOURCENOTDELETED,
          HttpsHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          HttpsHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          HttpsHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
          HttpsHealthCheckList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Image_Architecture
      Image_Architecture
        ( Image_Architecture_ARCHITECTUREUNSPECIFIED,
          Image_Architecture_ARM64,
          Image_Architecture_X86_64,
          ..
        ),
  
      -- * Image_RawDisk_ContainerType
      Image_RawDisk_ContainerType
        ( Image_RawDisk_ContainerType_Tar,
          ..
        ),
  
      -- * Image_SourceType
      Image_SourceType
        ( Image_SourceType_Raw,
          ..
        ),
  
      -- * Image_Status
      Image_Status
        ( Image_Status_Deleting,
          Image_Status_Failed,
          Image_Status_Pending,
          Image_Status_Ready,
          ..
        ),
  
      -- * ImageList_Warning_Code
      ImageList_Warning_Code
        ( ImageList_Warning_Code_CLEANUPFAILED,
          ImageList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ImageList_Warning_Code_DEPRECATEDTYPEUSED,
          ImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ImageList_Warning_Code_EXPERIMENTALTYPEUSED,
          ImageList_Warning_Code_EXTERNALAPIWARNING,
          ImageList_Warning_Code_FIELDVALUEOVERRIDEN,
          ImageList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ImageList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ImageList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ImageList_Warning_Code_NEXTHOPNOTRUNNING,
          ImageList_Warning_Code_NOTCRITICALERROR,
          ImageList_Warning_Code_NORESULTSONPAGE,
          ImageList_Warning_Code_PARTIALSUCCESS,
          ImageList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ImageList_Warning_Code_REQUIREDTOSAGREEMENT,
          ImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ImageList_Warning_Code_RESOURCENOTDELETED,
          ImageList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ImageList_Warning_Code_UNDECLAREDPROPERTIES,
          ImageList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Instance_KeyRevocationActionType
      Instance_KeyRevocationActionType
        ( Instance_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
          Instance_KeyRevocationActionType_None,
          Instance_KeyRevocationActionType_Stop,
          ..
        ),
  
      -- * Instance_PrivateIpv6GoogleAccess
      Instance_PrivateIpv6GoogleAccess
        ( Instance_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
          Instance_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
          Instance_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK,
          ..
        ),
  
      -- * Instance_Status
      Instance_Status
        ( Instance_Status_Deprovisioning,
          Instance_Status_Provisioning,
          Instance_Status_Repairing,
          Instance_Status_Running,
          Instance_Status_Staging,
          Instance_Status_Stopped,
          Instance_Status_Stopping,
          Instance_Status_Suspended,
          Instance_Status_Suspending,
          Instance_Status_Terminated,
          ..
        ),
  
      -- * InstanceAggregatedList_Warning_Code
      InstanceAggregatedList_Warning_Code
        ( InstanceAggregatedList_Warning_Code_CLEANUPFAILED,
          InstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceAggregatedList_Warning_Code_NOTCRITICALERROR,
          InstanceAggregatedList_Warning_Code_NORESULTSONPAGE,
          InstanceAggregatedList_Warning_Code_PARTIALSUCCESS,
          InstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupAggregatedList_Warning_Code
      InstanceGroupAggregatedList_Warning_Code
        ( InstanceGroupAggregatedList_Warning_Code_CLEANUPFAILED,
          InstanceGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupList_Warning_Code
      InstanceGroupList_Warning_Code
        ( InstanceGroupList_Warning_Code_CLEANUPFAILED,
          InstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupManager_ListManagedInstancesResults
      InstanceGroupManager_ListManagedInstancesResults
        ( InstanceGroupManager_ListManagedInstancesResults_Pageless,
          InstanceGroupManager_ListManagedInstancesResults_Paginated,
          ..
        ),
  
      -- * InstanceGroupManagerAggregatedList_Warning_Code
      InstanceGroupManagerAggregatedList_Warning_Code
        ( InstanceGroupManagerAggregatedList_Warning_Code_CLEANUPFAILED,
          InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupManagerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupManagerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupManagerAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupManagerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupManagerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupManagerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupManagerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupManagerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupManagerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupManagerAggregatedList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupManagerAggregatedList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupManagerAggregatedList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupManagerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupManagerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupManagerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupManagerAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupManagerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupManagerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupManagerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupManagerAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure
      InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure
        ( InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_DONOTHING,
          InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_Repair,
          ..
        ),
  
      -- * InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair
      InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair
        ( InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_NO,
          InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_Yes,
          ..
        ),
  
      -- * InstanceGroupManagerList_Warning_Code
      InstanceGroupManagerList_Warning_Code
        ( InstanceGroupManagerList_Warning_Code_CLEANUPFAILED,
          InstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupManagerList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupManagerList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupManagerList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupManagerList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupManagerResizeRequest_State
      InstanceGroupManagerResizeRequest_State
        ( InstanceGroupManagerResizeRequest_State_Accepted,
          InstanceGroupManagerResizeRequest_State_Cancelled,
          InstanceGroupManagerResizeRequest_State_Creating,
          InstanceGroupManagerResizeRequest_State_Failed,
          InstanceGroupManagerResizeRequest_State_STATEUNSPECIFIED,
          InstanceGroupManagerResizeRequest_State_Succeeded,
          ..
        ),
  
      -- * InstanceGroupManagerResizeRequestsListResponse_Warning_Code
      InstanceGroupManagerResizeRequestsListResponse_Warning_Code
        ( InstanceGroupManagerResizeRequestsListResponse_Warning_Code_CLEANUPFAILED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NOTCRITICALERROR,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NORESULTSONPAGE,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_PARTIALSUCCESS,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupManagerResizeRequestsListResponse_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupManagerStandbyPolicy_Mode
      InstanceGroupManagerStandbyPolicy_Mode
        ( InstanceGroupManagerStandbyPolicy_Mode_Manual,
          InstanceGroupManagerStandbyPolicy_Mode_SCALEOUTPOOL,
          ..
        ),
  
      -- * InstanceGroupManagerUpdatePolicy_InstanceRedistributionType
      InstanceGroupManagerUpdatePolicy_InstanceRedistributionType
        ( InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_None,
          InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_Proactive,
          ..
        ),
  
      -- * InstanceGroupManagerUpdatePolicy_MinimalAction
      InstanceGroupManagerUpdatePolicy_MinimalAction
        ( InstanceGroupManagerUpdatePolicy_MinimalAction_None,
          InstanceGroupManagerUpdatePolicy_MinimalAction_Refresh,
          InstanceGroupManagerUpdatePolicy_MinimalAction_Replace,
          InstanceGroupManagerUpdatePolicy_MinimalAction_Restart,
          ..
        ),
  
      -- * InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
      InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
        ( InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_None,
          InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Refresh,
          InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Replace,
          InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Restart,
          ..
        ),
  
      -- * InstanceGroupManagerUpdatePolicy_ReplacementMethod
      InstanceGroupManagerUpdatePolicy_ReplacementMethod
        ( InstanceGroupManagerUpdatePolicy_ReplacementMethod_Recreate,
          InstanceGroupManagerUpdatePolicy_ReplacementMethod_Substitute,
          ..
        ),
  
      -- * InstanceGroupManagerUpdatePolicy_Type
      InstanceGroupManagerUpdatePolicy_Type
        ( InstanceGroupManagerUpdatePolicy_Type_Opportunistic,
          InstanceGroupManagerUpdatePolicy_Type_Proactive,
          ..
        ),
  
      -- * InstanceGroupManagersApplyUpdatesRequest_MinimalAction
      InstanceGroupManagersApplyUpdatesRequest_MinimalAction
        ( InstanceGroupManagersApplyUpdatesRequest_MinimalAction_None,
          InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh,
          InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace,
          InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart,
          ..
        ),
  
      -- * InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
      InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
        ( InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None,
          InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh,
          InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace,
          InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart,
          ..
        ),
  
      -- * InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
      InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
        ( InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_CLEANUPFAILED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NOTCRITICALERROR,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NORESULTSONPAGE,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_PARTIALSUCCESS,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupManagersScopedList_Warning_Code
      InstanceGroupManagersScopedList_Warning_Code
        ( InstanceGroupManagersScopedList_Warning_Code_CLEANUPFAILED,
          InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupManagersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupManagersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupManagersScopedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupManagersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupManagersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupManagersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupManagersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupManagersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupManagersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupManagersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupManagersScopedList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupManagersScopedList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupManagersScopedList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupManagersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupManagersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupManagersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupManagersScopedList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupManagersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupManagersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupManagersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupManagersScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupsListInstances_Warning_Code
      InstanceGroupsListInstances_Warning_Code
        ( InstanceGroupsListInstances_Warning_Code_CLEANUPFAILED,
          InstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR,
          InstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE,
          InstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS,
          InstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupsListInstances_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceGroupsListInstancesRequest_InstanceState
      InstanceGroupsListInstancesRequest_InstanceState
        ( InstanceGroupsListInstancesRequest_InstanceState_All,
          InstanceGroupsListInstancesRequest_InstanceState_Running,
          ..
        ),
  
      -- * InstanceGroupsScopedList_Warning_Code
      InstanceGroupsScopedList_Warning_Code
        ( InstanceGroupsScopedList_Warning_Code_CLEANUPFAILED,
          InstanceGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceGroupsScopedList_Warning_Code_NOTCRITICALERROR,
          InstanceGroupsScopedList_Warning_Code_NORESULTSONPAGE,
          InstanceGroupsScopedList_Warning_Code_PARTIALSUCCESS,
          InstanceGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
          InstanceGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceGroupsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceList_Warning_Code
      InstanceList_Warning_Code
        ( InstanceList_Warning_Code_CLEANUPFAILED,
          InstanceList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceList_Warning_Code_EXTERNALAPIWARNING,
          InstanceList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceList_Warning_Code_NOTCRITICALERROR,
          InstanceList_Warning_Code_NORESULTSONPAGE,
          InstanceList_Warning_Code_PARTIALSUCCESS,
          InstanceList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceList_Warning_Code_RESOURCENOTDELETED,
          InstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceListReferrers_Warning_Code
      InstanceListReferrers_Warning_Code
        ( InstanceListReferrers_Warning_Code_CLEANUPFAILED,
          InstanceListReferrers_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceListReferrers_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceListReferrers_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceListReferrers_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceListReferrers_Warning_Code_EXTERNALAPIWARNING,
          InstanceListReferrers_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceListReferrers_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceListReferrers_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceListReferrers_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceListReferrers_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceListReferrers_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceListReferrers_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceListReferrers_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceListReferrers_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceListReferrers_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceListReferrers_Warning_Code_NOTCRITICALERROR,
          InstanceListReferrers_Warning_Code_NORESULTSONPAGE,
          InstanceListReferrers_Warning_Code_PARTIALSUCCESS,
          InstanceListReferrers_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceListReferrers_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceListReferrers_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceListReferrers_Warning_Code_RESOURCENOTDELETED,
          InstanceListReferrers_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceListReferrers_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceListReferrers_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceListReferrers_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceManagedByIgmErrorInstanceActionDetails_Action
      InstanceManagedByIgmErrorInstanceActionDetails_Action
        ( InstanceManagedByIgmErrorInstanceActionDetails_Action_Abandoning,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Creating,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_CREATINGWITHOUTRETRIES,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Deleting,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_None,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Recreating,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Refreshing,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Restarting,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Resuming,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Starting,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Stopping,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Suspending,
          InstanceManagedByIgmErrorInstanceActionDetails_Action_Verifying,
          ..
        ),
  
      -- * InstanceProperties_KeyRevocationActionType
      InstanceProperties_KeyRevocationActionType
        ( InstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
          InstanceProperties_KeyRevocationActionType_None,
          InstanceProperties_KeyRevocationActionType_Stop,
          ..
        ),
  
      -- * InstanceProperties_PrivateIpv6GoogleAccess
      InstanceProperties_PrivateIpv6GoogleAccess
        ( InstanceProperties_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
          InstanceProperties_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
          InstanceProperties_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK,
          ..
        ),
  
      -- * InstanceTemplateAggregatedList_Warning_Code
      InstanceTemplateAggregatedList_Warning_Code
        ( InstanceTemplateAggregatedList_Warning_Code_CLEANUPFAILED,
          InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceTemplateAggregatedList_Warning_Code_NOTCRITICALERROR,
          InstanceTemplateAggregatedList_Warning_Code_NORESULTSONPAGE,
          InstanceTemplateAggregatedList_Warning_Code_PARTIALSUCCESS,
          InstanceTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InstanceTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceTemplateAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceTemplateList_Warning_Code
      InstanceTemplateList_Warning_Code
        ( InstanceTemplateList_Warning_Code_CLEANUPFAILED,
          InstanceTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceTemplateList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceTemplateList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceTemplateList_Warning_Code_EXTERNALAPIWARNING,
          InstanceTemplateList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceTemplateList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceTemplateList_Warning_Code_NOTCRITICALERROR,
          InstanceTemplateList_Warning_Code_NORESULTSONPAGE,
          InstanceTemplateList_Warning_Code_PARTIALSUCCESS,
          InstanceTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceTemplateList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceTemplateList_Warning_Code_RESOURCENOTDELETED,
          InstanceTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceTemplateList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceTemplateList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceTemplatesScopedList_Warning_Code
      InstanceTemplatesScopedList_Warning_Code
        ( InstanceTemplatesScopedList_Warning_Code_CLEANUPFAILED,
          InstanceTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstanceTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstanceTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstanceTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstanceTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING,
          InstanceTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstanceTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstanceTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstanceTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstanceTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstanceTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstanceTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstanceTemplatesScopedList_Warning_Code_NOTCRITICALERROR,
          InstanceTemplatesScopedList_Warning_Code_NORESULTSONPAGE,
          InstanceTemplatesScopedList_Warning_Code_PARTIALSUCCESS,
          InstanceTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstanceTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstanceTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstanceTemplatesScopedList_Warning_Code_RESOURCENOTDELETED,
          InstanceTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstanceTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstanceTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstanceTemplatesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstanceWithNamedPorts_Status
      InstanceWithNamedPorts_Status
        ( InstanceWithNamedPorts_Status_Deprovisioning,
          InstanceWithNamedPorts_Status_Provisioning,
          InstanceWithNamedPorts_Status_Repairing,
          InstanceWithNamedPorts_Status_Running,
          InstanceWithNamedPorts_Status_Staging,
          InstanceWithNamedPorts_Status_Stopped,
          InstanceWithNamedPorts_Status_Stopping,
          InstanceWithNamedPorts_Status_Suspended,
          InstanceWithNamedPorts_Status_Suspending,
          InstanceWithNamedPorts_Status_Terminated,
          ..
        ),
  
      -- * InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
      InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
        ( InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
          InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
          InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL,
          InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL,
          InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL,
          InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
          ..
        ),
  
      -- * InstancesReportHostAsFaultyRequest_DisruptionSchedule
      InstancesReportHostAsFaultyRequest_DisruptionSchedule
        ( InstancesReportHostAsFaultyRequest_DisruptionSchedule_DISRUPTIONSCHEDULEUNSPECIFIED,
          InstancesReportHostAsFaultyRequest_DisruptionSchedule_Future,
          InstancesReportHostAsFaultyRequest_DisruptionSchedule_Immediate,
          ..
        ),
  
      -- * InstancesReportHostAsFaultyRequestFaultReason_Behavior
      InstancesReportHostAsFaultyRequestFaultReason_Behavior
        ( InstancesReportHostAsFaultyRequestFaultReason_Behavior_BEHAVIORUNSPECIFIED,
          InstancesReportHostAsFaultyRequestFaultReason_Behavior_Performance,
          InstancesReportHostAsFaultyRequestFaultReason_Behavior_SILENTDATACORRUPTION,
          InstancesReportHostAsFaultyRequestFaultReason_Behavior_UNRECOVERABLEGPUERROR,
          ..
        ),
  
      -- * InstancesScopedList_Warning_Code
      InstancesScopedList_Warning_Code
        ( InstancesScopedList_Warning_Code_CLEANUPFAILED,
          InstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstancesScopedList_Warning_Code_EXTERNALAPIWARNING,
          InstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstancesScopedList_Warning_Code_NOTCRITICALERROR,
          InstancesScopedList_Warning_Code_NORESULTSONPAGE,
          InstancesScopedList_Warning_Code_PARTIALSUCCESS,
          InstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstancesScopedList_Warning_Code_RESOURCENOTDELETED,
          InstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstancesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstantSnapshot_Architecture
      InstantSnapshot_Architecture
        ( InstantSnapshot_Architecture_ARCHITECTUREUNSPECIFIED,
          InstantSnapshot_Architecture_ARM64,
          InstantSnapshot_Architecture_X86_64,
          ..
        ),
  
      -- * InstantSnapshot_Status
      InstantSnapshot_Status
        ( InstantSnapshot_Status_Creating,
          InstantSnapshot_Status_Deleting,
          InstantSnapshot_Status_Failed,
          InstantSnapshot_Status_Ready,
          InstantSnapshot_Status_Unavailable,
          ..
        ),
  
      -- * InstantSnapshotAggregatedList_Warning_Code
      InstantSnapshotAggregatedList_Warning_Code
        ( InstantSnapshotAggregatedList_Warning_Code_CLEANUPFAILED,
          InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstantSnapshotAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstantSnapshotAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstantSnapshotAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InstantSnapshotAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstantSnapshotAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstantSnapshotAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstantSnapshotAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstantSnapshotAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstantSnapshotAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstantSnapshotAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstantSnapshotAggregatedList_Warning_Code_NOTCRITICALERROR,
          InstantSnapshotAggregatedList_Warning_Code_NORESULTSONPAGE,
          InstantSnapshotAggregatedList_Warning_Code_PARTIALSUCCESS,
          InstantSnapshotAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstantSnapshotAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstantSnapshotAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstantSnapshotAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InstantSnapshotAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstantSnapshotAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstantSnapshotAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstantSnapshotAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstantSnapshotList_Warning_Code
      InstantSnapshotList_Warning_Code
        ( InstantSnapshotList_Warning_Code_CLEANUPFAILED,
          InstantSnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstantSnapshotList_Warning_Code_DEPRECATEDTYPEUSED,
          InstantSnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstantSnapshotList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstantSnapshotList_Warning_Code_EXTERNALAPIWARNING,
          InstantSnapshotList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstantSnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstantSnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstantSnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstantSnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstantSnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstantSnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstantSnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstantSnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstantSnapshotList_Warning_Code_NEXTHOPNOTRUNNING,
          InstantSnapshotList_Warning_Code_NOTCRITICALERROR,
          InstantSnapshotList_Warning_Code_NORESULTSONPAGE,
          InstantSnapshotList_Warning_Code_PARTIALSUCCESS,
          InstantSnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstantSnapshotList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstantSnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstantSnapshotList_Warning_Code_RESOURCENOTDELETED,
          InstantSnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstantSnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstantSnapshotList_Warning_Code_UNDECLAREDPROPERTIES,
          InstantSnapshotList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstantSnapshotsScopedList_Warning_Code
      InstantSnapshotsScopedList_Warning_Code
        ( InstantSnapshotsScopedList_Warning_Code_CLEANUPFAILED,
          InstantSnapshotsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InstantSnapshotsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InstantSnapshotsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InstantSnapshotsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InstantSnapshotsScopedList_Warning_Code_EXTERNALAPIWARNING,
          InstantSnapshotsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InstantSnapshotsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InstantSnapshotsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InstantSnapshotsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InstantSnapshotsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InstantSnapshotsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InstantSnapshotsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InstantSnapshotsScopedList_Warning_Code_NOTCRITICALERROR,
          InstantSnapshotsScopedList_Warning_Code_NORESULTSONPAGE,
          InstantSnapshotsScopedList_Warning_Code_PARTIALSUCCESS,
          InstantSnapshotsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InstantSnapshotsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InstantSnapshotsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InstantSnapshotsScopedList_Warning_Code_RESOURCENOTDELETED,
          InstantSnapshotsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InstantSnapshotsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InstantSnapshotsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InstantSnapshotsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Interconnect_AvailableFeaturesItem
      Interconnect_AvailableFeaturesItem
        ( Interconnect_AvailableFeaturesItem_IFMACSEC,
          ..
        ),
  
      -- * Interconnect_InterconnectType
      Interconnect_InterconnectType
        ( Interconnect_InterconnectType_Dedicated,
          Interconnect_InterconnectType_ITPRIVATE,
          Interconnect_InterconnectType_Partner,
          ..
        ),
  
      -- * Interconnect_LinkType
      Interconnect_LinkType
        ( Interconnect_LinkType_LINKTYPEETHERNET100GLR,
          Interconnect_LinkType_LINKTYPEETHERNET10GLR,
          ..
        ),
  
      -- * Interconnect_OperationalStatus
      Interconnect_OperationalStatus
        ( Interconnect_OperationalStatus_OSACTIVE,
          Interconnect_OperationalStatus_OSUNPROVISIONED,
          ..
        ),
  
      -- * Interconnect_RequestedFeaturesItem
      Interconnect_RequestedFeaturesItem
        ( Interconnect_RequestedFeaturesItem_IFMACSEC,
          ..
        ),
  
      -- * Interconnect_State
      Interconnect_State
        ( Interconnect_State_Active,
          Interconnect_State_Unprovisioned,
          ..
        ),
  
      -- * InterconnectAttachment_Bandwidth
      InterconnectAttachment_Bandwidth
        ( InterconnectAttachment_Bandwidth_BPS100G,
          InterconnectAttachment_Bandwidth_BPS100M,
          InterconnectAttachment_Bandwidth_BPS10G,
          InterconnectAttachment_Bandwidth_BPS1G,
          InterconnectAttachment_Bandwidth_BPS200M,
          InterconnectAttachment_Bandwidth_BPS20G,
          InterconnectAttachment_Bandwidth_BPS2G,
          InterconnectAttachment_Bandwidth_BPS300M,
          InterconnectAttachment_Bandwidth_BPS400M,
          InterconnectAttachment_Bandwidth_BPS500M,
          InterconnectAttachment_Bandwidth_BPS50G,
          InterconnectAttachment_Bandwidth_BPS50M,
          InterconnectAttachment_Bandwidth_BPS5G,
          ..
        ),
  
      -- * InterconnectAttachment_EdgeAvailabilityDomain
      InterconnectAttachment_EdgeAvailabilityDomain
        ( InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_1,
          InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_2,
          InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITYDOMAINANY,
          ..
        ),
  
      -- * InterconnectAttachment_Encryption
      InterconnectAttachment_Encryption
        ( InterconnectAttachment_Encryption_Ipsec,
          InterconnectAttachment_Encryption_None,
          ..
        ),
  
      -- * InterconnectAttachment_OperationalStatus
      InterconnectAttachment_OperationalStatus
        ( InterconnectAttachment_OperationalStatus_OSACTIVE,
          InterconnectAttachment_OperationalStatus_OSUNPROVISIONED,
          ..
        ),
  
      -- * InterconnectAttachment_StackType
      InterconnectAttachment_StackType
        ( InterconnectAttachment_StackType_IPV4_IPV6,
          InterconnectAttachment_StackType_IPV4ONLY,
          ..
        ),
  
      -- * InterconnectAttachment_State
      InterconnectAttachment_State
        ( InterconnectAttachment_State_Active,
          InterconnectAttachment_State_Defunct,
          InterconnectAttachment_State_PARTNERREQUESTRECEIVED,
          InterconnectAttachment_State_PENDINGCUSTOMER,
          InterconnectAttachment_State_PENDINGPARTNER,
          InterconnectAttachment_State_STATEUNSPECIFIED,
          InterconnectAttachment_State_Unprovisioned,
          ..
        ),
  
      -- * InterconnectAttachment_Type
      InterconnectAttachment_Type
        ( InterconnectAttachment_Type_Dedicated,
          InterconnectAttachment_Type_Partner,
          InterconnectAttachment_Type_PARTNERPROVIDER,
          ..
        ),
  
      -- * InterconnectAttachmentAggregatedList_Warning_Code
      InterconnectAttachmentAggregatedList_Warning_Code
        ( InterconnectAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
          InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
          InterconnectAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
          InterconnectAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
          InterconnectAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
          InterconnectAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectAttachmentAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InterconnectAttachmentConfigurationConstraints_BgpMd5
      InterconnectAttachmentConfigurationConstraints_BgpMd5
        ( InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5OPTIONAL,
          InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5REQUIRED,
          InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5UNSUPPORTED,
          ..
        ),
  
      -- * InterconnectAttachmentList_Warning_Code
      InterconnectAttachmentList_Warning_Code
        ( InterconnectAttachmentList_Warning_Code_CLEANUPFAILED,
          InterconnectAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectAttachmentList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectAttachmentList_Warning_Code_NOTCRITICALERROR,
          InterconnectAttachmentList_Warning_Code_NORESULTSONPAGE,
          InterconnectAttachmentList_Warning_Code_PARTIALSUCCESS,
          InterconnectAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectAttachmentList_Warning_Code_RESOURCENOTDELETED,
          InterconnectAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectAttachmentList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InterconnectAttachmentsScopedList_Warning_Code
      InterconnectAttachmentsScopedList_Warning_Code
        ( InterconnectAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
          InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
          InterconnectAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
          InterconnectAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
          InterconnectAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
          InterconnectAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectAttachmentsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InterconnectDiagnostics_BundleAggregationType
      InterconnectDiagnostics_BundleAggregationType
        ( InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPELACP,
          InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPESTATIC,
          ..
        ),
  
      -- * InterconnectDiagnostics_BundleOperationalStatus
      InterconnectDiagnostics_BundleOperationalStatus
        ( InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSDOWN,
          InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSUP,
          ..
        ),
  
      -- * InterconnectDiagnosticsLinkLACPStatus_State
      InterconnectDiagnosticsLinkLACPStatus_State
        ( InterconnectDiagnosticsLinkLACPStatus_State_Active,
          InterconnectDiagnosticsLinkLACPStatus_State_Detached,
          ..
        ),
  
      -- * InterconnectDiagnosticsLinkOpticalPower_State
      InterconnectDiagnosticsLinkOpticalPower_State
        ( InterconnectDiagnosticsLinkOpticalPower_State_HIGHALARM,
          InterconnectDiagnosticsLinkOpticalPower_State_HIGHWARNING,
          InterconnectDiagnosticsLinkOpticalPower_State_LOWALARM,
          InterconnectDiagnosticsLinkOpticalPower_State_LOWWARNING,
          InterconnectDiagnosticsLinkOpticalPower_State_OK,
          ..
        ),
  
      -- * InterconnectDiagnosticsLinkStatus_OperationalStatus
      InterconnectDiagnosticsLinkStatus_OperationalStatus
        ( InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSDOWN,
          InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSUP,
          ..
        ),
  
      -- * InterconnectList_Warning_Code
      InterconnectList_Warning_Code
        ( InterconnectList_Warning_Code_CLEANUPFAILED,
          InterconnectList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectList_Warning_Code_NOTCRITICALERROR,
          InterconnectList_Warning_Code_NORESULTSONPAGE,
          InterconnectList_Warning_Code_PARTIALSUCCESS,
          InterconnectList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectList_Warning_Code_RESOURCENOTDELETED,
          InterconnectList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InterconnectLocation_AvailableFeaturesItem
      InterconnectLocation_AvailableFeaturesItem
        ( InterconnectLocation_AvailableFeaturesItem_IFMACSEC,
          ..
        ),
  
      -- * InterconnectLocation_AvailableLinkTypesItem
      InterconnectLocation_AvailableLinkTypesItem
        ( InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET100GLR,
          InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET10GLR,
          ..
        ),
  
      -- * InterconnectLocation_Continent
      InterconnectLocation_Continent
        ( InterconnectLocation_Continent_Africa,
          InterconnectLocation_Continent_ASIAPAC,
          InterconnectLocation_Continent_CAFRICA,
          InterconnectLocation_Continent_CASIAPAC,
          InterconnectLocation_Continent_CEUROPE,
          InterconnectLocation_Continent_CNORTHAMERICA,
          InterconnectLocation_Continent_CSOUTHAMERICA,
          InterconnectLocation_Continent_Europe,
          InterconnectLocation_Continent_NORTHAMERICA,
          InterconnectLocation_Continent_SOUTHAMERICA,
          ..
        ),
  
      -- * InterconnectLocation_Status
      InterconnectLocation_Status
        ( InterconnectLocation_Status_Available,
          InterconnectLocation_Status_Closed,
          ..
        ),
  
      -- * InterconnectLocationList_Warning_Code
      InterconnectLocationList_Warning_Code
        ( InterconnectLocationList_Warning_Code_CLEANUPFAILED,
          InterconnectLocationList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectLocationList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectLocationList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectLocationList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectLocationList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectLocationList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectLocationList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectLocationList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectLocationList_Warning_Code_NOTCRITICALERROR,
          InterconnectLocationList_Warning_Code_NORESULTSONPAGE,
          InterconnectLocationList_Warning_Code_PARTIALSUCCESS,
          InterconnectLocationList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectLocationList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectLocationList_Warning_Code_RESOURCENOTDELETED,
          InterconnectLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectLocationList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectLocationList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InterconnectLocationRegionInfo_LocationPresence
      InterconnectLocationRegionInfo_LocationPresence
        ( InterconnectLocationRegionInfo_LocationPresence_Global,
          InterconnectLocationRegionInfo_LocationPresence_LOCALREGION,
          InterconnectLocationRegionInfo_LocationPresence_LPGLOBAL,
          InterconnectLocationRegionInfo_LocationPresence_LPLOCALREGION,
          ..
        ),
  
      -- * InterconnectOutageNotification_IssueType
      InterconnectOutageNotification_IssueType
        ( InterconnectOutageNotification_IssueType_ITOUTAGE,
          InterconnectOutageNotification_IssueType_ITPARTIALOUTAGE,
          InterconnectOutageNotification_IssueType_Outage,
          InterconnectOutageNotification_IssueType_PARTIALOUTAGE,
          ..
        ),
  
      -- * InterconnectOutageNotification_Source
      InterconnectOutageNotification_Source
        ( InterconnectOutageNotification_Source_Google,
          InterconnectOutageNotification_Source_NSRCGOOGLE,
          ..
        ),
  
      -- * InterconnectOutageNotification_State
      InterconnectOutageNotification_State
        ( InterconnectOutageNotification_State_Active,
          InterconnectOutageNotification_State_Cancelled,
          InterconnectOutageNotification_State_Completed,
          InterconnectOutageNotification_State_NSACTIVE,
          InterconnectOutageNotification_State_NSCANCELED,
          ..
        ),
  
      -- * InterconnectRemoteLocation_Continent
      InterconnectRemoteLocation_Continent
        ( InterconnectRemoteLocation_Continent_Africa,
          InterconnectRemoteLocation_Continent_ASIAPAC,
          InterconnectRemoteLocation_Continent_Europe,
          InterconnectRemoteLocation_Continent_NORTHAMERICA,
          InterconnectRemoteLocation_Continent_SOUTHAMERICA,
          ..
        ),
  
      -- * InterconnectRemoteLocation_Lacp
      InterconnectRemoteLocation_Lacp
        ( InterconnectRemoteLocation_Lacp_LACPSUPPORTED,
          InterconnectRemoteLocation_Lacp_LACPUNSUPPORTED,
          ..
        ),
  
      -- * InterconnectRemoteLocation_Status
      InterconnectRemoteLocation_Status
        ( InterconnectRemoteLocation_Status_Available,
          InterconnectRemoteLocation_Status_Closed,
          ..
        ),
  
      -- * InterconnectRemoteLocationConstraints_PortPairRemoteLocation
      InterconnectRemoteLocationConstraints_PortPairRemoteLocation
        ( InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRMATCHINGREMOTELOCATION,
          InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRUNCONSTRAINEDREMOTELOCATION,
          ..
        ),
  
      -- * InterconnectRemoteLocationConstraints_PortPairVlan
      InterconnectRemoteLocationConstraints_PortPairVlan
        ( InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRMATCHINGVLAN,
          InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRUNCONSTRAINEDVLAN,
          ..
        ),
  
      -- * InterconnectRemoteLocationList_Warning_Code
      InterconnectRemoteLocationList_Warning_Code
        ( InterconnectRemoteLocationList_Warning_Code_CLEANUPFAILED,
          InterconnectRemoteLocationList_Warning_Code_DEPRECATEDRESOURCEUSED,
          InterconnectRemoteLocationList_Warning_Code_DEPRECATEDTYPEUSED,
          InterconnectRemoteLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          InterconnectRemoteLocationList_Warning_Code_EXPERIMENTALTYPEUSED,
          InterconnectRemoteLocationList_Warning_Code_EXTERNALAPIWARNING,
          InterconnectRemoteLocationList_Warning_Code_FIELDVALUEOVERRIDEN,
          InterconnectRemoteLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          InterconnectRemoteLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          InterconnectRemoteLocationList_Warning_Code_LARGEDEPLOYMENTWARNING,
          InterconnectRemoteLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          InterconnectRemoteLocationList_Warning_Code_MISSINGTYPEDEPENDENCY,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          InterconnectRemoteLocationList_Warning_Code_NEXTHOPNOTRUNNING,
          InterconnectRemoteLocationList_Warning_Code_NOTCRITICALERROR,
          InterconnectRemoteLocationList_Warning_Code_NORESULTSONPAGE,
          InterconnectRemoteLocationList_Warning_Code_PARTIALSUCCESS,
          InterconnectRemoteLocationList_Warning_Code_QUOTAINFOUNAVAILABLE,
          InterconnectRemoteLocationList_Warning_Code_REQUIREDTOSAGREEMENT,
          InterconnectRemoteLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          InterconnectRemoteLocationList_Warning_Code_RESOURCENOTDELETED,
          InterconnectRemoteLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          InterconnectRemoteLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          InterconnectRemoteLocationList_Warning_Code_UNDECLAREDPROPERTIES,
          InterconnectRemoteLocationList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * LicenseCode_State
      LicenseCode_State
        ( LicenseCode_State_Disabled,
          LicenseCode_State_Enabled,
          LicenseCode_State_Restricted,
          LicenseCode_State_STATEUNSPECIFIED,
          LicenseCode_State_Terminated,
          ..
        ),
  
      -- * LicensesListResponse_Warning_Code
      LicensesListResponse_Warning_Code
        ( LicensesListResponse_Warning_Code_CLEANUPFAILED,
          LicensesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
          LicensesListResponse_Warning_Code_DEPRECATEDTYPEUSED,
          LicensesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          LicensesListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
          LicensesListResponse_Warning_Code_EXTERNALAPIWARNING,
          LicensesListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
          LicensesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
          LicensesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          LicensesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
          LicensesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          LicensesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
          LicensesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          LicensesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          LicensesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          LicensesListResponse_Warning_Code_NEXTHOPNOTRUNNING,
          LicensesListResponse_Warning_Code_NOTCRITICALERROR,
          LicensesListResponse_Warning_Code_NORESULTSONPAGE,
          LicensesListResponse_Warning_Code_PARTIALSUCCESS,
          LicensesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
          LicensesListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
          LicensesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          LicensesListResponse_Warning_Code_RESOURCENOTDELETED,
          LicensesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
          LicensesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          LicensesListResponse_Warning_Code_UNDECLAREDPROPERTIES,
          LicensesListResponse_Warning_Code_Unreachable,
          ..
        ),
  
      -- * LocationPolicy_TargetShape
      LocationPolicy_TargetShape
        ( LocationPolicy_TargetShape_Any,
          LocationPolicy_TargetShape_ANYSINGLEZONE,
          LocationPolicy_TargetShape_Balanced,
          ..
        ),
  
      -- * LocationPolicyLocation_Preference
      LocationPolicyLocation_Preference
        ( LocationPolicyLocation_Preference_Allow,
          LocationPolicyLocation_Preference_Deny,
          LocationPolicyLocation_Preference_PREFERENCEUNSPECIFIED,
          ..
        ),
  
      -- * MachineImage_Status
      MachineImage_Status
        ( MachineImage_Status_Creating,
          MachineImage_Status_Deleting,
          MachineImage_Status_Invalid,
          MachineImage_Status_Ready,
          MachineImage_Status_Uploading,
          ..
        ),
  
      -- * MachineImageList_Warning_Code
      MachineImageList_Warning_Code
        ( MachineImageList_Warning_Code_CLEANUPFAILED,
          MachineImageList_Warning_Code_DEPRECATEDRESOURCEUSED,
          MachineImageList_Warning_Code_DEPRECATEDTYPEUSED,
          MachineImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          MachineImageList_Warning_Code_EXPERIMENTALTYPEUSED,
          MachineImageList_Warning_Code_EXTERNALAPIWARNING,
          MachineImageList_Warning_Code_FIELDVALUEOVERRIDEN,
          MachineImageList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          MachineImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          MachineImageList_Warning_Code_LARGEDEPLOYMENTWARNING,
          MachineImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          MachineImageList_Warning_Code_MISSINGTYPEDEPENDENCY,
          MachineImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          MachineImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          MachineImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          MachineImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          MachineImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          MachineImageList_Warning_Code_NEXTHOPNOTRUNNING,
          MachineImageList_Warning_Code_NOTCRITICALERROR,
          MachineImageList_Warning_Code_NORESULTSONPAGE,
          MachineImageList_Warning_Code_PARTIALSUCCESS,
          MachineImageList_Warning_Code_QUOTAINFOUNAVAILABLE,
          MachineImageList_Warning_Code_REQUIREDTOSAGREEMENT,
          MachineImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          MachineImageList_Warning_Code_RESOURCENOTDELETED,
          MachineImageList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          MachineImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          MachineImageList_Warning_Code_UNDECLAREDPROPERTIES,
          MachineImageList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * MachineType_Architecture
      MachineType_Architecture
        ( MachineType_Architecture_ARCHITECTUREUNSPECIFIED,
          MachineType_Architecture_ARM64,
          MachineType_Architecture_X86_64,
          ..
        ),
  
      -- * MachineTypeAggregatedList_Warning_Code
      MachineTypeAggregatedList_Warning_Code
        ( MachineTypeAggregatedList_Warning_Code_CLEANUPFAILED,
          MachineTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          MachineTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          MachineTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          MachineTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          MachineTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          MachineTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          MachineTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          MachineTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          MachineTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          MachineTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          MachineTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          MachineTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          MachineTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
          MachineTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
          MachineTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
          MachineTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          MachineTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          MachineTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          MachineTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
          MachineTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          MachineTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          MachineTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          MachineTypeAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * MachineTypeList_Warning_Code
      MachineTypeList_Warning_Code
        ( MachineTypeList_Warning_Code_CLEANUPFAILED,
          MachineTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          MachineTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          MachineTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          MachineTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          MachineTypeList_Warning_Code_EXTERNALAPIWARNING,
          MachineTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          MachineTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          MachineTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          MachineTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          MachineTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          MachineTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          MachineTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          MachineTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          MachineTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          MachineTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          MachineTypeList_Warning_Code_NOTCRITICALERROR,
          MachineTypeList_Warning_Code_NORESULTSONPAGE,
          MachineTypeList_Warning_Code_PARTIALSUCCESS,
          MachineTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          MachineTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          MachineTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          MachineTypeList_Warning_Code_RESOURCENOTDELETED,
          MachineTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          MachineTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          MachineTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          MachineTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * MachineTypesScopedList_Warning_Code
      MachineTypesScopedList_Warning_Code
        ( MachineTypesScopedList_Warning_Code_CLEANUPFAILED,
          MachineTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          MachineTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          MachineTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          MachineTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          MachineTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
          MachineTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          MachineTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          MachineTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          MachineTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          MachineTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          MachineTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          MachineTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          MachineTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          MachineTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          MachineTypesScopedList_Warning_Code_NOTCRITICALERROR,
          MachineTypesScopedList_Warning_Code_NORESULTSONPAGE,
          MachineTypesScopedList_Warning_Code_PARTIALSUCCESS,
          MachineTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          MachineTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          MachineTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          MachineTypesScopedList_Warning_Code_RESOURCENOTDELETED,
          MachineTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          MachineTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          MachineTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          MachineTypesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ManagedInstance_CurrentAction
      ManagedInstance_CurrentAction
        ( ManagedInstance_CurrentAction_Abandoning,
          ManagedInstance_CurrentAction_Creating,
          ManagedInstance_CurrentAction_CREATINGWITHOUTRETRIES,
          ManagedInstance_CurrentAction_Deleting,
          ManagedInstance_CurrentAction_None,
          ManagedInstance_CurrentAction_Recreating,
          ManagedInstance_CurrentAction_Refreshing,
          ManagedInstance_CurrentAction_Restarting,
          ManagedInstance_CurrentAction_Resuming,
          ManagedInstance_CurrentAction_Starting,
          ManagedInstance_CurrentAction_Stopping,
          ManagedInstance_CurrentAction_Suspending,
          ManagedInstance_CurrentAction_Verifying,
          ..
        ),
  
      -- * ManagedInstance_InstanceStatus
      ManagedInstance_InstanceStatus
        ( ManagedInstance_InstanceStatus_Deprovisioning,
          ManagedInstance_InstanceStatus_Provisioning,
          ManagedInstance_InstanceStatus_Repairing,
          ManagedInstance_InstanceStatus_Running,
          ManagedInstance_InstanceStatus_Staging,
          ManagedInstance_InstanceStatus_Stopped,
          ManagedInstance_InstanceStatus_Stopping,
          ManagedInstance_InstanceStatus_Suspended,
          ManagedInstance_InstanceStatus_Suspending,
          ManagedInstance_InstanceStatus_Terminated,
          ..
        ),
  
      -- * ManagedInstanceInstanceHealth_DetailedHealthState
      ManagedInstanceInstanceHealth_DetailedHealthState
        ( ManagedInstanceInstanceHealth_DetailedHealthState_Draining,
          ManagedInstanceInstanceHealth_DetailedHealthState_Healthy,
          ManagedInstanceInstanceHealth_DetailedHealthState_Timeout,
          ManagedInstanceInstanceHealth_DetailedHealthState_Unhealthy,
          ManagedInstanceInstanceHealth_DetailedHealthState_Unknown,
          ..
        ),
  
      -- * MetadataFilter_FilterMatchCriteria
      MetadataFilter_FilterMatchCriteria
        ( MetadataFilter_FilterMatchCriteria_MATCHALL,
          MetadataFilter_FilterMatchCriteria_MATCHANY,
          MetadataFilter_FilterMatchCriteria_NOTSET,
          ..
        ),
  
      -- * NatIpInfoNatIpInfoMapping_Mode
      NatIpInfoNatIpInfoMapping_Mode
        ( NatIpInfoNatIpInfoMapping_Mode_Auto,
          NatIpInfoNatIpInfoMapping_Mode_Manual,
          ..
        ),
  
      -- * NatIpInfoNatIpInfoMapping_Usage
      NatIpInfoNatIpInfoMapping_Usage
        ( NatIpInfoNatIpInfoMapping_Usage_INUSE,
          NatIpInfoNatIpInfoMapping_Usage_Unused,
          ..
        ),
  
      -- * Network_NetworkFirewallPolicyEnforcementOrder
      Network_NetworkFirewallPolicyEnforcementOrder
        ( Network_NetworkFirewallPolicyEnforcementOrder_AFTERCLASSICFIREWALL,
          Network_NetworkFirewallPolicyEnforcementOrder_BEFORECLASSICFIREWALL,
          ..
        ),
  
      -- * NetworkAttachment_ConnectionPreference
      NetworkAttachment_ConnectionPreference
        ( NetworkAttachment_ConnectionPreference_ACCEPTAUTOMATIC,
          NetworkAttachment_ConnectionPreference_ACCEPTMANUAL,
          NetworkAttachment_ConnectionPreference_Invalid,
          ..
        ),
  
      -- * NetworkAttachmentAggregatedList_Warning_Code
      NetworkAttachmentAggregatedList_Warning_Code
        ( NetworkAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
          NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
          NetworkAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
          NetworkAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
          NetworkAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NetworkAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkAttachmentAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkAttachmentConnectedEndpoint_Status
      NetworkAttachmentConnectedEndpoint_Status
        ( NetworkAttachmentConnectedEndpoint_Status_Accepted,
          NetworkAttachmentConnectedEndpoint_Status_Closed,
          NetworkAttachmentConnectedEndpoint_Status_NEEDSATTENTION,
          NetworkAttachmentConnectedEndpoint_Status_Pending,
          NetworkAttachmentConnectedEndpoint_Status_Rejected,
          NetworkAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED,
          ..
        ),
  
      -- * NetworkAttachmentList_Warning_Code
      NetworkAttachmentList_Warning_Code
        ( NetworkAttachmentList_Warning_Code_CLEANUPFAILED,
          NetworkAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkAttachmentList_Warning_Code_EXTERNALAPIWARNING,
          NetworkAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkAttachmentList_Warning_Code_NOTCRITICALERROR,
          NetworkAttachmentList_Warning_Code_NORESULTSONPAGE,
          NetworkAttachmentList_Warning_Code_PARTIALSUCCESS,
          NetworkAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkAttachmentList_Warning_Code_RESOURCENOTDELETED,
          NetworkAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkAttachmentList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkAttachmentsScopedList_Warning_Code
      NetworkAttachmentsScopedList_Warning_Code
        ( NetworkAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
          NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
          NetworkAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
          NetworkAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
          NetworkAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
          NetworkAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkAttachmentsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEdgeSecurityServiceAggregatedList_Warning_Code
      NetworkEdgeSecurityServiceAggregatedList_Warning_Code
        ( NetworkEdgeSecurityServiceAggregatedList_Warning_Code_CLEANUPFAILED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NOTCRITICALERROR,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NORESULTSONPAGE,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_PARTIALSUCCESS,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEdgeSecurityServiceAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEdgeSecurityServicesScopedList_Warning_Code
      NetworkEdgeSecurityServicesScopedList_Warning_Code
        ( NetworkEdgeSecurityServicesScopedList_Warning_Code_CLEANUPFAILED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NOTCRITICALERROR,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_NORESULTSONPAGE,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_PARTIALSUCCESS,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCENOTDELETED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEdgeSecurityServicesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEndpointGroup_NetworkEndpointType
      NetworkEndpointGroup_NetworkEndpointType
        ( NetworkEndpointGroup_NetworkEndpointType_GCEVMIP,
          NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORT,
          NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORTMAP,
          NetworkEndpointGroup_NetworkEndpointType_INTERNETFQDNPORT,
          NetworkEndpointGroup_NetworkEndpointType_INTERNETIPPORT,
          NetworkEndpointGroup_NetworkEndpointType_NONGCPPRIVATEIPPORT,
          NetworkEndpointGroup_NetworkEndpointType_PRIVATESERVICECONNECT,
          NetworkEndpointGroup_NetworkEndpointType_Serverless,
          ..
        ),
  
      -- * NetworkEndpointGroupAggregatedList_Warning_Code
      NetworkEndpointGroupAggregatedList_Warning_Code
        ( NetworkEndpointGroupAggregatedList_Warning_Code_CLEANUPFAILED,
          NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEndpointGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEndpointGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEndpointGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkEndpointGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEndpointGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEndpointGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEndpointGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEndpointGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEndpointGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEndpointGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
          NetworkEndpointGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
          NetworkEndpointGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
          NetworkEndpointGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEndpointGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NetworkEndpointGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEndpointGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEndpointGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEndpointGroupAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEndpointGroupList_Warning_Code
      NetworkEndpointGroupList_Warning_Code
        ( NetworkEndpointGroupList_Warning_Code_CLEANUPFAILED,
          NetworkEndpointGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEndpointGroupList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEndpointGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEndpointGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEndpointGroupList_Warning_Code_EXTERNALAPIWARNING,
          NetworkEndpointGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEndpointGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEndpointGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEndpointGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEndpointGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEndpointGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEndpointGroupList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEndpointGroupList_Warning_Code_NOTCRITICALERROR,
          NetworkEndpointGroupList_Warning_Code_NORESULTSONPAGE,
          NetworkEndpointGroupList_Warning_Code_PARTIALSUCCESS,
          NetworkEndpointGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEndpointGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEndpointGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEndpointGroupList_Warning_Code_RESOURCENOTDELETED,
          NetworkEndpointGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEndpointGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEndpointGroupList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEndpointGroupList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEndpointGroupPscData_PscConnectionStatus
      NetworkEndpointGroupPscData_PscConnectionStatus
        ( NetworkEndpointGroupPscData_PscConnectionStatus_Accepted,
          NetworkEndpointGroupPscData_PscConnectionStatus_Closed,
          NetworkEndpointGroupPscData_PscConnectionStatus_NEEDSATTENTION,
          NetworkEndpointGroupPscData_PscConnectionStatus_Pending,
          NetworkEndpointGroupPscData_PscConnectionStatus_Rejected,
          NetworkEndpointGroupPscData_PscConnectionStatus_STATUSUNSPECIFIED,
          ..
        ),
  
      -- * NetworkEndpointGroupsListEndpointsRequest_HealthStatus
      NetworkEndpointGroupsListEndpointsRequest_HealthStatus
        ( NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Show,
          NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Skip,
          ..
        ),
  
      -- * NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
      NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
        ( NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_CLEANUPFAILED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXTERNALAPIWARNING,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NOTCRITICALERROR,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NORESULTSONPAGE,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_PARTIALSUCCESS,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCENOTDELETED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkEndpointGroupsScopedList_Warning_Code
      NetworkEndpointGroupsScopedList_Warning_Code
        ( NetworkEndpointGroupsScopedList_Warning_Code_CLEANUPFAILED,
          NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkEndpointGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkEndpointGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkEndpointGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkEndpointGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkEndpointGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkEndpointGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkEndpointGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkEndpointGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkEndpointGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkEndpointGroupsScopedList_Warning_Code_NOTCRITICALERROR,
          NetworkEndpointGroupsScopedList_Warning_Code_NORESULTSONPAGE,
          NetworkEndpointGroupsScopedList_Warning_Code_PARTIALSUCCESS,
          NetworkEndpointGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkEndpointGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkEndpointGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkEndpointGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
          NetworkEndpointGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkEndpointGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkEndpointGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkEndpointGroupsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkFirewallPolicyAggregatedList_Warning_Code
      NetworkFirewallPolicyAggregatedList_Warning_Code
        ( NetworkFirewallPolicyAggregatedList_Warning_Code_CLEANUPFAILED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkFirewallPolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NetworkFirewallPolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkFirewallPolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkFirewallPolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkFirewallPolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NOTCRITICALERROR,
          NetworkFirewallPolicyAggregatedList_Warning_Code_NORESULTSONPAGE,
          NetworkFirewallPolicyAggregatedList_Warning_Code_PARTIALSUCCESS,
          NetworkFirewallPolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkFirewallPolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkFirewallPolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkFirewallPolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkFirewallPolicyAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkInterface_Ipv6AccessType
      NetworkInterface_Ipv6AccessType
        ( NetworkInterface_Ipv6AccessType_External,
          NetworkInterface_Ipv6AccessType_Internal,
          ..
        ),
  
      -- * NetworkInterface_NicType
      NetworkInterface_NicType
        ( NetworkInterface_NicType_Gvnic,
          NetworkInterface_NicType_Idpf,
          NetworkInterface_NicType_Irdma,
          NetworkInterface_NicType_Mrdma,
          NetworkInterface_NicType_UNSPECIFIEDNICTYPE,
          NetworkInterface_NicType_VIRTIONET,
          ..
        ),
  
      -- * NetworkInterface_StackType
      NetworkInterface_StackType
        ( NetworkInterface_StackType_IPV4_IPV6,
          NetworkInterface_StackType_IPV4ONLY,
          NetworkInterface_StackType_IPV6ONLY,
          ..
        ),
  
      -- * NetworkList_Warning_Code
      NetworkList_Warning_Code
        ( NetworkList_Warning_Code_CLEANUPFAILED,
          NetworkList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkList_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkList_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkList_Warning_Code_EXTERNALAPIWARNING,
          NetworkList_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkList_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkList_Warning_Code_NOTCRITICALERROR,
          NetworkList_Warning_Code_NORESULTSONPAGE,
          NetworkList_Warning_Code_PARTIALSUCCESS,
          NetworkList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkList_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkList_Warning_Code_RESOURCENOTDELETED,
          NetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkList_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkPeering_StackType
      NetworkPeering_StackType
        ( NetworkPeering_StackType_IPV4_IPV6,
          NetworkPeering_StackType_IPV4ONLY,
          ..
        ),
  
      -- * NetworkPeering_State
      NetworkPeering_State
        ( NetworkPeering_State_Active,
          NetworkPeering_State_Inactive,
          ..
        ),
  
      -- * NetworkPerformanceConfig_TotalEgressBandwidthTier
      NetworkPerformanceConfig_TotalEgressBandwidthTier
        ( NetworkPerformanceConfig_TotalEgressBandwidthTier_Default,
          NetworkPerformanceConfig_TotalEgressBandwidthTier_TIER_1,
          ..
        ),
  
      -- * NetworkProfileLocation_Scope
      NetworkProfileLocation_Scope
        ( NetworkProfileLocation_Scope_Region,
          NetworkProfileLocation_Scope_Zone,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AddressPurposesItem
      NetworkProfileNetworkFeatures_AddressPurposesItem
        ( NetworkProfileNetworkFeatures_AddressPurposesItem_DNSRESOLVER,
          NetworkProfileNetworkFeatures_AddressPurposesItem_GCEENDPOINT,
          NetworkProfileNetworkFeatures_AddressPurposesItem_IPSECINTERCONNECT,
          NetworkProfileNetworkFeatures_AddressPurposesItem_NATAUTO,
          NetworkProfileNetworkFeatures_AddressPurposesItem_PRIVATESERVICECONNECT,
          NetworkProfileNetworkFeatures_AddressPurposesItem_Serverless,
          NetworkProfileNetworkFeatures_AddressPurposesItem_SHAREDLOADBALANCERVIP,
          NetworkProfileNetworkFeatures_AddressPurposesItem_VPCPEERING,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowAliasIpRanges
      NetworkProfileNetworkFeatures_AllowAliasIpRanges
        ( NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESALLOWED,
          NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowAutoModeSubnet
      NetworkProfileNetworkFeatures_AllowAutoModeSubnet
        ( NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETALLOWED,
          NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowClassDFirewalls
      NetworkProfileNetworkFeatures_AllowClassDFirewalls
        ( NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSALLOWED,
          NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowCloudNat
      NetworkProfileNetworkFeatures_AllowCloudNat
        ( NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATALLOWED,
          NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowCloudRouter
      NetworkProfileNetworkFeatures_AllowCloudRouter
        ( NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERALLOWED,
          NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowExternalIpAccess
      NetworkProfileNetworkFeatures_AllowExternalIpAccess
        ( NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSALLOWED,
          NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowInterconnect
      NetworkProfileNetworkFeatures_AllowInterconnect
        ( NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTALLOWED,
          NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowLoadBalancing
      NetworkProfileNetworkFeatures_AllowLoadBalancing
        ( NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGALLOWED,
          NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork
      NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork
        ( NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKALLOWED,
          NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowPacketMirroring
      NetworkProfileNetworkFeatures_AllowPacketMirroring
        ( NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGALLOWED,
          NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess
      NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess
        ( NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSALLOWED,
          NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowPsc
      NetworkProfileNetworkFeatures_AllowPsc
        ( NetworkProfileNetworkFeatures_AllowPsc_PSCALLOWED,
          NetworkProfileNetworkFeatures_AllowPsc_PSCBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowSameNetworkUnicast
      NetworkProfileNetworkFeatures_AllowSameNetworkUnicast
        ( NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTALLOWED,
          NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowStaticRoutes
      NetworkProfileNetworkFeatures_AllowStaticRoutes
        ( NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESALLOWED,
          NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowSubInterfaces
      NetworkProfileNetworkFeatures_AllowSubInterfaces
        ( NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESALLOWED,
          NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowVpcPeering
      NetworkProfileNetworkFeatures_AllowVpcPeering
        ( NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGALLOWED,
          NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_AllowVpn
      NetworkProfileNetworkFeatures_AllowVpn
        ( NetworkProfileNetworkFeatures_AllowVpn_VPNALLOWED,
          NetworkProfileNetworkFeatures_AllowVpn_VPNBLOCKED,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_InterfaceTypesItem
      NetworkProfileNetworkFeatures_InterfaceTypesItem
        ( NetworkProfileNetworkFeatures_InterfaceTypesItem_Gvnic,
          NetworkProfileNetworkFeatures_InterfaceTypesItem_Idpf,
          NetworkProfileNetworkFeatures_InterfaceTypesItem_Irdma,
          NetworkProfileNetworkFeatures_InterfaceTypesItem_Mrdma,
          NetworkProfileNetworkFeatures_InterfaceTypesItem_UNSPECIFIEDNICTYPE,
          NetworkProfileNetworkFeatures_InterfaceTypesItem_VIRTIONET,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_SubnetPurposesItem
      NetworkProfileNetworkFeatures_SubnetPurposesItem
        ( NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSECUSTOMHARDWARE,
          NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSEPRIVATE,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_SubnetStackTypesItem
      NetworkProfileNetworkFeatures_SubnetStackTypesItem
        ( NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNET_STACK_TYPE_IPV4_IPV6,
          NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV4ONLY,
          NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV6ONLY,
          ..
        ),
  
      -- * NetworkProfileNetworkFeatures_Unicast
      NetworkProfileNetworkFeatures_Unicast
        ( NetworkProfileNetworkFeatures_Unicast_UNICASTSDN,
          NetworkProfileNetworkFeatures_Unicast_UNICASTULL,
          ..
        ),
  
      -- * NetworkProfilesListResponse_Warning_Code
      NetworkProfilesListResponse_Warning_Code
        ( NetworkProfilesListResponse_Warning_Code_CLEANUPFAILED,
          NetworkProfilesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
          NetworkProfilesListResponse_Warning_Code_DEPRECATEDTYPEUSED,
          NetworkProfilesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NetworkProfilesListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
          NetworkProfilesListResponse_Warning_Code_EXTERNALAPIWARNING,
          NetworkProfilesListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
          NetworkProfilesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NetworkProfilesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NetworkProfilesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
          NetworkProfilesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NetworkProfilesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NetworkProfilesListResponse_Warning_Code_NEXTHOPNOTRUNNING,
          NetworkProfilesListResponse_Warning_Code_NOTCRITICALERROR,
          NetworkProfilesListResponse_Warning_Code_NORESULTSONPAGE,
          NetworkProfilesListResponse_Warning_Code_PARTIALSUCCESS,
          NetworkProfilesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
          NetworkProfilesListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
          NetworkProfilesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NetworkProfilesListResponse_Warning_Code_RESOURCENOTDELETED,
          NetworkProfilesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NetworkProfilesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NetworkProfilesListResponse_Warning_Code_UNDECLAREDPROPERTIES,
          NetworkProfilesListResponse_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NetworkRoutingConfig_BgpBestPathSelectionMode
      NetworkRoutingConfig_BgpBestPathSelectionMode
        ( NetworkRoutingConfig_BgpBestPathSelectionMode_Legacy,
          NetworkRoutingConfig_BgpBestPathSelectionMode_Standard,
          ..
        ),
  
      -- * NetworkRoutingConfig_BgpInterRegionCost
      NetworkRoutingConfig_BgpInterRegionCost
        ( NetworkRoutingConfig_BgpInterRegionCost_ADDCOSTTOMED,
          NetworkRoutingConfig_BgpInterRegionCost_Default,
          ..
        ),
  
      -- * NetworkRoutingConfig_EffectiveBgpInterRegionCost
      NetworkRoutingConfig_EffectiveBgpInterRegionCost
        ( NetworkRoutingConfig_EffectiveBgpInterRegionCost_ADDCOSTTOMED,
          NetworkRoutingConfig_EffectiveBgpInterRegionCost_Default,
          ..
        ),
  
      -- * NetworkRoutingConfig_RoutingMode
      NetworkRoutingConfig_RoutingMode
        ( NetworkRoutingConfig_RoutingMode_Global,
          NetworkRoutingConfig_RoutingMode_Regional,
          ..
        ),
  
      -- * NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
      NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
        ( NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
          NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
          NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_System,
          NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
          ..
        ),
  
      -- * NodeGroup_MaintenanceInterval
      NodeGroup_MaintenanceInterval
        ( NodeGroup_MaintenanceInterval_ASNEEDED,
          NodeGroup_MaintenanceInterval_Recurrent,
          ..
        ),
  
      -- * NodeGroup_MaintenancePolicy
      NodeGroup_MaintenancePolicy
        ( NodeGroup_MaintenancePolicy_Default,
          NodeGroup_MaintenancePolicy_MAINTENANCEPOLICYUNSPECIFIED,
          NodeGroup_MaintenancePolicy_MIGRATEWITHINNODEGROUP,
          NodeGroup_MaintenancePolicy_RESTARTINPLACE,
          ..
        ),
  
      -- * NodeGroup_Status
      NodeGroup_Status
        ( NodeGroup_Status_Creating,
          NodeGroup_Status_Deleting,
          NodeGroup_Status_Invalid,
          NodeGroup_Status_Ready,
          ..
        ),
  
      -- * NodeGroupAggregatedList_Warning_Code
      NodeGroupAggregatedList_Warning_Code
        ( NodeGroupAggregatedList_Warning_Code_CLEANUPFAILED,
          NodeGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NodeGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
          NodeGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
          NodeGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
          NodeGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NodeGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeGroupAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeGroupAutoscalingPolicy_Mode
      NodeGroupAutoscalingPolicy_Mode
        ( NodeGroupAutoscalingPolicy_Mode_MODEUNSPECIFIED,
          NodeGroupAutoscalingPolicy_Mode_Off,
          NodeGroupAutoscalingPolicy_Mode_ON,
          NodeGroupAutoscalingPolicy_Mode_ONLYSCALEOUT,
          ..
        ),
  
      -- * NodeGroupList_Warning_Code
      NodeGroupList_Warning_Code
        ( NodeGroupList_Warning_Code_CLEANUPFAILED,
          NodeGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeGroupList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeGroupList_Warning_Code_EXTERNALAPIWARNING,
          NodeGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeGroupList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeGroupList_Warning_Code_NOTCRITICALERROR,
          NodeGroupList_Warning_Code_NORESULTSONPAGE,
          NodeGroupList_Warning_Code_PARTIALSUCCESS,
          NodeGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeGroupList_Warning_Code_RESOURCENOTDELETED,
          NodeGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeGroupList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeGroupList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeGroupNode_CpuOvercommitType
      NodeGroupNode_CpuOvercommitType
        ( NodeGroupNode_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED,
          NodeGroupNode_CpuOvercommitType_Enabled,
          NodeGroupNode_CpuOvercommitType_None,
          ..
        ),
  
      -- * NodeGroupNode_Status
      NodeGroupNode_Status
        ( NodeGroupNode_Status_Creating,
          NodeGroupNode_Status_Deleting,
          NodeGroupNode_Status_Invalid,
          NodeGroupNode_Status_Ready,
          NodeGroupNode_Status_Repairing,
          ..
        ),
  
      -- * NodeGroupsListNodes_Warning_Code
      NodeGroupsListNodes_Warning_Code
        ( NodeGroupsListNodes_Warning_Code_CLEANUPFAILED,
          NodeGroupsListNodes_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeGroupsListNodes_Warning_Code_DEPRECATEDTYPEUSED,
          NodeGroupsListNodes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeGroupsListNodes_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeGroupsListNodes_Warning_Code_EXTERNALAPIWARNING,
          NodeGroupsListNodes_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeGroupsListNodes_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeGroupsListNodes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeGroupsListNodes_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeGroupsListNodes_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeGroupsListNodes_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeGroupsListNodes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeGroupsListNodes_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeGroupsListNodes_Warning_Code_NEXTHOPNOTRUNNING,
          NodeGroupsListNodes_Warning_Code_NOTCRITICALERROR,
          NodeGroupsListNodes_Warning_Code_NORESULTSONPAGE,
          NodeGroupsListNodes_Warning_Code_PARTIALSUCCESS,
          NodeGroupsListNodes_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeGroupsListNodes_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeGroupsListNodes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeGroupsListNodes_Warning_Code_RESOURCENOTDELETED,
          NodeGroupsListNodes_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeGroupsListNodes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeGroupsListNodes_Warning_Code_UNDECLAREDPROPERTIES,
          NodeGroupsListNodes_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeGroupsScopedList_Warning_Code
      NodeGroupsScopedList_Warning_Code
        ( NodeGroupsScopedList_Warning_Code_CLEANUPFAILED,
          NodeGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
          NodeGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeGroupsScopedList_Warning_Code_NOTCRITICALERROR,
          NodeGroupsScopedList_Warning_Code_NORESULTSONPAGE,
          NodeGroupsScopedList_Warning_Code_PARTIALSUCCESS,
          NodeGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
          NodeGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeGroupsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTemplate_CpuOvercommitType
      NodeTemplate_CpuOvercommitType
        ( NodeTemplate_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED,
          NodeTemplate_CpuOvercommitType_Enabled,
          NodeTemplate_CpuOvercommitType_None,
          ..
        ),
  
      -- * NodeTemplate_Status
      NodeTemplate_Status
        ( NodeTemplate_Status_Creating,
          NodeTemplate_Status_Deleting,
          NodeTemplate_Status_Invalid,
          NodeTemplate_Status_Ready,
          ..
        ),
  
      -- * NodeTemplateAggregatedList_Warning_Code
      NodeTemplateAggregatedList_Warning_Code
        ( NodeTemplateAggregatedList_Warning_Code_CLEANUPFAILED,
          NodeTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NodeTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTemplateAggregatedList_Warning_Code_NOTCRITICALERROR,
          NodeTemplateAggregatedList_Warning_Code_NORESULTSONPAGE,
          NodeTemplateAggregatedList_Warning_Code_PARTIALSUCCESS,
          NodeTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NodeTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTemplateAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTemplateList_Warning_Code
      NodeTemplateList_Warning_Code
        ( NodeTemplateList_Warning_Code_CLEANUPFAILED,
          NodeTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTemplateList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTemplateList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTemplateList_Warning_Code_EXTERNALAPIWARNING,
          NodeTemplateList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTemplateList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTemplateList_Warning_Code_NOTCRITICALERROR,
          NodeTemplateList_Warning_Code_NORESULTSONPAGE,
          NodeTemplateList_Warning_Code_PARTIALSUCCESS,
          NodeTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTemplateList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTemplateList_Warning_Code_RESOURCENOTDELETED,
          NodeTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTemplateList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTemplateList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTemplatesScopedList_Warning_Code
      NodeTemplatesScopedList_Warning_Code
        ( NodeTemplatesScopedList_Warning_Code_CLEANUPFAILED,
          NodeTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING,
          NodeTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTemplatesScopedList_Warning_Code_NOTCRITICALERROR,
          NodeTemplatesScopedList_Warning_Code_NORESULTSONPAGE,
          NodeTemplatesScopedList_Warning_Code_PARTIALSUCCESS,
          NodeTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTemplatesScopedList_Warning_Code_RESOURCENOTDELETED,
          NodeTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTemplatesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTypeAggregatedList_Warning_Code
      NodeTypeAggregatedList_Warning_Code
        ( NodeTypeAggregatedList_Warning_Code_CLEANUPFAILED,
          NodeTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          NodeTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
          NodeTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
          NodeTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
          NodeTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
          NodeTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTypeAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTypeList_Warning_Code
      NodeTypeList_Warning_Code
        ( NodeTypeList_Warning_Code_CLEANUPFAILED,
          NodeTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTypeList_Warning_Code_EXTERNALAPIWARNING,
          NodeTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTypeList_Warning_Code_NOTCRITICALERROR,
          NodeTypeList_Warning_Code_NORESULTSONPAGE,
          NodeTypeList_Warning_Code_PARTIALSUCCESS,
          NodeTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTypeList_Warning_Code_RESOURCENOTDELETED,
          NodeTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NodeTypesScopedList_Warning_Code
      NodeTypesScopedList_Warning_Code
        ( NodeTypesScopedList_Warning_Code_CLEANUPFAILED,
          NodeTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NodeTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          NodeTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NodeTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          NodeTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
          NodeTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          NodeTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NodeTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NodeTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NodeTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NodeTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NodeTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NodeTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NodeTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          NodeTypesScopedList_Warning_Code_NOTCRITICALERROR,
          NodeTypesScopedList_Warning_Code_NORESULTSONPAGE,
          NodeTypesScopedList_Warning_Code_PARTIALSUCCESS,
          NodeTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NodeTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          NodeTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NodeTypesScopedList_Warning_Code_RESOURCENOTDELETED,
          NodeTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NodeTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NodeTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          NodeTypesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * NotificationEndpointList_Warning_Code
      NotificationEndpointList_Warning_Code
        ( NotificationEndpointList_Warning_Code_CLEANUPFAILED,
          NotificationEndpointList_Warning_Code_DEPRECATEDRESOURCEUSED,
          NotificationEndpointList_Warning_Code_DEPRECATEDTYPEUSED,
          NotificationEndpointList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          NotificationEndpointList_Warning_Code_EXPERIMENTALTYPEUSED,
          NotificationEndpointList_Warning_Code_EXTERNALAPIWARNING,
          NotificationEndpointList_Warning_Code_FIELDVALUEOVERRIDEN,
          NotificationEndpointList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          NotificationEndpointList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          NotificationEndpointList_Warning_Code_LARGEDEPLOYMENTWARNING,
          NotificationEndpointList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          NotificationEndpointList_Warning_Code_MISSINGTYPEDEPENDENCY,
          NotificationEndpointList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          NotificationEndpointList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          NotificationEndpointList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          NotificationEndpointList_Warning_Code_NEXTHOPNOTRUNNING,
          NotificationEndpointList_Warning_Code_NOTCRITICALERROR,
          NotificationEndpointList_Warning_Code_NORESULTSONPAGE,
          NotificationEndpointList_Warning_Code_PARTIALSUCCESS,
          NotificationEndpointList_Warning_Code_QUOTAINFOUNAVAILABLE,
          NotificationEndpointList_Warning_Code_REQUIREDTOSAGREEMENT,
          NotificationEndpointList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          NotificationEndpointList_Warning_Code_RESOURCENOTDELETED,
          NotificationEndpointList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          NotificationEndpointList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          NotificationEndpointList_Warning_Code_UNDECLAREDPROPERTIES,
          NotificationEndpointList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Operation_Status
      Operation_Status
        ( Operation_Status_Done,
          Operation_Status_Pending,
          Operation_Status_Running,
          ..
        ),
  
      -- * Operation_WarningsItem_Code
      Operation_WarningsItem_Code
        ( Operation_WarningsItem_Code_CLEANUPFAILED,
          Operation_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
          Operation_WarningsItem_Code_DEPRECATEDTYPEUSED,
          Operation_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
          Operation_WarningsItem_Code_EXPERIMENTALTYPEUSED,
          Operation_WarningsItem_Code_EXTERNALAPIWARNING,
          Operation_WarningsItem_Code_FIELDVALUEOVERRIDEN,
          Operation_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
          Operation_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          Operation_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
          Operation_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
          Operation_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
          Operation_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
          Operation_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
          Operation_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          Operation_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
          Operation_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
          Operation_WarningsItem_Code_NEXTHOPNOTRUNNING,
          Operation_WarningsItem_Code_NOTCRITICALERROR,
          Operation_WarningsItem_Code_NORESULTSONPAGE,
          Operation_WarningsItem_Code_PARTIALSUCCESS,
          Operation_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
          Operation_WarningsItem_Code_REQUIREDTOSAGREEMENT,
          Operation_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          Operation_WarningsItem_Code_RESOURCENOTDELETED,
          Operation_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
          Operation_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          Operation_WarningsItem_Code_UNDECLAREDPROPERTIES,
          Operation_WarningsItem_Code_Unreachable,
          ..
        ),
  
      -- * OperationAggregatedList_Warning_Code
      OperationAggregatedList_Warning_Code
        ( OperationAggregatedList_Warning_Code_CLEANUPFAILED,
          OperationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          OperationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          OperationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          OperationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          OperationAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          OperationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          OperationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          OperationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          OperationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          OperationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          OperationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          OperationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          OperationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          OperationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          OperationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          OperationAggregatedList_Warning_Code_NOTCRITICALERROR,
          OperationAggregatedList_Warning_Code_NORESULTSONPAGE,
          OperationAggregatedList_Warning_Code_PARTIALSUCCESS,
          OperationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          OperationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          OperationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          OperationAggregatedList_Warning_Code_RESOURCENOTDELETED,
          OperationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          OperationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          OperationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          OperationAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * OperationList_Warning_Code
      OperationList_Warning_Code
        ( OperationList_Warning_Code_CLEANUPFAILED,
          OperationList_Warning_Code_DEPRECATEDRESOURCEUSED,
          OperationList_Warning_Code_DEPRECATEDTYPEUSED,
          OperationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          OperationList_Warning_Code_EXPERIMENTALTYPEUSED,
          OperationList_Warning_Code_EXTERNALAPIWARNING,
          OperationList_Warning_Code_FIELDVALUEOVERRIDEN,
          OperationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          OperationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          OperationList_Warning_Code_LARGEDEPLOYMENTWARNING,
          OperationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          OperationList_Warning_Code_MISSINGTYPEDEPENDENCY,
          OperationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          OperationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          OperationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          OperationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          OperationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          OperationList_Warning_Code_NEXTHOPNOTRUNNING,
          OperationList_Warning_Code_NOTCRITICALERROR,
          OperationList_Warning_Code_NORESULTSONPAGE,
          OperationList_Warning_Code_PARTIALSUCCESS,
          OperationList_Warning_Code_QUOTAINFOUNAVAILABLE,
          OperationList_Warning_Code_REQUIREDTOSAGREEMENT,
          OperationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          OperationList_Warning_Code_RESOURCENOTDELETED,
          OperationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          OperationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          OperationList_Warning_Code_UNDECLAREDPROPERTIES,
          OperationList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * OperationsScopedList_Warning_Code
      OperationsScopedList_Warning_Code
        ( OperationsScopedList_Warning_Code_CLEANUPFAILED,
          OperationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          OperationsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          OperationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          OperationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          OperationsScopedList_Warning_Code_EXTERNALAPIWARNING,
          OperationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          OperationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          OperationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          OperationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          OperationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          OperationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          OperationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          OperationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          OperationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          OperationsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          OperationsScopedList_Warning_Code_NOTCRITICALERROR,
          OperationsScopedList_Warning_Code_NORESULTSONPAGE,
          OperationsScopedList_Warning_Code_PARTIALSUCCESS,
          OperationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          OperationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          OperationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          OperationsScopedList_Warning_Code_RESOURCENOTDELETED,
          OperationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          OperationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          OperationsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          OperationsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PacketIntervals_Duration
      PacketIntervals_Duration
        ( PacketIntervals_Duration_DURATIONUNSPECIFIED,
          PacketIntervals_Duration_Hour,
          PacketIntervals_Duration_Max,
          PacketIntervals_Duration_Minute,
          ..
        ),
  
      -- * PacketIntervals_Type
      PacketIntervals_Type
        ( PacketIntervals_Type_Loopback,
          PacketIntervals_Type_Receive,
          PacketIntervals_Type_Transmit,
          PacketIntervals_Type_TYPEUNSPECIFIED,
          ..
        ),
  
      -- * PacketMirroring_Enable
      PacketMirroring_Enable
        ( PacketMirroring_Enable_False',
          PacketMirroring_Enable_True',
          ..
        ),
  
      -- * PacketMirroringAggregatedList_Warning_Code
      PacketMirroringAggregatedList_Warning_Code
        ( PacketMirroringAggregatedList_Warning_Code_CLEANUPFAILED,
          PacketMirroringAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PacketMirroringAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          PacketMirroringAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PacketMirroringAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          PacketMirroringAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          PacketMirroringAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          PacketMirroringAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PacketMirroringAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PacketMirroringAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PacketMirroringAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PacketMirroringAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PacketMirroringAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          PacketMirroringAggregatedList_Warning_Code_NOTCRITICALERROR,
          PacketMirroringAggregatedList_Warning_Code_NORESULTSONPAGE,
          PacketMirroringAggregatedList_Warning_Code_PARTIALSUCCESS,
          PacketMirroringAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PacketMirroringAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          PacketMirroringAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PacketMirroringAggregatedList_Warning_Code_RESOURCENOTDELETED,
          PacketMirroringAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PacketMirroringAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PacketMirroringAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          PacketMirroringAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PacketMirroringFilter_Direction
      PacketMirroringFilter_Direction
        ( PacketMirroringFilter_Direction_Both,
          PacketMirroringFilter_Direction_Egress,
          PacketMirroringFilter_Direction_Ingress,
          ..
        ),
  
      -- * PacketMirroringList_Warning_Code
      PacketMirroringList_Warning_Code
        ( PacketMirroringList_Warning_Code_CLEANUPFAILED,
          PacketMirroringList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PacketMirroringList_Warning_Code_DEPRECATEDTYPEUSED,
          PacketMirroringList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PacketMirroringList_Warning_Code_EXPERIMENTALTYPEUSED,
          PacketMirroringList_Warning_Code_EXTERNALAPIWARNING,
          PacketMirroringList_Warning_Code_FIELDVALUEOVERRIDEN,
          PacketMirroringList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PacketMirroringList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PacketMirroringList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PacketMirroringList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PacketMirroringList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PacketMirroringList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PacketMirroringList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PacketMirroringList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PacketMirroringList_Warning_Code_NEXTHOPNOTRUNNING,
          PacketMirroringList_Warning_Code_NOTCRITICALERROR,
          PacketMirroringList_Warning_Code_NORESULTSONPAGE,
          PacketMirroringList_Warning_Code_PARTIALSUCCESS,
          PacketMirroringList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PacketMirroringList_Warning_Code_REQUIREDTOSAGREEMENT,
          PacketMirroringList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PacketMirroringList_Warning_Code_RESOURCENOTDELETED,
          PacketMirroringList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PacketMirroringList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PacketMirroringList_Warning_Code_UNDECLAREDPROPERTIES,
          PacketMirroringList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PacketMirroringsScopedList_Warning_Code
      PacketMirroringsScopedList_Warning_Code
        ( PacketMirroringsScopedList_Warning_Code_CLEANUPFAILED,
          PacketMirroringsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PacketMirroringsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          PacketMirroringsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PacketMirroringsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          PacketMirroringsScopedList_Warning_Code_EXTERNALAPIWARNING,
          PacketMirroringsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          PacketMirroringsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PacketMirroringsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PacketMirroringsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PacketMirroringsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PacketMirroringsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PacketMirroringsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          PacketMirroringsScopedList_Warning_Code_NOTCRITICALERROR,
          PacketMirroringsScopedList_Warning_Code_NORESULTSONPAGE,
          PacketMirroringsScopedList_Warning_Code_PARTIALSUCCESS,
          PacketMirroringsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PacketMirroringsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          PacketMirroringsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PacketMirroringsScopedList_Warning_Code_RESOURCENOTDELETED,
          PacketMirroringsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PacketMirroringsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PacketMirroringsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          PacketMirroringsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PerInstanceConfig_Status
      PerInstanceConfig_Status
        ( PerInstanceConfig_Status_Applying,
          PerInstanceConfig_Status_Deleting,
          PerInstanceConfig_Status_Effective,
          PerInstanceConfig_Status_None,
          PerInstanceConfig_Status_Unapplied,
          PerInstanceConfig_Status_UNAPPLIEDDELETION,
          ..
        ),
  
      -- * PreservedStatePreservedDisk_AutoDelete
      PreservedStatePreservedDisk_AutoDelete
        ( PreservedStatePreservedDisk_AutoDelete_Never,
          PreservedStatePreservedDisk_AutoDelete_ONPERMANENTINSTANCEDELETION,
          ..
        ),
  
      -- * PreservedStatePreservedDisk_Mode
      PreservedStatePreservedDisk_Mode
        ( PreservedStatePreservedDisk_Mode_READONLY,
          PreservedStatePreservedDisk_Mode_READWRITE,
          ..
        ),
  
      -- * PreservedStatePreservedNetworkIp_AutoDelete
      PreservedStatePreservedNetworkIp_AutoDelete
        ( PreservedStatePreservedNetworkIp_AutoDelete_Never,
          PreservedStatePreservedNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION,
          ..
        ),
  
      -- * Project_CloudArmorTier
      Project_CloudArmorTier
        ( Project_CloudArmorTier_CAENTERPRISEANNUAL,
          Project_CloudArmorTier_CAENTERPRISEPAYGO,
          Project_CloudArmorTier_CASTANDARD,
          ..
        ),
  
      -- * Project_DefaultNetworkTier
      Project_DefaultNetworkTier
        ( Project_DefaultNetworkTier_FIXEDSTANDARD,
          Project_DefaultNetworkTier_Premium,
          Project_DefaultNetworkTier_Standard,
          Project_DefaultNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * Project_VmDnsSetting
      Project_VmDnsSetting
        ( Project_VmDnsSetting_GLOBALDEFAULT,
          Project_VmDnsSetting_UNSPECIFIEDVMDNSSETTING,
          Project_VmDnsSetting_ZONALDEFAULT,
          Project_VmDnsSetting_ZONALONLY,
          ..
        ),
  
      -- * Project_XpnProjectStatus
      Project_XpnProjectStatus
        ( Project_XpnProjectStatus_Host,
          Project_XpnProjectStatus_UNSPECIFIEDXPNPROJECTSTATUS,
          ..
        ),
  
      -- * ProjectsSetCloudArmorTierRequest_CloudArmorTier
      ProjectsSetCloudArmorTierRequest_CloudArmorTier
        ( ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEANNUAL,
          ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEPAYGO,
          ProjectsSetCloudArmorTierRequest_CloudArmorTier_CASTANDARD,
          ..
        ),
  
      -- * ProjectsSetDefaultNetworkTierRequest_NetworkTier
      ProjectsSetDefaultNetworkTierRequest_NetworkTier
        ( ProjectsSetDefaultNetworkTierRequest_NetworkTier_FIXEDSTANDARD,
          ProjectsSetDefaultNetworkTierRequest_NetworkTier_Premium,
          ProjectsSetDefaultNetworkTierRequest_NetworkTier_Standard,
          ProjectsSetDefaultNetworkTierRequest_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * PublicAdvertisedPrefix_ByoipApiVersion
      PublicAdvertisedPrefix_ByoipApiVersion
        ( PublicAdvertisedPrefix_ByoipApiVersion_V1,
          PublicAdvertisedPrefix_ByoipApiVersion_V2,
          ..
        ),
  
      -- * PublicAdvertisedPrefix_PdpScope
      PublicAdvertisedPrefix_PdpScope
        ( PublicAdvertisedPrefix_PdpScope_Global,
          PublicAdvertisedPrefix_PdpScope_GLOBALANDREGIONAL,
          PublicAdvertisedPrefix_PdpScope_Regional,
          ..
        ),
  
      -- * PublicAdvertisedPrefix_Status
      PublicAdvertisedPrefix_Status
        ( PublicAdvertisedPrefix_Status_ANNOUNCEDTOINTERNET,
          PublicAdvertisedPrefix_Status_Initial,
          PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONCOMPLETE,
          PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONINPROGRESS,
          PublicAdvertisedPrefix_Status_PREFIXREMOVALINPROGRESS,
          PublicAdvertisedPrefix_Status_PTRCONFIGURED,
          PublicAdvertisedPrefix_Status_READYTOANNOUNCE,
          PublicAdvertisedPrefix_Status_REVERSEDNSLOOKUPFAILED,
          PublicAdvertisedPrefix_Status_Validated,
          ..
        ),
  
      -- * PublicAdvertisedPrefixList_Warning_Code
      PublicAdvertisedPrefixList_Warning_Code
        ( PublicAdvertisedPrefixList_Warning_Code_CLEANUPFAILED,
          PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDTYPEUSED,
          PublicAdvertisedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PublicAdvertisedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED,
          PublicAdvertisedPrefixList_Warning_Code_EXTERNALAPIWARNING,
          PublicAdvertisedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN,
          PublicAdvertisedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PublicAdvertisedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PublicAdvertisedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PublicAdvertisedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PublicAdvertisedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PublicAdvertisedPrefixList_Warning_Code_NEXTHOPNOTRUNNING,
          PublicAdvertisedPrefixList_Warning_Code_NOTCRITICALERROR,
          PublicAdvertisedPrefixList_Warning_Code_NORESULTSONPAGE,
          PublicAdvertisedPrefixList_Warning_Code_PARTIALSUCCESS,
          PublicAdvertisedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PublicAdvertisedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT,
          PublicAdvertisedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PublicAdvertisedPrefixList_Warning_Code_RESOURCENOTDELETED,
          PublicAdvertisedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PublicAdvertisedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PublicAdvertisedPrefixList_Warning_Code_UNDECLAREDPROPERTIES,
          PublicAdvertisedPrefixList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PublicDelegatedPrefix_ByoipApiVersion
      PublicDelegatedPrefix_ByoipApiVersion
        ( PublicDelegatedPrefix_ByoipApiVersion_V1,
          PublicDelegatedPrefix_ByoipApiVersion_V2,
          ..
        ),
  
      -- * PublicDelegatedPrefix_Mode
      PublicDelegatedPrefix_Mode
        ( PublicDelegatedPrefix_Mode_Delegation,
          PublicDelegatedPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION,
          ..
        ),
  
      -- * PublicDelegatedPrefix_Status
      PublicDelegatedPrefix_Status
        ( PublicDelegatedPrefix_Status_Announced,
          PublicDelegatedPrefix_Status_ANNOUNCEDTOGOOGLE,
          PublicDelegatedPrefix_Status_ANNOUNCEDTOINTERNET,
          PublicDelegatedPrefix_Status_Deleting,
          PublicDelegatedPrefix_Status_Initializing,
          PublicDelegatedPrefix_Status_READYTOANNOUNCE,
          ..
        ),
  
      -- * PublicDelegatedPrefixAggregatedList_Warning_Code
      PublicDelegatedPrefixAggregatedList_Warning_Code
        ( PublicDelegatedPrefixAggregatedList_Warning_Code_CLEANUPFAILED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PublicDelegatedPrefixAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          PublicDelegatedPrefixAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          PublicDelegatedPrefixAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PublicDelegatedPrefixAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PublicDelegatedPrefixAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NOTCRITICALERROR,
          PublicDelegatedPrefixAggregatedList_Warning_Code_NORESULTSONPAGE,
          PublicDelegatedPrefixAggregatedList_Warning_Code_PARTIALSUCCESS,
          PublicDelegatedPrefixAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PublicDelegatedPrefixAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCENOTDELETED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PublicDelegatedPrefixAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PublicDelegatedPrefixAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          PublicDelegatedPrefixAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PublicDelegatedPrefixList_Warning_Code
      PublicDelegatedPrefixList_Warning_Code
        ( PublicDelegatedPrefixList_Warning_Code_CLEANUPFAILED,
          PublicDelegatedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PublicDelegatedPrefixList_Warning_Code_DEPRECATEDTYPEUSED,
          PublicDelegatedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PublicDelegatedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED,
          PublicDelegatedPrefixList_Warning_Code_EXTERNALAPIWARNING,
          PublicDelegatedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN,
          PublicDelegatedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PublicDelegatedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PublicDelegatedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PublicDelegatedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PublicDelegatedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PublicDelegatedPrefixList_Warning_Code_NEXTHOPNOTRUNNING,
          PublicDelegatedPrefixList_Warning_Code_NOTCRITICALERROR,
          PublicDelegatedPrefixList_Warning_Code_NORESULTSONPAGE,
          PublicDelegatedPrefixList_Warning_Code_PARTIALSUCCESS,
          PublicDelegatedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PublicDelegatedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT,
          PublicDelegatedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PublicDelegatedPrefixList_Warning_Code_RESOURCENOTDELETED,
          PublicDelegatedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PublicDelegatedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PublicDelegatedPrefixList_Warning_Code_UNDECLAREDPROPERTIES,
          PublicDelegatedPrefixList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode
      PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode
        ( PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_Delegation,
          PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION,
          ..
        ),
  
      -- * PublicDelegatedPrefixPublicDelegatedSubPrefix_Status
      PublicDelegatedPrefixPublicDelegatedSubPrefix_Status
        ( PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Active,
          PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Inactive,
          ..
        ),
  
      -- * PublicDelegatedPrefixesScopedList_Warning_Code
      PublicDelegatedPrefixesScopedList_Warning_Code
        ( PublicDelegatedPrefixesScopedList_Warning_Code_CLEANUPFAILED,
          PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          PublicDelegatedPrefixesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          PublicDelegatedPrefixesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          PublicDelegatedPrefixesScopedList_Warning_Code_EXTERNALAPIWARNING,
          PublicDelegatedPrefixesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          PublicDelegatedPrefixesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          PublicDelegatedPrefixesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          PublicDelegatedPrefixesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          PublicDelegatedPrefixesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          PublicDelegatedPrefixesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          PublicDelegatedPrefixesScopedList_Warning_Code_NOTCRITICALERROR,
          PublicDelegatedPrefixesScopedList_Warning_Code_NORESULTSONPAGE,
          PublicDelegatedPrefixesScopedList_Warning_Code_PARTIALSUCCESS,
          PublicDelegatedPrefixesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          PublicDelegatedPrefixesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCENOTDELETED,
          PublicDelegatedPrefixesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          PublicDelegatedPrefixesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          PublicDelegatedPrefixesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          PublicDelegatedPrefixesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Quota_Metric
      Quota_Metric
        ( Quota_Metric_A2CPUS,
          Quota_Metric_AFFINITYGROUPS,
          Quota_Metric_Autoscalers,
          Quota_Metric_BACKENDBUCKETS,
          Quota_Metric_BACKENDSERVICES,
          Quota_Metric_C2DCPUS,
          Quota_Metric_C2CPUS,
          Quota_Metric_C3CPUS,
          Quota_Metric_Commitments,
          Quota_Metric_COMMITTEDA2CPUS,
          Quota_Metric_COMMITTEDC2DCPUS,
          Quota_Metric_COMMITTEDC2CPUS,
          Quota_Metric_COMMITTEDC3CPUS,
          Quota_Metric_COMMITTEDCPUS,
          Quota_Metric_COMMITTEDE2CPUS,
          Quota_Metric_COMMITTEDLICENSES,
          Quota_Metric_COMMITTEDLOCALSSDTOTALGB,
          Quota_Metric_COMMITTEDM3CPUS,
          Quota_Metric_COMMITTEDMEMORYOPTIMIZEDCPUS,
          Quota_Metric_COMMITTEDN2ACPUS,
          Quota_Metric_COMMITTEDN2DCPUS,
          Quota_Metric_COMMITTEDN2CPUS,
          Quota_Metric_COMMITTEDNVIDIAA10080GBGPUS,
          Quota_Metric_COMMITTEDNVIDIAA100GPUS,
          Quota_Metric_COMMITTEDNVIDIAH100GPUS,
          Quota_Metric_COMMITTEDNVIDIAK80GPUS,
          Quota_Metric_COMMITTEDNVIDIAL4GPUS,
          Quota_Metric_COMMITTEDNVIDIAP100GPUS,
          Quota_Metric_COMMITTEDNVIDIAP4GPUS,
          Quota_Metric_COMMITTEDNVIDIAT4GPUS,
          Quota_Metric_COMMITTEDNVIDIAV100GPUS,
          Quota_Metric_COMMITTEDT2ACPUS,
          Quota_Metric_COMMITTEDT2DCPUS,
          Quota_Metric_COMMITTEDZ3CPUS,
          Quota_Metric_Cpus,
          Quota_Metric_CPUSALLREGIONS,
          Quota_Metric_DISKSTOTALGB,
          Quota_Metric_E2CPUS,
          Quota_Metric_EXTERNALMANAGEDFORWARDINGRULES,
          Quota_Metric_EXTERNALNETWORKLBFORWARDINGRULES,
          Quota_Metric_EXTERNALPROTOCOLFORWARDINGRULES,
          Quota_Metric_EXTERNALVPNGATEWAYS,
          Quota_Metric_Firewalls,
          Quota_Metric_FORWARDINGRULES,
          Quota_Metric_GLOBALEXTERNALMANAGEDBACKENDSERVICES,
          Quota_Metric_GLOBALEXTERNALMANAGEDFORWARDINGRULES,
          Quota_Metric_GLOBALEXTERNALPROXYLBBACKENDSERVICES,
          Quota_Metric_GLOBALINTERNALADDRESSES,
          Quota_Metric_GLOBALINTERNALMANAGEDBACKENDSERVICES,
          Quota_Metric_GLOBALINTERNALTRAFFICDIRECTORBACKENDSERVICES,
          Quota_Metric_GPUSALLREGIONS,
          Quota_Metric_HDBTOTALGB,
          Quota_Metric_HDBTOTALIOPS,
          Quota_Metric_HDBTOTALTHROUGHPUT,
          Quota_Metric_HEALTHCHECKS,
          Quota_Metric_Images,
          Quota_Metric_Instances,
          Quota_Metric_INSTANCEGROUPS,
          Quota_Metric_INSTANCEGROUPMANAGERS,
          Quota_Metric_INSTANCETEMPLATES,
          Quota_Metric_Interconnects,
          Quota_Metric_INTERCONNECTATTACHMENTSPERREGION,
          Quota_Metric_INTERCONNECTATTACHMENTSTOTALMBPS,
          Quota_Metric_INTERCONNECTTOTALGBPS,
          Quota_Metric_INTERNALADDRESSES,
          Quota_Metric_INTERNALTRAFFICDIRECTORFORWARDINGRULES,
          Quota_Metric_INPLACESNAPSHOTS,
          Quota_Metric_INUSEADDRESSES,
          Quota_Metric_INUSEBACKUPSCHEDULES,
          Quota_Metric_INUSESNAPSHOTSCHEDULES,
          Quota_Metric_LOCALSSDTOTALGB,
          Quota_Metric_M1CPUS,
          Quota_Metric_M2CPUS,
          Quota_Metric_M3CPUS,
          Quota_Metric_MACHINEIMAGES,
          Quota_Metric_N2ACPUS,
          Quota_Metric_N2DCPUS,
          Quota_Metric_N2CPUS,
          Quota_Metric_Networks,
          Quota_Metric_NETWORKATTACHMENTS,
          Quota_Metric_NETWORKENDPOINTGROUPS,
          Quota_Metric_NETWORKFIREWALLPOLICIES,
          Quota_Metric_NETLBSECURITYPOLICIESPERREGION,
          Quota_Metric_NETLBSECURITYPOLICYRULESPERREGION,
          Quota_Metric_NETLBSECURITYPOLICYRULEATTRIBUTESPERREGION,
          Quota_Metric_NODEGROUPS,
          Quota_Metric_NODETEMPLATES,
          Quota_Metric_NVIDIAA10080GBGPUS,
          Quota_Metric_NVIDIAA100GPUS,
          Quota_Metric_NVIDIAK80GPUS,
          Quota_Metric_NVIDIAL4GPUS,
          Quota_Metric_NVIDIAP100GPUS,
          Quota_Metric_NVIDIAP100VWSGPUS,
          Quota_Metric_NVIDIAP4GPUS,
          Quota_Metric_NVIDIAP4VWSGPUS,
          Quota_Metric_NVIDIAT4GPUS,
          Quota_Metric_NVIDIAT4VWSGPUS,
          Quota_Metric_NVIDIAV100GPUS,
          Quota_Metric_PACKETMIRRORINGS,
          Quota_Metric_PDEXTREMETOTALPROVISIONEDIOPS,
          Quota_Metric_PREEMPTIBLECPUS,
          Quota_Metric_PREEMPTIBLELOCALSSDGB,
          Quota_Metric_PREEMPTIBLENVIDIAA10080GBGPUS,
          Quota_Metric_PREEMPTIBLENVIDIAA100GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAH100GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAK80GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAL4GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAP100GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAP100VWSGPUS,
          Quota_Metric_PREEMPTIBLENVIDIAP4GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAP4VWSGPUS,
          Quota_Metric_PREEMPTIBLENVIDIAT4GPUS,
          Quota_Metric_PREEMPTIBLENVIDIAT4VWSGPUS,
          Quota_Metric_PREEMPTIBLENVIDIAV100GPUS,
          Quota_Metric_PREEMPTIBLE_TPU_LITE_DEVICE_V5,
          Quota_Metric_PREEMPTIBLE_TPU_LITE_PODSLICE_V5,
          Quota_Metric_PREEMPTIBLE_TPU_PODSLICE_V4,
          Quota_Metric_PSCILBCONSUMERFORWARDINGRULESPERPRODUCERNETWORK,
          Quota_Metric_PSCINTERNALLBFORWARDINGRULES,
          Quota_Metric_PUBLICADVERTISEDPREFIXES,
          Quota_Metric_PUBLICDELEGATEDPREFIXES,
          Quota_Metric_REGIONALAUTOSCALERS,
          Quota_Metric_REGIONALEXTERNALMANAGEDBACKENDSERVICES,
          Quota_Metric_REGIONALEXTERNALNETWORKLBBACKENDSERVICES,
          Quota_Metric_REGIONALINSTANCEGROUPMANAGERS,
          Quota_Metric_REGIONALINTERNALLBBACKENDSERVICES,
          Quota_Metric_REGIONALINTERNALMANAGEDBACKENDSERVICES,
          Quota_Metric_REGIONALINTERNALTRAFFICDIRECTORBACKENDSERVICES,
          Quota_Metric_Reservations,
          Quota_Metric_RESOURCEPOLICIES,
          Quota_Metric_Routers,
          Quota_Metric_Routes,
          Quota_Metric_SECURITYPOLICIES,
          Quota_Metric_SECURITYPOLICIESPERREGION,
          Quota_Metric_SECURITYPOLICYADVANCEDRULESPERREGION,
          Quota_Metric_SECURITYPOLICYCEVALRULES,
          Quota_Metric_SECURITYPOLICYRULES,
          Quota_Metric_SECURITYPOLICYRULESPERREGION,
          Quota_Metric_SERVICEATTACHMENTS,
          Quota_Metric_Snapshots,
          Quota_Metric_SSDTOTALGB,
          Quota_Metric_SSLCERTIFICATES,
          Quota_Metric_SSLPOLICIES,
          Quota_Metric_STATICADDRESSES,
          Quota_Metric_STATICBYOIPADDRESSES,
          Quota_Metric_STATICEXTERNALIPV6ADDRESSRANGES,
          Quota_Metric_Subnetworks,
          Quota_Metric_T2ACPUS,
          Quota_Metric_T2DCPUS,
          Quota_Metric_TARGETHTTPSPROXIES,
          Quota_Metric_TARGETHTTPPROXIES,
          Quota_Metric_TARGETINSTANCES,
          Quota_Metric_TARGETPOOLS,
          Quota_Metric_TARGETSSLPROXIES,
          Quota_Metric_TARGETTCPPROXIES,
          Quota_Metric_TARGETVPNGATEWAYS,
          Quota_Metric_TPU_LITE_DEVICE_V5,
          Quota_Metric_TPU_LITE_PODSLICE_V5,
          Quota_Metric_TPU_PODSLICE_V4,
          Quota_Metric_URLMAPS,
          Quota_Metric_VARIABLEIPV6PUBLICDELEGATEDPREFIXES,
          Quota_Metric_VPNGATEWAYS,
          Quota_Metric_VPNTUNNELS,
          Quota_Metric_XPNSERVICEPROJECTS,
          ..
        ),
  
      -- * QuotaExceededInfo_RolloutStatus
      QuotaExceededInfo_RolloutStatus
        ( QuotaExceededInfo_RolloutStatus_INPROGRESS,
          QuotaExceededInfo_RolloutStatus_ROLLOUTSTATUSUNSPECIFIED,
          ..
        ),
  
      -- * Region_QuotaStatusWarning_Code
      Region_QuotaStatusWarning_Code
        ( Region_QuotaStatusWarning_Code_CLEANUPFAILED,
          Region_QuotaStatusWarning_Code_DEPRECATEDRESOURCEUSED,
          Region_QuotaStatusWarning_Code_DEPRECATEDTYPEUSED,
          Region_QuotaStatusWarning_Code_DISKSIZELARGERTHANIMAGESIZE,
          Region_QuotaStatusWarning_Code_EXPERIMENTALTYPEUSED,
          Region_QuotaStatusWarning_Code_EXTERNALAPIWARNING,
          Region_QuotaStatusWarning_Code_FIELDVALUEOVERRIDEN,
          Region_QuotaStatusWarning_Code_INJECTEDKERNELSDEPRECATED,
          Region_QuotaStatusWarning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          Region_QuotaStatusWarning_Code_LARGEDEPLOYMENTWARNING,
          Region_QuotaStatusWarning_Code_LISTOVERHEADQUOTAEXCEED,
          Region_QuotaStatusWarning_Code_MISSINGTYPEDEPENDENCY,
          Region_QuotaStatusWarning_Code_NEXTHOPADDRESSNOTASSIGNED,
          Region_QuotaStatusWarning_Code_NEXTHOPCANNOTIPFORWARD,
          Region_QuotaStatusWarning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTFOUND,
          Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTONNETWORK,
          Region_QuotaStatusWarning_Code_NEXTHOPNOTRUNNING,
          Region_QuotaStatusWarning_Code_NOTCRITICALERROR,
          Region_QuotaStatusWarning_Code_NORESULTSONPAGE,
          Region_QuotaStatusWarning_Code_PARTIALSUCCESS,
          Region_QuotaStatusWarning_Code_QUOTAINFOUNAVAILABLE,
          Region_QuotaStatusWarning_Code_REQUIREDTOSAGREEMENT,
          Region_QuotaStatusWarning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          Region_QuotaStatusWarning_Code_RESOURCENOTDELETED,
          Region_QuotaStatusWarning_Code_SCHEMAVALIDATIONIGNORED,
          Region_QuotaStatusWarning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          Region_QuotaStatusWarning_Code_UNDECLAREDPROPERTIES,
          Region_QuotaStatusWarning_Code_Unreachable,
          ..
        ),
  
      -- * Region_Status
      Region_Status
        ( Region_Status_Down,
          Region_Status_UP,
          ..
        ),
  
      -- * RegionAutoscalerList_Warning_Code
      RegionAutoscalerList_Warning_Code
        ( RegionAutoscalerList_Warning_Code_CLEANUPFAILED,
          RegionAutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionAutoscalerList_Warning_Code_DEPRECATEDTYPEUSED,
          RegionAutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionAutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionAutoscalerList_Warning_Code_EXTERNALAPIWARNING,
          RegionAutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionAutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionAutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionAutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionAutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionAutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionAutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionAutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionAutoscalerList_Warning_Code_NEXTHOPNOTRUNNING,
          RegionAutoscalerList_Warning_Code_NOTCRITICALERROR,
          RegionAutoscalerList_Warning_Code_NORESULTSONPAGE,
          RegionAutoscalerList_Warning_Code_PARTIALSUCCESS,
          RegionAutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionAutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionAutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionAutoscalerList_Warning_Code_RESOURCENOTDELETED,
          RegionAutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionAutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionAutoscalerList_Warning_Code_UNDECLAREDPROPERTIES,
          RegionAutoscalerList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionDiskTypeList_Warning_Code
      RegionDiskTypeList_Warning_Code
        ( RegionDiskTypeList_Warning_Code_CLEANUPFAILED,
          RegionDiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionDiskTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          RegionDiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionDiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionDiskTypeList_Warning_Code_EXTERNALAPIWARNING,
          RegionDiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionDiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionDiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionDiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionDiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionDiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionDiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionDiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionDiskTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          RegionDiskTypeList_Warning_Code_NOTCRITICALERROR,
          RegionDiskTypeList_Warning_Code_NORESULTSONPAGE,
          RegionDiskTypeList_Warning_Code_PARTIALSUCCESS,
          RegionDiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionDiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionDiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionDiskTypeList_Warning_Code_RESOURCENOTDELETED,
          RegionDiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionDiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionDiskTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          RegionDiskTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionInstanceGroupList_Warning_Code
      RegionInstanceGroupList_Warning_Code
        ( RegionInstanceGroupList_Warning_Code_CLEANUPFAILED,
          RegionInstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionInstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED,
          RegionInstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionInstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionInstanceGroupList_Warning_Code_EXTERNALAPIWARNING,
          RegionInstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionInstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionInstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionInstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionInstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionInstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionInstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionInstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionInstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING,
          RegionInstanceGroupList_Warning_Code_NOTCRITICALERROR,
          RegionInstanceGroupList_Warning_Code_NORESULTSONPAGE,
          RegionInstanceGroupList_Warning_Code_PARTIALSUCCESS,
          RegionInstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionInstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionInstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionInstanceGroupList_Warning_Code_RESOURCENOTDELETED,
          RegionInstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionInstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionInstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES,
          RegionInstanceGroupList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionInstanceGroupManagerList_Warning_Code
      RegionInstanceGroupManagerList_Warning_Code
        ( RegionInstanceGroupManagerList_Warning_Code_CLEANUPFAILED,
          RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED,
          RegionInstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionInstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionInstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING,
          RegionInstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionInstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionInstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionInstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionInstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionInstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionInstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING,
          RegionInstanceGroupManagerList_Warning_Code_NOTCRITICALERROR,
          RegionInstanceGroupManagerList_Warning_Code_NORESULTSONPAGE,
          RegionInstanceGroupManagerList_Warning_Code_PARTIALSUCCESS,
          RegionInstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionInstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionInstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionInstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED,
          RegionInstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionInstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionInstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES,
          RegionInstanceGroupManagerList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
      RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
        ( RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_None,
          RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh,
          RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace,
          RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart,
          ..
        ),
  
      -- * RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
      RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
        ( RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None,
          RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh,
          RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace,
          RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart,
          ..
        ),
  
      -- * RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
      RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
        ( RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_CLEANUPFAILED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NOTCRITICALERROR,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NORESULTSONPAGE,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_PARTIALSUCCESS,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES,
          RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionInstanceGroupsListInstances_Warning_Code
      RegionInstanceGroupsListInstances_Warning_Code
        ( RegionInstanceGroupsListInstances_Warning_Code_CLEANUPFAILED,
          RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED,
          RegionInstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionInstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionInstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING,
          RegionInstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionInstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionInstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionInstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionInstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionInstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING,
          RegionInstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR,
          RegionInstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE,
          RegionInstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS,
          RegionInstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionInstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionInstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionInstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED,
          RegionInstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionInstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionInstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES,
          RegionInstanceGroupsListInstances_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionInstanceGroupsListInstancesRequest_InstanceState
      RegionInstanceGroupsListInstancesRequest_InstanceState
        ( RegionInstanceGroupsListInstancesRequest_InstanceState_All,
          RegionInstanceGroupsListInstancesRequest_InstanceState_Running,
          ..
        ),
  
      -- * RegionList_Warning_Code
      RegionList_Warning_Code
        ( RegionList_Warning_Code_CLEANUPFAILED,
          RegionList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RegionList_Warning_Code_DEPRECATEDTYPEUSED,
          RegionList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RegionList_Warning_Code_EXPERIMENTALTYPEUSED,
          RegionList_Warning_Code_EXTERNALAPIWARNING,
          RegionList_Warning_Code_FIELDVALUEOVERRIDEN,
          RegionList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RegionList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RegionList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RegionList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RegionList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RegionList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RegionList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RegionList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RegionList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RegionList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RegionList_Warning_Code_NEXTHOPNOTRUNNING,
          RegionList_Warning_Code_NOTCRITICALERROR,
          RegionList_Warning_Code_NORESULTSONPAGE,
          RegionList_Warning_Code_PARTIALSUCCESS,
          RegionList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RegionList_Warning_Code_REQUIREDTOSAGREEMENT,
          RegionList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RegionList_Warning_Code_RESOURCENOTDELETED,
          RegionList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RegionList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RegionList_Warning_Code_UNDECLAREDPROPERTIES,
          RegionList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
      RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
        ( RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
          RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
          RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL,
          RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL,
          RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL,
          RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
          ..
        ),
  
      -- * Reservation_Status
      Reservation_Status
        ( Reservation_Status_Creating,
          Reservation_Status_Deleting,
          Reservation_Status_Invalid,
          Reservation_Status_Ready,
          Reservation_Status_Updating,
          ..
        ),
  
      -- * ReservationAffinity_ConsumeReservationType
      ReservationAffinity_ConsumeReservationType
        ( ReservationAffinity_ConsumeReservationType_ANYRESERVATION,
          ReservationAffinity_ConsumeReservationType_NORESERVATION,
          ReservationAffinity_ConsumeReservationType_SPECIFICRESERVATION,
          ReservationAffinity_ConsumeReservationType_Unspecified,
          ..
        ),
  
      -- * ReservationAggregatedList_Warning_Code
      ReservationAggregatedList_Warning_Code
        ( ReservationAggregatedList_Warning_Code_CLEANUPFAILED,
          ReservationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ReservationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          ReservationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ReservationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ReservationAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          ReservationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ReservationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ReservationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ReservationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ReservationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ReservationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ReservationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ReservationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ReservationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          ReservationAggregatedList_Warning_Code_NOTCRITICALERROR,
          ReservationAggregatedList_Warning_Code_NORESULTSONPAGE,
          ReservationAggregatedList_Warning_Code_PARTIALSUCCESS,
          ReservationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ReservationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ReservationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ReservationAggregatedList_Warning_Code_RESOURCENOTDELETED,
          ReservationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ReservationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ReservationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          ReservationAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ReservationList_Warning_Code
      ReservationList_Warning_Code
        ( ReservationList_Warning_Code_CLEANUPFAILED,
          ReservationList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ReservationList_Warning_Code_DEPRECATEDTYPEUSED,
          ReservationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ReservationList_Warning_Code_EXPERIMENTALTYPEUSED,
          ReservationList_Warning_Code_EXTERNALAPIWARNING,
          ReservationList_Warning_Code_FIELDVALUEOVERRIDEN,
          ReservationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ReservationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ReservationList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ReservationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ReservationList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ReservationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ReservationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ReservationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ReservationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ReservationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ReservationList_Warning_Code_NEXTHOPNOTRUNNING,
          ReservationList_Warning_Code_NOTCRITICALERROR,
          ReservationList_Warning_Code_NORESULTSONPAGE,
          ReservationList_Warning_Code_PARTIALSUCCESS,
          ReservationList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ReservationList_Warning_Code_REQUIREDTOSAGREEMENT,
          ReservationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ReservationList_Warning_Code_RESOURCENOTDELETED,
          ReservationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ReservationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ReservationList_Warning_Code_UNDECLAREDPROPERTIES,
          ReservationList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ReservationsScopedList_Warning_Code
      ReservationsScopedList_Warning_Code
        ( ReservationsScopedList_Warning_Code_CLEANUPFAILED,
          ReservationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ReservationsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          ReservationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ReservationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ReservationsScopedList_Warning_Code_EXTERNALAPIWARNING,
          ReservationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ReservationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ReservationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ReservationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ReservationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ReservationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ReservationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ReservationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ReservationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ReservationsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          ReservationsScopedList_Warning_Code_NOTCRITICALERROR,
          ReservationsScopedList_Warning_Code_NORESULTSONPAGE,
          ReservationsScopedList_Warning_Code_PARTIALSUCCESS,
          ReservationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ReservationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ReservationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ReservationsScopedList_Warning_Code_RESOURCENOTDELETED,
          ReservationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ReservationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ReservationsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          ReservationsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ResourceCommitment_Type
      ResourceCommitment_Type
        ( ResourceCommitment_Type_Accelerator,
          ResourceCommitment_Type_LOCALSSD,
          ResourceCommitment_Type_Memory,
          ResourceCommitment_Type_Unspecified,
          ResourceCommitment_Type_Vcpu,
          ..
        ),
  
      -- * ResourcePoliciesScopedList_Warning_Code
      ResourcePoliciesScopedList_Warning_Code
        ( ResourcePoliciesScopedList_Warning_Code_CLEANUPFAILED,
          ResourcePoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ResourcePoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          ResourcePoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ResourcePoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ResourcePoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
          ResourcePoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ResourcePoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ResourcePoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ResourcePoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ResourcePoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ResourcePoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ResourcePoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          ResourcePoliciesScopedList_Warning_Code_NOTCRITICALERROR,
          ResourcePoliciesScopedList_Warning_Code_NORESULTSONPAGE,
          ResourcePoliciesScopedList_Warning_Code_PARTIALSUCCESS,
          ResourcePoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ResourcePoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ResourcePoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ResourcePoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
          ResourcePoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ResourcePoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ResourcePoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          ResourcePoliciesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ResourcePolicy_Status
      ResourcePolicy_Status
        ( ResourcePolicy_Status_Creating,
          ResourcePolicy_Status_Deleting,
          ResourcePolicy_Status_Expired,
          ResourcePolicy_Status_Invalid,
          ResourcePolicy_Status_Ready,
          ..
        ),
  
      -- * ResourcePolicyAggregatedList_Warning_Code
      ResourcePolicyAggregatedList_Warning_Code
        ( ResourcePolicyAggregatedList_Warning_Code_CLEANUPFAILED,
          ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          ResourcePolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ResourcePolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ResourcePolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          ResourcePolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ResourcePolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ResourcePolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ResourcePolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ResourcePolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ResourcePolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ResourcePolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          ResourcePolicyAggregatedList_Warning_Code_NOTCRITICALERROR,
          ResourcePolicyAggregatedList_Warning_Code_NORESULTSONPAGE,
          ResourcePolicyAggregatedList_Warning_Code_PARTIALSUCCESS,
          ResourcePolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ResourcePolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ResourcePolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ResourcePolicyAggregatedList_Warning_Code_RESOURCENOTDELETED,
          ResourcePolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ResourcePolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ResourcePolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          ResourcePolicyAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ResourcePolicyGroupPlacementPolicy_Collocation
      ResourcePolicyGroupPlacementPolicy_Collocation
        ( ResourcePolicyGroupPlacementPolicy_Collocation_Collocated,
          ResourcePolicyGroupPlacementPolicy_Collocation_UNSPECIFIEDCOLLOCATION,
          ..
        ),
  
      -- * ResourcePolicyList_Warning_Code
      ResourcePolicyList_Warning_Code
        ( ResourcePolicyList_Warning_Code_CLEANUPFAILED,
          ResourcePolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ResourcePolicyList_Warning_Code_DEPRECATEDTYPEUSED,
          ResourcePolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ResourcePolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
          ResourcePolicyList_Warning_Code_EXTERNALAPIWARNING,
          ResourcePolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
          ResourcePolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ResourcePolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ResourcePolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ResourcePolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ResourcePolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ResourcePolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ResourcePolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ResourcePolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ResourcePolicyList_Warning_Code_NEXTHOPNOTRUNNING,
          ResourcePolicyList_Warning_Code_NOTCRITICALERROR,
          ResourcePolicyList_Warning_Code_NORESULTSONPAGE,
          ResourcePolicyList_Warning_Code_PARTIALSUCCESS,
          ResourcePolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ResourcePolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
          ResourcePolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ResourcePolicyList_Warning_Code_RESOURCENOTDELETED,
          ResourcePolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ResourcePolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ResourcePolicyList_Warning_Code_UNDECLAREDPROPERTIES,
          ResourcePolicyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
      ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
        ( ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_APPLYRETENTIONPOLICY,
          ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_KEEPAUTOSNAPSHOTS,
          ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_UNSPECIFIEDONSOURCEDISKDELETE,
          ..
        ),
  
      -- * ResourcePolicyWeeklyCycleDayOfWeek_Day
      ResourcePolicyWeeklyCycleDayOfWeek_Day
        ( ResourcePolicyWeeklyCycleDayOfWeek_Day_Friday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Invalid,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Monday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Saturday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Sunday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Thursday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Tuesday,
          ResourcePolicyWeeklyCycleDayOfWeek_Day_Wednesday,
          ..
        ),
  
      -- * Route_NextHopOrigin
      Route_NextHopOrigin
        ( Route_NextHopOrigin_Egp,
          Route_NextHopOrigin_Igp,
          Route_NextHopOrigin_Incomplete,
          ..
        ),
  
      -- * Route_RouteStatus
      Route_RouteStatus
        ( Route_RouteStatus_Active,
          Route_RouteStatus_Dropped,
          Route_RouteStatus_Inactive,
          Route_RouteStatus_Pending,
          ..
        ),
  
      -- * Route_RouteType
      Route_RouteType
        ( Route_RouteType_Bgp,
          Route_RouteType_Static,
          Route_RouteType_Subnet,
          Route_RouteType_Transit,
          ..
        ),
  
      -- * Route_WarningsItem_Code
      Route_WarningsItem_Code
        ( Route_WarningsItem_Code_CLEANUPFAILED,
          Route_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
          Route_WarningsItem_Code_DEPRECATEDTYPEUSED,
          Route_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
          Route_WarningsItem_Code_EXPERIMENTALTYPEUSED,
          Route_WarningsItem_Code_EXTERNALAPIWARNING,
          Route_WarningsItem_Code_FIELDVALUEOVERRIDEN,
          Route_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
          Route_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          Route_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
          Route_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
          Route_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
          Route_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
          Route_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
          Route_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          Route_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
          Route_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
          Route_WarningsItem_Code_NEXTHOPNOTRUNNING,
          Route_WarningsItem_Code_NOTCRITICALERROR,
          Route_WarningsItem_Code_NORESULTSONPAGE,
          Route_WarningsItem_Code_PARTIALSUCCESS,
          Route_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
          Route_WarningsItem_Code_REQUIREDTOSAGREEMENT,
          Route_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          Route_WarningsItem_Code_RESOURCENOTDELETED,
          Route_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
          Route_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          Route_WarningsItem_Code_UNDECLAREDPROPERTIES,
          Route_WarningsItem_Code_Unreachable,
          ..
        ),
  
      -- * RouteAsPath_PathSegmentType
      RouteAsPath_PathSegmentType
        ( RouteAsPath_PathSegmentType_ASCONFEDSEQUENCE,
          RouteAsPath_PathSegmentType_ASCONFEDSET,
          RouteAsPath_PathSegmentType_ASSEQUENCE,
          RouteAsPath_PathSegmentType_ASSET,
          ..
        ),
  
      -- * RouteList_Warning_Code
      RouteList_Warning_Code
        ( RouteList_Warning_Code_CLEANUPFAILED,
          RouteList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RouteList_Warning_Code_DEPRECATEDTYPEUSED,
          RouteList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RouteList_Warning_Code_EXPERIMENTALTYPEUSED,
          RouteList_Warning_Code_EXTERNALAPIWARNING,
          RouteList_Warning_Code_FIELDVALUEOVERRIDEN,
          RouteList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RouteList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RouteList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RouteList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RouteList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RouteList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RouteList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RouteList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RouteList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RouteList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RouteList_Warning_Code_NEXTHOPNOTRUNNING,
          RouteList_Warning_Code_NOTCRITICALERROR,
          RouteList_Warning_Code_NORESULTSONPAGE,
          RouteList_Warning_Code_PARTIALSUCCESS,
          RouteList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RouteList_Warning_Code_REQUIREDTOSAGREEMENT,
          RouteList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RouteList_Warning_Code_RESOURCENOTDELETED,
          RouteList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RouteList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RouteList_Warning_Code_UNDECLAREDPROPERTIES,
          RouteList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RoutePolicy_Type
      RoutePolicy_Type
        ( RoutePolicy_Type_ROUTEPOLICYTYPEEXPORT,
          RoutePolicy_Type_ROUTEPOLICYTYPEIMPORT,
          ..
        ),
  
      -- * RouterAggregatedList_Warning_Code
      RouterAggregatedList_Warning_Code
        ( RouterAggregatedList_Warning_Code_CLEANUPFAILED,
          RouterAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RouterAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          RouterAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RouterAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          RouterAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          RouterAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          RouterAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RouterAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RouterAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RouterAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RouterAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RouterAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RouterAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RouterAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RouterAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          RouterAggregatedList_Warning_Code_NOTCRITICALERROR,
          RouterAggregatedList_Warning_Code_NORESULTSONPAGE,
          RouterAggregatedList_Warning_Code_PARTIALSUCCESS,
          RouterAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RouterAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          RouterAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RouterAggregatedList_Warning_Code_RESOURCENOTDELETED,
          RouterAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RouterAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RouterAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          RouterAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RouterBgp_AdvertiseMode
      RouterBgp_AdvertiseMode
        ( RouterBgp_AdvertiseMode_Custom,
          RouterBgp_AdvertiseMode_Default,
          ..
        ),
  
      -- * RouterBgp_AdvertisedGroupsItem
      RouterBgp_AdvertisedGroupsItem
        ( RouterBgp_AdvertisedGroupsItem_ALLSUBNETS,
          ..
        ),
  
      -- * RouterBgpPeer_AdvertiseMode
      RouterBgpPeer_AdvertiseMode
        ( RouterBgpPeer_AdvertiseMode_Custom,
          RouterBgpPeer_AdvertiseMode_Default,
          ..
        ),
  
      -- * RouterBgpPeer_AdvertisedGroupsItem
      RouterBgpPeer_AdvertisedGroupsItem
        ( RouterBgpPeer_AdvertisedGroupsItem_ALLSUBNETS,
          ..
        ),
  
      -- * RouterBgpPeer_Enable
      RouterBgpPeer_Enable
        ( RouterBgpPeer_Enable_False',
          RouterBgpPeer_Enable_True',
          ..
        ),
  
      -- * RouterBgpPeer_ManagementType
      RouterBgpPeer_ManagementType
        ( RouterBgpPeer_ManagementType_MANAGEDBYATTACHMENT,
          RouterBgpPeer_ManagementType_MANAGEDBYUSER,
          ..
        ),
  
      -- * RouterBgpPeerBfd_SessionInitializationMode
      RouterBgpPeerBfd_SessionInitializationMode
        ( RouterBgpPeerBfd_SessionInitializationMode_Active,
          RouterBgpPeerBfd_SessionInitializationMode_Disabled,
          RouterBgpPeerBfd_SessionInitializationMode_Passive,
          ..
        ),
  
      -- * RouterInterface_IpVersion
      RouterInterface_IpVersion
        ( RouterInterface_IpVersion_IPV4,
          RouterInterface_IpVersion_IPV6,
          ..
        ),
  
      -- * RouterInterface_ManagementType
      RouterInterface_ManagementType
        ( RouterInterface_ManagementType_MANAGEDBYATTACHMENT,
          RouterInterface_ManagementType_MANAGEDBYUSER,
          ..
        ),
  
      -- * RouterList_Warning_Code
      RouterList_Warning_Code
        ( RouterList_Warning_Code_CLEANUPFAILED,
          RouterList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RouterList_Warning_Code_DEPRECATEDTYPEUSED,
          RouterList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RouterList_Warning_Code_EXPERIMENTALTYPEUSED,
          RouterList_Warning_Code_EXTERNALAPIWARNING,
          RouterList_Warning_Code_FIELDVALUEOVERRIDEN,
          RouterList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RouterList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RouterList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RouterList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RouterList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RouterList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RouterList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RouterList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RouterList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RouterList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RouterList_Warning_Code_NEXTHOPNOTRUNNING,
          RouterList_Warning_Code_NOTCRITICALERROR,
          RouterList_Warning_Code_NORESULTSONPAGE,
          RouterList_Warning_Code_PARTIALSUCCESS,
          RouterList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RouterList_Warning_Code_REQUIREDTOSAGREEMENT,
          RouterList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RouterList_Warning_Code_RESOURCENOTDELETED,
          RouterList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RouterList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RouterList_Warning_Code_UNDECLAREDPROPERTIES,
          RouterList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RouterNat_AutoNetworkTier
      RouterNat_AutoNetworkTier
        ( RouterNat_AutoNetworkTier_FIXEDSTANDARD,
          RouterNat_AutoNetworkTier_Premium,
          RouterNat_AutoNetworkTier_Standard,
          RouterNat_AutoNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
          ..
        ),
  
      -- * RouterNat_EndpointTypesItem
      RouterNat_EndpointTypesItem
        ( RouterNat_EndpointTypesItem_ENDPOINTTYPEMANAGEDPROXYLB,
          RouterNat_EndpointTypesItem_ENDPOINTTYPESWG,
          RouterNat_EndpointTypesItem_ENDPOINTTYPEVM,
          ..
        ),
  
      -- * RouterNat_NatIpAllocateOption
      RouterNat_NatIpAllocateOption
        ( RouterNat_NatIpAllocateOption_AUTOONLY,
          RouterNat_NatIpAllocateOption_MANUALONLY,
          ..
        ),
  
      -- * RouterNat_SourceSubnetworkIpRangesToNat
      RouterNat_SourceSubnetworkIpRangesToNat
        ( RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLIPRANGES,
          RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLPRIMARYIPRANGES,
          RouterNat_SourceSubnetworkIpRangesToNat_LISTOFSUBNETWORKS,
          ..
        ),
  
      -- * RouterNat_Type
      RouterNat_Type
        ( RouterNat_Type_Private,
          RouterNat_Type_Public,
          ..
        ),
  
      -- * RouterNatLogConfig_Filter
      RouterNatLogConfig_Filter
        ( RouterNatLogConfig_Filter_All,
          RouterNatLogConfig_Filter_ERRORSONLY,
          RouterNatLogConfig_Filter_TRANSLATIONSONLY,
          ..
        ),
  
      -- * RouterNatSubnetworkToNat_SourceIpRangesToNatItem
      RouterNatSubnetworkToNat_SourceIpRangesToNatItem
        ( RouterNatSubnetworkToNat_SourceIpRangesToNatItem_ALLIPRANGES,
          RouterNatSubnetworkToNat_SourceIpRangesToNatItem_LISTOFSECONDARYIPRANGES,
          RouterNatSubnetworkToNat_SourceIpRangesToNatItem_PRIMARYIPRANGE,
          ..
        ),
  
      -- * RouterStatusBgpPeerStatus_Status
      RouterStatusBgpPeerStatus_Status
        ( RouterStatusBgpPeerStatus_Status_Down,
          RouterStatusBgpPeerStatus_Status_Unknown,
          RouterStatusBgpPeerStatus_Status_UP,
          ..
        ),
  
      -- * RouterStatusBgpPeerStatus_StatusReason
      RouterStatusBgpPeerStatus_StatusReason
        ( RouterStatusBgpPeerStatus_StatusReason_IPV4PEERONIPV6ONLYCONNECTION,
          RouterStatusBgpPeerStatus_StatusReason_IPV6PEERONIPV4ONLYCONNECTION,
          RouterStatusBgpPeerStatus_StatusReason_MD5AUTHINTERNALPROBLEM,
          RouterStatusBgpPeerStatus_StatusReason_STATUSREASONUNSPECIFIED,
          ..
        ),
  
      -- * RoutersListBgpRoutes_Warning_Code
      RoutersListBgpRoutes_Warning_Code
        ( RoutersListBgpRoutes_Warning_Code_CLEANUPFAILED,
          RoutersListBgpRoutes_Warning_Code_DEPRECATEDRESOURCEUSED,
          RoutersListBgpRoutes_Warning_Code_DEPRECATEDTYPEUSED,
          RoutersListBgpRoutes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RoutersListBgpRoutes_Warning_Code_EXPERIMENTALTYPEUSED,
          RoutersListBgpRoutes_Warning_Code_EXTERNALAPIWARNING,
          RoutersListBgpRoutes_Warning_Code_FIELDVALUEOVERRIDEN,
          RoutersListBgpRoutes_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RoutersListBgpRoutes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RoutersListBgpRoutes_Warning_Code_LARGEDEPLOYMENTWARNING,
          RoutersListBgpRoutes_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RoutersListBgpRoutes_Warning_Code_MISSINGTYPEDEPENDENCY,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RoutersListBgpRoutes_Warning_Code_NEXTHOPNOTRUNNING,
          RoutersListBgpRoutes_Warning_Code_NOTCRITICALERROR,
          RoutersListBgpRoutes_Warning_Code_NORESULTSONPAGE,
          RoutersListBgpRoutes_Warning_Code_PARTIALSUCCESS,
          RoutersListBgpRoutes_Warning_Code_QUOTAINFOUNAVAILABLE,
          RoutersListBgpRoutes_Warning_Code_REQUIREDTOSAGREEMENT,
          RoutersListBgpRoutes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RoutersListBgpRoutes_Warning_Code_RESOURCENOTDELETED,
          RoutersListBgpRoutes_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RoutersListBgpRoutes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RoutersListBgpRoutes_Warning_Code_UNDECLAREDPROPERTIES,
          RoutersListBgpRoutes_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RoutersListRoutePolicies_Warning_Code
      RoutersListRoutePolicies_Warning_Code
        ( RoutersListRoutePolicies_Warning_Code_CLEANUPFAILED,
          RoutersListRoutePolicies_Warning_Code_DEPRECATEDRESOURCEUSED,
          RoutersListRoutePolicies_Warning_Code_DEPRECATEDTYPEUSED,
          RoutersListRoutePolicies_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RoutersListRoutePolicies_Warning_Code_EXPERIMENTALTYPEUSED,
          RoutersListRoutePolicies_Warning_Code_EXTERNALAPIWARNING,
          RoutersListRoutePolicies_Warning_Code_FIELDVALUEOVERRIDEN,
          RoutersListRoutePolicies_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RoutersListRoutePolicies_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RoutersListRoutePolicies_Warning_Code_LARGEDEPLOYMENTWARNING,
          RoutersListRoutePolicies_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RoutersListRoutePolicies_Warning_Code_MISSINGTYPEDEPENDENCY,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RoutersListRoutePolicies_Warning_Code_NEXTHOPNOTRUNNING,
          RoutersListRoutePolicies_Warning_Code_NOTCRITICALERROR,
          RoutersListRoutePolicies_Warning_Code_NORESULTSONPAGE,
          RoutersListRoutePolicies_Warning_Code_PARTIALSUCCESS,
          RoutersListRoutePolicies_Warning_Code_QUOTAINFOUNAVAILABLE,
          RoutersListRoutePolicies_Warning_Code_REQUIREDTOSAGREEMENT,
          RoutersListRoutePolicies_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RoutersListRoutePolicies_Warning_Code_RESOURCENOTDELETED,
          RoutersListRoutePolicies_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RoutersListRoutePolicies_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RoutersListRoutePolicies_Warning_Code_UNDECLAREDPROPERTIES,
          RoutersListRoutePolicies_Warning_Code_Unreachable,
          ..
        ),
  
      -- * RoutersScopedList_Warning_Code
      RoutersScopedList_Warning_Code
        ( RoutersScopedList_Warning_Code_CLEANUPFAILED,
          RoutersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          RoutersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          RoutersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          RoutersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          RoutersScopedList_Warning_Code_EXTERNALAPIWARNING,
          RoutersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          RoutersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          RoutersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          RoutersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          RoutersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          RoutersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          RoutersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          RoutersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          RoutersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          RoutersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          RoutersScopedList_Warning_Code_NOTCRITICALERROR,
          RoutersScopedList_Warning_Code_NORESULTSONPAGE,
          RoutersScopedList_Warning_Code_PARTIALSUCCESS,
          RoutersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          RoutersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          RoutersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          RoutersScopedList_Warning_Code_RESOURCENOTDELETED,
          RoutersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          RoutersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          RoutersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          RoutersScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SSLHealthCheck_PortSpecification
      SSLHealthCheck_PortSpecification
        ( SSLHealthCheck_PortSpecification_USEFIXEDPORT,
          SSLHealthCheck_PortSpecification_USENAMEDPORT,
          SSLHealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * SSLHealthCheck_ProxyHeader
      SSLHealthCheck_ProxyHeader
        ( SSLHealthCheck_ProxyHeader_None,
          SSLHealthCheck_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * SavedAttachedDisk_Interface
      SavedAttachedDisk_Interface
        ( SavedAttachedDisk_Interface_Nvme,
          SavedAttachedDisk_Interface_Scsi,
          ..
        ),
  
      -- * SavedAttachedDisk_Mode
      SavedAttachedDisk_Mode
        ( SavedAttachedDisk_Mode_READONLY,
          SavedAttachedDisk_Mode_READWRITE,
          ..
        ),
  
      -- * SavedAttachedDisk_StorageBytesStatus
      SavedAttachedDisk_StorageBytesStatus
        ( SavedAttachedDisk_StorageBytesStatus_Updating,
          SavedAttachedDisk_StorageBytesStatus_UPTODATE,
          ..
        ),
  
      -- * SavedAttachedDisk_Type
      SavedAttachedDisk_Type
        ( SavedAttachedDisk_Type_Persistent,
          SavedAttachedDisk_Type_Scratch,
          ..
        ),
  
      -- * SavedDisk_Architecture
      SavedDisk_Architecture
        ( SavedDisk_Architecture_ARCHITECTUREUNSPECIFIED,
          SavedDisk_Architecture_ARM64,
          SavedDisk_Architecture_X86_64,
          ..
        ),
  
      -- * SavedDisk_StorageBytesStatus
      SavedDisk_StorageBytesStatus
        ( SavedDisk_StorageBytesStatus_Updating,
          SavedDisk_StorageBytesStatus_UPTODATE,
          ..
        ),
  
      -- * ScalingScheduleStatus_State
      ScalingScheduleStatus_State
        ( ScalingScheduleStatus_State_Active,
          ScalingScheduleStatus_State_Disabled,
          ScalingScheduleStatus_State_Obsolete,
          ScalingScheduleStatus_State_Ready,
          ..
        ),
  
      -- * Scheduling_InstanceTerminationAction
      Scheduling_InstanceTerminationAction
        ( Scheduling_InstanceTerminationAction_Delete',
          Scheduling_InstanceTerminationAction_INSTANCETERMINATIONACTIONUNSPECIFIED,
          Scheduling_InstanceTerminationAction_Stop,
          ..
        ),
  
      -- * Scheduling_OnHostMaintenance
      Scheduling_OnHostMaintenance
        ( Scheduling_OnHostMaintenance_Migrate,
          Scheduling_OnHostMaintenance_Terminate,
          ..
        ),
  
      -- * Scheduling_ProvisioningModel
      Scheduling_ProvisioningModel
        ( Scheduling_ProvisioningModel_Spot,
          Scheduling_ProvisioningModel_Standard,
          ..
        ),
  
      -- * SchedulingNodeAffinity_Operator
      SchedulingNodeAffinity_Operator
        ( SchedulingNodeAffinity_Operator_IN,
          SchedulingNodeAffinity_Operator_NOTIN,
          SchedulingNodeAffinity_Operator_OPERATORUNSPECIFIED,
          ..
        ),
  
      -- * SecurityPoliciesAggregatedList_Warning_Code
      SecurityPoliciesAggregatedList_Warning_Code
        ( SecurityPoliciesAggregatedList_Warning_Code_CLEANUPFAILED,
          SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          SecurityPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SecurityPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SecurityPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          SecurityPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SecurityPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SecurityPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SecurityPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SecurityPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SecurityPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          SecurityPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR,
          SecurityPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE,
          SecurityPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS,
          SecurityPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SecurityPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SecurityPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SecurityPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED,
          SecurityPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SecurityPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SecurityPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          SecurityPoliciesAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SecurityPoliciesScopedList_Warning_Code
      SecurityPoliciesScopedList_Warning_Code
        ( SecurityPoliciesScopedList_Warning_Code_CLEANUPFAILED,
          SecurityPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SecurityPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          SecurityPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SecurityPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SecurityPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
          SecurityPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SecurityPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SecurityPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SecurityPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SecurityPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SecurityPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SecurityPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          SecurityPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
          SecurityPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
          SecurityPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
          SecurityPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SecurityPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SecurityPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SecurityPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
          SecurityPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SecurityPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SecurityPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          SecurityPoliciesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SecurityPolicy_Type
      SecurityPolicy_Type
        ( SecurityPolicy_Type_CLOUDARMOR,
          SecurityPolicy_Type_CLOUDARMOREDGE,
          SecurityPolicy_Type_CLOUDARMORNETWORK,
          ..
        ),
  
      -- * SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility
      SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility
        ( SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Premium,
          SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Standard,
          ..
        ),
  
      -- * SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
      SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
        ( SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPHEADERHOST,
          SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPPATH,
          SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_UNSPECIFIEDTYPE,
          ..
        ),
  
      -- * SecurityPolicyAdvancedOptionsConfig_JsonParsing
      SecurityPolicyAdvancedOptionsConfig_JsonParsing
        ( SecurityPolicyAdvancedOptionsConfig_JsonParsing_Disabled,
          SecurityPolicyAdvancedOptionsConfig_JsonParsing_Standard,
          SecurityPolicyAdvancedOptionsConfig_JsonParsing_STANDARDWITHGRAPHQL,
          ..
        ),
  
      -- * SecurityPolicyAdvancedOptionsConfig_LogLevel
      SecurityPolicyAdvancedOptionsConfig_LogLevel
        ( SecurityPolicyAdvancedOptionsConfig_LogLevel_Normal,
          SecurityPolicyAdvancedOptionsConfig_LogLevel_Verbose,
          ..
        ),
  
      -- * SecurityPolicyDdosProtectionConfig_DdosProtection
      SecurityPolicyDdosProtectionConfig_DdosProtection
        ( SecurityPolicyDdosProtectionConfig_DdosProtection_Advanced,
          SecurityPolicyDdosProtectionConfig_DdosProtection_ADVANCEDPREVIEW,
          SecurityPolicyDdosProtectionConfig_DdosProtection_Standard,
          ..
        ),
  
      -- * SecurityPolicyList_Warning_Code
      SecurityPolicyList_Warning_Code
        ( SecurityPolicyList_Warning_Code_CLEANUPFAILED,
          SecurityPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SecurityPolicyList_Warning_Code_DEPRECATEDTYPEUSED,
          SecurityPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SecurityPolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
          SecurityPolicyList_Warning_Code_EXTERNALAPIWARNING,
          SecurityPolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
          SecurityPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SecurityPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SecurityPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SecurityPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SecurityPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SecurityPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SecurityPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SecurityPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SecurityPolicyList_Warning_Code_NEXTHOPNOTRUNNING,
          SecurityPolicyList_Warning_Code_NOTCRITICALERROR,
          SecurityPolicyList_Warning_Code_NORESULTSONPAGE,
          SecurityPolicyList_Warning_Code_PARTIALSUCCESS,
          SecurityPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SecurityPolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
          SecurityPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SecurityPolicyList_Warning_Code_RESOURCENOTDELETED,
          SecurityPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SecurityPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SecurityPolicyList_Warning_Code_UNDECLAREDPROPERTIES,
          SecurityPolicyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SecurityPolicyRuleMatcher_VersionedExpr
      SecurityPolicyRuleMatcher_VersionedExpr
        ( SecurityPolicyRuleMatcher_VersionedExpr_SRC_IPS_V1,
          ..
        ),
  
      -- * SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
      SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
        ( SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Contains,
          SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_ENDSWITH,
          SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Equals,
          SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_EQUALSANY,
          SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_STARTSWITH,
          ..
        ),
  
      -- * SecurityPolicyRuleRateLimitOptions_EnforceOnKey
      SecurityPolicyRuleRateLimitOptions_EnforceOnKey
        ( SecurityPolicyRuleRateLimitOptions_EnforceOnKey_All,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPCOOKIE,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPHEADER,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPPATH,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_IP,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_REGIONCODE,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_Sni,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA3FINGERPRINT,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA4FINGERPRINT,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_USERIP,
          SecurityPolicyRuleRateLimitOptions_EnforceOnKey_XFFIP,
          ..
        ),
  
      -- * SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
      SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
        ( SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_All,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPCOOKIE,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPHEADER,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPPATH,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_IP,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_REGIONCODE,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_Sni,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA3FINGERPRINT,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA4FINGERPRINT,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_USERIP,
          SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_XFFIP,
          ..
        ),
  
      -- * SecurityPolicyRuleRedirectOptions_Type
      SecurityPolicyRuleRedirectOptions_Type
        ( SecurityPolicyRuleRedirectOptions_Type_EXTERNAL_302,
          SecurityPolicyRuleRedirectOptions_Type_GOOGLERECAPTCHA,
          ..
        ),
  
      -- * SecurityPolicyUserDefinedField_Base
      SecurityPolicyUserDefinedField_Base
        ( SecurityPolicyUserDefinedField_Base_IPV4,
          SecurityPolicyUserDefinedField_Base_IPV6,
          SecurityPolicyUserDefinedField_Base_Tcp,
          SecurityPolicyUserDefinedField_Base_Udp,
          ..
        ),
  
      -- * ServerBinding_Type
      ServerBinding_Type
        ( ServerBinding_Type_RESTARTNODEONANYSERVER,
          ServerBinding_Type_RESTARTNODEONMINIMALSERVERS,
          ServerBinding_Type_SERVERBINDINGTYPEUNSPECIFIED,
          ..
        ),
  
      -- * ServiceAttachment_ConnectionPreference
      ServiceAttachment_ConnectionPreference
        ( ServiceAttachment_ConnectionPreference_ACCEPTAUTOMATIC,
          ServiceAttachment_ConnectionPreference_ACCEPTMANUAL,
          ServiceAttachment_ConnectionPreference_CONNECTIONPREFERENCEUNSPECIFIED,
          ..
        ),
  
      -- * ServiceAttachmentAggregatedList_Warning_Code
      ServiceAttachmentAggregatedList_Warning_Code
        ( ServiceAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
          ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          ServiceAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ServiceAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ServiceAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          ServiceAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ServiceAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ServiceAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ServiceAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ServiceAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ServiceAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          ServiceAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
          ServiceAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
          ServiceAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
          ServiceAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ServiceAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ServiceAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ServiceAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
          ServiceAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ServiceAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ServiceAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          ServiceAttachmentAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ServiceAttachmentConnectedEndpoint_Status
      ServiceAttachmentConnectedEndpoint_Status
        ( ServiceAttachmentConnectedEndpoint_Status_Accepted,
          ServiceAttachmentConnectedEndpoint_Status_Closed,
          ServiceAttachmentConnectedEndpoint_Status_NEEDSATTENTION,
          ServiceAttachmentConnectedEndpoint_Status_Pending,
          ServiceAttachmentConnectedEndpoint_Status_Rejected,
          ServiceAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED,
          ..
        ),
  
      -- * ServiceAttachmentList_Warning_Code
      ServiceAttachmentList_Warning_Code
        ( ServiceAttachmentList_Warning_Code_CLEANUPFAILED,
          ServiceAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ServiceAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
          ServiceAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ServiceAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
          ServiceAttachmentList_Warning_Code_EXTERNALAPIWARNING,
          ServiceAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
          ServiceAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ServiceAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ServiceAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ServiceAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ServiceAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ServiceAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ServiceAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ServiceAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
          ServiceAttachmentList_Warning_Code_NOTCRITICALERROR,
          ServiceAttachmentList_Warning_Code_NORESULTSONPAGE,
          ServiceAttachmentList_Warning_Code_PARTIALSUCCESS,
          ServiceAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ServiceAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
          ServiceAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ServiceAttachmentList_Warning_Code_RESOURCENOTDELETED,
          ServiceAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ServiceAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ServiceAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
          ServiceAttachmentList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * ServiceAttachmentsScopedList_Warning_Code
      ServiceAttachmentsScopedList_Warning_Code
        ( ServiceAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
          ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          ServiceAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ServiceAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          ServiceAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
          ServiceAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          ServiceAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ServiceAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ServiceAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ServiceAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ServiceAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ServiceAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          ServiceAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
          ServiceAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
          ServiceAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
          ServiceAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ServiceAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          ServiceAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ServiceAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
          ServiceAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ServiceAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ServiceAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          ServiceAttachmentsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
      SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
        ( SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Abandoned,
          SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Done,
          SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Failed,
          SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagated,
          SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagating,
          SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Unspecified,
          ..
        ),
  
      -- * ShareSettings_ShareType
      ShareSettings_ShareType
        ( ShareSettings_ShareType_Local,
          ShareSettings_ShareType_Organization,
          ShareSettings_ShareType_SHARETYPEUNSPECIFIED,
          ShareSettings_ShareType_SPECIFICPROJECTS,
          ..
        ),
  
      -- * Snapshot_Architecture
      Snapshot_Architecture
        ( Snapshot_Architecture_ARCHITECTUREUNSPECIFIED,
          Snapshot_Architecture_ARM64,
          Snapshot_Architecture_X86_64,
          ..
        ),
  
      -- * Snapshot_SnapshotType
      Snapshot_SnapshotType
        ( Snapshot_SnapshotType_Archive,
          Snapshot_SnapshotType_Standard,
          ..
        ),
  
      -- * Snapshot_Status
      Snapshot_Status
        ( Snapshot_Status_Creating,
          Snapshot_Status_Deleting,
          Snapshot_Status_Failed,
          Snapshot_Status_Ready,
          Snapshot_Status_Uploading,
          ..
        ),
  
      -- * Snapshot_StorageBytesStatus
      Snapshot_StorageBytesStatus
        ( Snapshot_StorageBytesStatus_Updating,
          Snapshot_StorageBytesStatus_UPTODATE,
          ..
        ),
  
      -- * SnapshotList_Warning_Code
      SnapshotList_Warning_Code
        ( SnapshotList_Warning_Code_CLEANUPFAILED,
          SnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SnapshotList_Warning_Code_DEPRECATEDTYPEUSED,
          SnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SnapshotList_Warning_Code_EXPERIMENTALTYPEUSED,
          SnapshotList_Warning_Code_EXTERNALAPIWARNING,
          SnapshotList_Warning_Code_FIELDVALUEOVERRIDEN,
          SnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SnapshotList_Warning_Code_NEXTHOPNOTRUNNING,
          SnapshotList_Warning_Code_NOTCRITICALERROR,
          SnapshotList_Warning_Code_NORESULTSONPAGE,
          SnapshotList_Warning_Code_PARTIALSUCCESS,
          SnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SnapshotList_Warning_Code_REQUIREDTOSAGREEMENT,
          SnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SnapshotList_Warning_Code_RESOURCENOTDELETED,
          SnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SnapshotList_Warning_Code_UNDECLAREDPROPERTIES,
          SnapshotList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SnapshotSettingsStorageLocationSettings_Policy
      SnapshotSettingsStorageLocationSettings_Policy
        ( SnapshotSettingsStorageLocationSettings_Policy_LOCALREGION,
          SnapshotSettingsStorageLocationSettings_Policy_NEARESTMULTIREGION,
          SnapshotSettingsStorageLocationSettings_Policy_SPECIFICLOCATIONS,
          SnapshotSettingsStorageLocationSettings_Policy_STORAGELOCATIONPOLICYUNSPECIFIED,
          ..
        ),
  
      -- * SourceInstanceProperties_KeyRevocationActionType
      SourceInstanceProperties_KeyRevocationActionType
        ( SourceInstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
          SourceInstanceProperties_KeyRevocationActionType_None,
          SourceInstanceProperties_KeyRevocationActionType_Stop,
          ..
        ),
  
      -- * SslCertificate_Type
      SslCertificate_Type
        ( SslCertificate_Type_Managed,
          SslCertificate_Type_SELFMANAGED,
          SslCertificate_Type_TYPEUNSPECIFIED,
          ..
        ),
  
      -- * SslCertificateAggregatedList_Warning_Code
      SslCertificateAggregatedList_Warning_Code
        ( SslCertificateAggregatedList_Warning_Code_CLEANUPFAILED,
          SslCertificateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslCertificateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          SslCertificateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslCertificateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslCertificateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          SslCertificateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslCertificateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslCertificateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslCertificateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslCertificateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslCertificateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslCertificateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          SslCertificateAggregatedList_Warning_Code_NOTCRITICALERROR,
          SslCertificateAggregatedList_Warning_Code_NORESULTSONPAGE,
          SslCertificateAggregatedList_Warning_Code_PARTIALSUCCESS,
          SslCertificateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslCertificateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslCertificateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslCertificateAggregatedList_Warning_Code_RESOURCENOTDELETED,
          SslCertificateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslCertificateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslCertificateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          SslCertificateAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslCertificateList_Warning_Code
      SslCertificateList_Warning_Code
        ( SslCertificateList_Warning_Code_CLEANUPFAILED,
          SslCertificateList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslCertificateList_Warning_Code_DEPRECATEDTYPEUSED,
          SslCertificateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslCertificateList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslCertificateList_Warning_Code_EXTERNALAPIWARNING,
          SslCertificateList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslCertificateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslCertificateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslCertificateList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslCertificateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslCertificateList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslCertificateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslCertificateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslCertificateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslCertificateList_Warning_Code_NEXTHOPNOTRUNNING,
          SslCertificateList_Warning_Code_NOTCRITICALERROR,
          SslCertificateList_Warning_Code_NORESULTSONPAGE,
          SslCertificateList_Warning_Code_PARTIALSUCCESS,
          SslCertificateList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslCertificateList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslCertificateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslCertificateList_Warning_Code_RESOURCENOTDELETED,
          SslCertificateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslCertificateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslCertificateList_Warning_Code_UNDECLAREDPROPERTIES,
          SslCertificateList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslCertificateManagedSslCertificate_DomainStatusAdditional
      SslCertificateManagedSslCertificate_DomainStatusAdditional
        ( SslCertificateManagedSslCertificate_DomainStatusAdditional_Active,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_DOMAINSTATUSUNSPECIFIED,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAACHECKING,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAAFORBIDDEN,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDNOTVISIBLE,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDRATELIMITED,
          SslCertificateManagedSslCertificate_DomainStatusAdditional_Provisioning,
          ..
        ),
  
      -- * SslCertificateManagedSslCertificate_Status
      SslCertificateManagedSslCertificate_Status
        ( SslCertificateManagedSslCertificate_Status_Active,
          SslCertificateManagedSslCertificate_Status_MANAGEDCERTIFICATESTATUSUNSPECIFIED,
          SslCertificateManagedSslCertificate_Status_Provisioning,
          SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILED,
          SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILEDPERMANENTLY,
          SslCertificateManagedSslCertificate_Status_RENEWALFAILED,
          ..
        ),
  
      -- * SslCertificatesScopedList_Warning_Code
      SslCertificatesScopedList_Warning_Code
        ( SslCertificatesScopedList_Warning_Code_CLEANUPFAILED,
          SslCertificatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslCertificatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          SslCertificatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslCertificatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslCertificatesScopedList_Warning_Code_EXTERNALAPIWARNING,
          SslCertificatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslCertificatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslCertificatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslCertificatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslCertificatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslCertificatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslCertificatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslCertificatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslCertificatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          SslCertificatesScopedList_Warning_Code_NOTCRITICALERROR,
          SslCertificatesScopedList_Warning_Code_NORESULTSONPAGE,
          SslCertificatesScopedList_Warning_Code_PARTIALSUCCESS,
          SslCertificatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslCertificatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslCertificatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslCertificatesScopedList_Warning_Code_RESOURCENOTDELETED,
          SslCertificatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslCertificatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslCertificatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          SslCertificatesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslPoliciesAggregatedList_Warning_Code
      SslPoliciesAggregatedList_Warning_Code
        ( SslPoliciesAggregatedList_Warning_Code_CLEANUPFAILED,
          SslPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          SslPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          SslPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          SslPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR,
          SslPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE,
          SslPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS,
          SslPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED,
          SslPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          SslPoliciesAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslPoliciesList_Warning_Code
      SslPoliciesList_Warning_Code
        ( SslPoliciesList_Warning_Code_CLEANUPFAILED,
          SslPoliciesList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslPoliciesList_Warning_Code_DEPRECATEDTYPEUSED,
          SslPoliciesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslPoliciesList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslPoliciesList_Warning_Code_EXTERNALAPIWARNING,
          SslPoliciesList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslPoliciesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslPoliciesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslPoliciesList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslPoliciesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslPoliciesList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslPoliciesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslPoliciesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslPoliciesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslPoliciesList_Warning_Code_NEXTHOPNOTRUNNING,
          SslPoliciesList_Warning_Code_NOTCRITICALERROR,
          SslPoliciesList_Warning_Code_NORESULTSONPAGE,
          SslPoliciesList_Warning_Code_PARTIALSUCCESS,
          SslPoliciesList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslPoliciesList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslPoliciesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslPoliciesList_Warning_Code_RESOURCENOTDELETED,
          SslPoliciesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslPoliciesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslPoliciesList_Warning_Code_UNDECLAREDPROPERTIES,
          SslPoliciesList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslPoliciesScopedList_Warning_Code
      SslPoliciesScopedList_Warning_Code
        ( SslPoliciesScopedList_Warning_Code_CLEANUPFAILED,
          SslPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SslPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          SslPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SslPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
          SslPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SslPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SslPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SslPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SslPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SslPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          SslPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
          SslPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
          SslPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
          SslPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SslPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SslPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
          SslPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SslPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          SslPoliciesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SslPolicy_MinTlsVersion
      SslPolicy_MinTlsVersion
        ( SslPolicy_MinTlsVersion_TLS_1_0,
          SslPolicy_MinTlsVersion_TLS_1_1,
          SslPolicy_MinTlsVersion_TLS_1_2,
          ..
        ),
  
      -- * SslPolicy_Profile
      SslPolicy_Profile
        ( SslPolicy_Profile_Compatible,
          SslPolicy_Profile_Custom,
          SslPolicy_Profile_Modern,
          SslPolicy_Profile_Restricted,
          ..
        ),
  
      -- * SslPolicy_WarningsItem_Code
      SslPolicy_WarningsItem_Code
        ( SslPolicy_WarningsItem_Code_CLEANUPFAILED,
          SslPolicy_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
          SslPolicy_WarningsItem_Code_DEPRECATEDTYPEUSED,
          SslPolicy_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
          SslPolicy_WarningsItem_Code_EXPERIMENTALTYPEUSED,
          SslPolicy_WarningsItem_Code_EXTERNALAPIWARNING,
          SslPolicy_WarningsItem_Code_FIELDVALUEOVERRIDEN,
          SslPolicy_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
          SslPolicy_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SslPolicy_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
          SslPolicy_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
          SslPolicy_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
          SslPolicy_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
          SslPolicy_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
          SslPolicy_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
          SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
          SslPolicy_WarningsItem_Code_NEXTHOPNOTRUNNING,
          SslPolicy_WarningsItem_Code_NOTCRITICALERROR,
          SslPolicy_WarningsItem_Code_NORESULTSONPAGE,
          SslPolicy_WarningsItem_Code_PARTIALSUCCESS,
          SslPolicy_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
          SslPolicy_WarningsItem_Code_REQUIREDTOSAGREEMENT,
          SslPolicy_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SslPolicy_WarningsItem_Code_RESOURCENOTDELETED,
          SslPolicy_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
          SslPolicy_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SslPolicy_WarningsItem_Code_UNDECLAREDPROPERTIES,
          SslPolicy_WarningsItem_Code_Unreachable,
          ..
        ),
  
      -- * StatefulPolicyPreservedStateDiskDevice_AutoDelete
      StatefulPolicyPreservedStateDiskDevice_AutoDelete
        ( StatefulPolicyPreservedStateDiskDevice_AutoDelete_Never,
          StatefulPolicyPreservedStateDiskDevice_AutoDelete_ONPERMANENTINSTANCEDELETION,
          ..
        ),
  
      -- * StatefulPolicyPreservedStateNetworkIp_AutoDelete
      StatefulPolicyPreservedStateNetworkIp_AutoDelete
        ( StatefulPolicyPreservedStateNetworkIp_AutoDelete_Never,
          StatefulPolicyPreservedStateNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION,
          ..
        ),
  
      -- * StoragePool_CapacityProvisioningType
      StoragePool_CapacityProvisioningType
        ( StoragePool_CapacityProvisioningType_Advanced,
          StoragePool_CapacityProvisioningType_Standard,
          StoragePool_CapacityProvisioningType_Unspecified,
          ..
        ),
  
      -- * StoragePool_PerformanceProvisioningType
      StoragePool_PerformanceProvisioningType
        ( StoragePool_PerformanceProvisioningType_Advanced,
          StoragePool_PerformanceProvisioningType_Standard,
          StoragePool_PerformanceProvisioningType_Unspecified,
          ..
        ),
  
      -- * StoragePool_State
      StoragePool_State
        ( StoragePool_State_Creating,
          StoragePool_State_Deleting,
          StoragePool_State_Failed,
          StoragePool_State_Ready,
          ..
        ),
  
      -- * StoragePoolAggregatedList_Warning_Code
      StoragePoolAggregatedList_Warning_Code
        ( StoragePoolAggregatedList_Warning_Code_CLEANUPFAILED,
          StoragePoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolAggregatedList_Warning_Code_NOTCRITICALERROR,
          StoragePoolAggregatedList_Warning_Code_NORESULTSONPAGE,
          StoragePoolAggregatedList_Warning_Code_PARTIALSUCCESS,
          StoragePoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolAggregatedList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolDisk_Status
      StoragePoolDisk_Status
        ( StoragePoolDisk_Status_Creating,
          StoragePoolDisk_Status_Deleting,
          StoragePoolDisk_Status_Failed,
          StoragePoolDisk_Status_Ready,
          StoragePoolDisk_Status_Restoring,
          StoragePoolDisk_Status_Unavailable,
          ..
        ),
  
      -- * StoragePoolList_Warning_Code
      StoragePoolList_Warning_Code
        ( StoragePoolList_Warning_Code_CLEANUPFAILED,
          StoragePoolList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolList_Warning_Code_NOTCRITICALERROR,
          StoragePoolList_Warning_Code_NORESULTSONPAGE,
          StoragePoolList_Warning_Code_PARTIALSUCCESS,
          StoragePoolList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolListDisks_Warning_Code
      StoragePoolListDisks_Warning_Code
        ( StoragePoolListDisks_Warning_Code_CLEANUPFAILED,
          StoragePoolListDisks_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolListDisks_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolListDisks_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolListDisks_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolListDisks_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolListDisks_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolListDisks_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolListDisks_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolListDisks_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolListDisks_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolListDisks_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolListDisks_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolListDisks_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolListDisks_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolListDisks_Warning_Code_NOTCRITICALERROR,
          StoragePoolListDisks_Warning_Code_NORESULTSONPAGE,
          StoragePoolListDisks_Warning_Code_PARTIALSUCCESS,
          StoragePoolListDisks_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolListDisks_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolListDisks_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolListDisks_Warning_Code_RESOURCENOTDELETED,
          StoragePoolListDisks_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolListDisks_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolListDisks_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolListDisks_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolTypeAggregatedList_Warning_Code
      StoragePoolTypeAggregatedList_Warning_Code
        ( StoragePoolTypeAggregatedList_Warning_Code_CLEANUPFAILED,
          StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
          StoragePoolTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
          StoragePoolTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
          StoragePoolTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolTypeAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolTypeList_Warning_Code
      StoragePoolTypeList_Warning_Code
        ( StoragePoolTypeList_Warning_Code_CLEANUPFAILED,
          StoragePoolTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolTypeList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolTypeList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolTypeList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolTypeList_Warning_Code_NOTCRITICALERROR,
          StoragePoolTypeList_Warning_Code_NORESULTSONPAGE,
          StoragePoolTypeList_Warning_Code_PARTIALSUCCESS,
          StoragePoolTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolTypeList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolTypeList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolTypeList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolTypesScopedList_Warning_Code
      StoragePoolTypesScopedList_Warning_Code
        ( StoragePoolTypesScopedList_Warning_Code_CLEANUPFAILED,
          StoragePoolTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolTypesScopedList_Warning_Code_NOTCRITICALERROR,
          StoragePoolTypesScopedList_Warning_Code_NORESULTSONPAGE,
          StoragePoolTypesScopedList_Warning_Code_PARTIALSUCCESS,
          StoragePoolTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolTypesScopedList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolTypesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * StoragePoolsScopedList_Warning_Code
      StoragePoolsScopedList_Warning_Code
        ( StoragePoolsScopedList_Warning_Code_CLEANUPFAILED,
          StoragePoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          StoragePoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          StoragePoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          StoragePoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          StoragePoolsScopedList_Warning_Code_EXTERNALAPIWARNING,
          StoragePoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          StoragePoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          StoragePoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          StoragePoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          StoragePoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          StoragePoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          StoragePoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          StoragePoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          StoragePoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          StoragePoolsScopedList_Warning_Code_NOTCRITICALERROR,
          StoragePoolsScopedList_Warning_Code_NORESULTSONPAGE,
          StoragePoolsScopedList_Warning_Code_PARTIALSUCCESS,
          StoragePoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          StoragePoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          StoragePoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          StoragePoolsScopedList_Warning_Code_RESOURCENOTDELETED,
          StoragePoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          StoragePoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          StoragePoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          StoragePoolsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Subnetwork_Ipv6AccessType
      Subnetwork_Ipv6AccessType
        ( Subnetwork_Ipv6AccessType_External,
          Subnetwork_Ipv6AccessType_Internal,
          ..
        ),
  
      -- * Subnetwork_PrivateIpv6GoogleAccess
      Subnetwork_PrivateIpv6GoogleAccess
        ( Subnetwork_PrivateIpv6GoogleAccess_DISABLEGOOGLEACCESS,
          Subnetwork_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
          Subnetwork_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
          ..
        ),
  
      -- * Subnetwork_Purpose
      Subnetwork_Purpose
        ( Subnetwork_Purpose_GLOBALMANAGEDPROXY,
          Subnetwork_Purpose_INTERNALHTTPSLOADBALANCER,
          Subnetwork_Purpose_PEERMIGRATION,
          Subnetwork_Purpose_Private,
          Subnetwork_Purpose_PRIVATENAT,
          Subnetwork_Purpose_PRIVATE_RFC_1918,
          Subnetwork_Purpose_PRIVATESERVICECONNECT,
          Subnetwork_Purpose_REGIONALMANAGEDPROXY,
          ..
        ),
  
      -- * Subnetwork_Role
      Subnetwork_Role
        ( Subnetwork_Role_Active,
          Subnetwork_Role_Backup,
          ..
        ),
  
      -- * Subnetwork_StackType
      Subnetwork_StackType
        ( Subnetwork_StackType_IPV4_IPV6,
          Subnetwork_StackType_IPV4ONLY,
          Subnetwork_StackType_IPV6ONLY,
          ..
        ),
  
      -- * Subnetwork_State
      Subnetwork_State
        ( Subnetwork_State_Draining,
          Subnetwork_State_Ready,
          ..
        ),
  
      -- * SubnetworkAggregatedList_Warning_Code
      SubnetworkAggregatedList_Warning_Code
        ( SubnetworkAggregatedList_Warning_Code_CLEANUPFAILED,
          SubnetworkAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SubnetworkAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          SubnetworkAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SubnetworkAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SubnetworkAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          SubnetworkAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SubnetworkAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SubnetworkAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SubnetworkAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SubnetworkAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SubnetworkAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SubnetworkAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          SubnetworkAggregatedList_Warning_Code_NOTCRITICALERROR,
          SubnetworkAggregatedList_Warning_Code_NORESULTSONPAGE,
          SubnetworkAggregatedList_Warning_Code_PARTIALSUCCESS,
          SubnetworkAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SubnetworkAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SubnetworkAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SubnetworkAggregatedList_Warning_Code_RESOURCENOTDELETED,
          SubnetworkAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SubnetworkAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SubnetworkAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          SubnetworkAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SubnetworkList_Warning_Code
      SubnetworkList_Warning_Code
        ( SubnetworkList_Warning_Code_CLEANUPFAILED,
          SubnetworkList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SubnetworkList_Warning_Code_DEPRECATEDTYPEUSED,
          SubnetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SubnetworkList_Warning_Code_EXPERIMENTALTYPEUSED,
          SubnetworkList_Warning_Code_EXTERNALAPIWARNING,
          SubnetworkList_Warning_Code_FIELDVALUEOVERRIDEN,
          SubnetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SubnetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SubnetworkList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SubnetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SubnetworkList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SubnetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SubnetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SubnetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SubnetworkList_Warning_Code_NEXTHOPNOTRUNNING,
          SubnetworkList_Warning_Code_NOTCRITICALERROR,
          SubnetworkList_Warning_Code_NORESULTSONPAGE,
          SubnetworkList_Warning_Code_PARTIALSUCCESS,
          SubnetworkList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SubnetworkList_Warning_Code_REQUIREDTOSAGREEMENT,
          SubnetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SubnetworkList_Warning_Code_RESOURCENOTDELETED,
          SubnetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SubnetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SubnetworkList_Warning_Code_UNDECLAREDPROPERTIES,
          SubnetworkList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * SubnetworkLogConfig_AggregationInterval
      SubnetworkLogConfig_AggregationInterval
        ( SubnetworkLogConfig_AggregationInterval_INTERVAL10MIN,
          SubnetworkLogConfig_AggregationInterval_INTERVAL15MIN,
          SubnetworkLogConfig_AggregationInterval_INTERVAL1MIN,
          SubnetworkLogConfig_AggregationInterval_INTERVAL30SEC,
          SubnetworkLogConfig_AggregationInterval_INTERVAL5MIN,
          SubnetworkLogConfig_AggregationInterval_INTERVAL5SEC,
          ..
        ),
  
      -- * SubnetworkLogConfig_Metadata
      SubnetworkLogConfig_Metadata
        ( SubnetworkLogConfig_Metadata_CUSTOMMETADATA,
          SubnetworkLogConfig_Metadata_EXCLUDEALLMETADATA,
          SubnetworkLogConfig_Metadata_INCLUDEALLMETADATA,
          ..
        ),
  
      -- * SubnetworksScopedList_Warning_Code
      SubnetworksScopedList_Warning_Code
        ( SubnetworksScopedList_Warning_Code_CLEANUPFAILED,
          SubnetworksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          SubnetworksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          SubnetworksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          SubnetworksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          SubnetworksScopedList_Warning_Code_EXTERNALAPIWARNING,
          SubnetworksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          SubnetworksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          SubnetworksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          SubnetworksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          SubnetworksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          SubnetworksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          SubnetworksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          SubnetworksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          SubnetworksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          SubnetworksScopedList_Warning_Code_NOTCRITICALERROR,
          SubnetworksScopedList_Warning_Code_NORESULTSONPAGE,
          SubnetworksScopedList_Warning_Code_PARTIALSUCCESS,
          SubnetworksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          SubnetworksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          SubnetworksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          SubnetworksScopedList_Warning_Code_RESOURCENOTDELETED,
          SubnetworksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          SubnetworksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          SubnetworksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          SubnetworksScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * Subsetting_Policy
      Subsetting_Policy
        ( Subsetting_Policy_CONSISTENTHASHSUBSETTING,
          Subsetting_Policy_None,
          ..
        ),
  
      -- * TCPHealthCheck_PortSpecification
      TCPHealthCheck_PortSpecification
        ( TCPHealthCheck_PortSpecification_USEFIXEDPORT,
          TCPHealthCheck_PortSpecification_USENAMEDPORT,
          TCPHealthCheck_PortSpecification_USESERVINGPORT,
          ..
        ),
  
      -- * TCPHealthCheck_ProxyHeader
      TCPHealthCheck_ProxyHeader
        ( TCPHealthCheck_ProxyHeader_None,
          TCPHealthCheck_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * TargetGrpcProxyList_Warning_Code
      TargetGrpcProxyList_Warning_Code
        ( TargetGrpcProxyList_Warning_Code_CLEANUPFAILED,
          TargetGrpcProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetGrpcProxyList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetGrpcProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetGrpcProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetGrpcProxyList_Warning_Code_EXTERNALAPIWARNING,
          TargetGrpcProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetGrpcProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetGrpcProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetGrpcProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetGrpcProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetGrpcProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetGrpcProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetGrpcProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetGrpcProxyList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetGrpcProxyList_Warning_Code_NOTCRITICALERROR,
          TargetGrpcProxyList_Warning_Code_NORESULTSONPAGE,
          TargetGrpcProxyList_Warning_Code_PARTIALSUCCESS,
          TargetGrpcProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetGrpcProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetGrpcProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetGrpcProxyList_Warning_Code_RESOURCENOTDELETED,
          TargetGrpcProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetGrpcProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetGrpcProxyList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetGrpcProxyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetHttpProxiesScopedList_Warning_Code
      TargetHttpProxiesScopedList_Warning_Code
        ( TargetHttpProxiesScopedList_Warning_Code_CLEANUPFAILED,
          TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetHttpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetHttpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetHttpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetHttpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetHttpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetHttpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetHttpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetHttpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetHttpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetHttpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetHttpProxiesScopedList_Warning_Code_NOTCRITICALERROR,
          TargetHttpProxiesScopedList_Warning_Code_NORESULTSONPAGE,
          TargetHttpProxiesScopedList_Warning_Code_PARTIALSUCCESS,
          TargetHttpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetHttpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetHttpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetHttpProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetHttpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetHttpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetHttpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetHttpProxiesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetHttpProxyList_Warning_Code
      TargetHttpProxyList_Warning_Code
        ( TargetHttpProxyList_Warning_Code_CLEANUPFAILED,
          TargetHttpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetHttpProxyList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetHttpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetHttpProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetHttpProxyList_Warning_Code_EXTERNALAPIWARNING,
          TargetHttpProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetHttpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetHttpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetHttpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetHttpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetHttpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetHttpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetHttpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetHttpProxyList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetHttpProxyList_Warning_Code_NOTCRITICALERROR,
          TargetHttpProxyList_Warning_Code_NORESULTSONPAGE,
          TargetHttpProxyList_Warning_Code_PARTIALSUCCESS,
          TargetHttpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetHttpProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetHttpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetHttpProxyList_Warning_Code_RESOURCENOTDELETED,
          TargetHttpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetHttpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetHttpProxyList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetHttpProxyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetHttpsProxiesScopedList_Warning_Code
      TargetHttpsProxiesScopedList_Warning_Code
        ( TargetHttpsProxiesScopedList_Warning_Code_CLEANUPFAILED,
          TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetHttpsProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetHttpsProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetHttpsProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetHttpsProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetHttpsProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetHttpsProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetHttpsProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetHttpsProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetHttpsProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetHttpsProxiesScopedList_Warning_Code_NOTCRITICALERROR,
          TargetHttpsProxiesScopedList_Warning_Code_NORESULTSONPAGE,
          TargetHttpsProxiesScopedList_Warning_Code_PARTIALSUCCESS,
          TargetHttpsProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetHttpsProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetHttpsProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetHttpsProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetHttpsProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetHttpsProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetHttpsProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetHttpsProxiesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
      TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
        ( TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Disable,
          TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Enable,
          TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_None,
          ..
        ),
  
      -- * TargetHttpsProxy_QuicOverride
      TargetHttpsProxy_QuicOverride
        ( TargetHttpsProxy_QuicOverride_Disable,
          TargetHttpsProxy_QuicOverride_Enable,
          TargetHttpsProxy_QuicOverride_None,
          ..
        ),
  
      -- * TargetHttpsProxy_TlsEarlyData
      TargetHttpsProxy_TlsEarlyData
        ( TargetHttpsProxy_TlsEarlyData_Disabled,
          TargetHttpsProxy_TlsEarlyData_Permissive,
          TargetHttpsProxy_TlsEarlyData_Strict,
          TargetHttpsProxy_TlsEarlyData_Unrestricted,
          ..
        ),
  
      -- * TargetHttpsProxyAggregatedList_Warning_Code
      TargetHttpsProxyAggregatedList_Warning_Code
        ( TargetHttpsProxyAggregatedList_Warning_Code_CLEANUPFAILED,
          TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetHttpsProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetHttpsProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetHttpsProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          TargetHttpsProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetHttpsProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetHttpsProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetHttpsProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetHttpsProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetHttpsProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetHttpsProxyAggregatedList_Warning_Code_NOTCRITICALERROR,
          TargetHttpsProxyAggregatedList_Warning_Code_NORESULTSONPAGE,
          TargetHttpsProxyAggregatedList_Warning_Code_PARTIALSUCCESS,
          TargetHttpsProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetHttpsProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetHttpsProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetHttpsProxyAggregatedList_Warning_Code_RESOURCENOTDELETED,
          TargetHttpsProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetHttpsProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetHttpsProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetHttpsProxyAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetHttpsProxyList_Warning_Code
      TargetHttpsProxyList_Warning_Code
        ( TargetHttpsProxyList_Warning_Code_CLEANUPFAILED,
          TargetHttpsProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetHttpsProxyList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetHttpsProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetHttpsProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetHttpsProxyList_Warning_Code_EXTERNALAPIWARNING,
          TargetHttpsProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetHttpsProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetHttpsProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetHttpsProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetHttpsProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetHttpsProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetHttpsProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetHttpsProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetHttpsProxyList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetHttpsProxyList_Warning_Code_NOTCRITICALERROR,
          TargetHttpsProxyList_Warning_Code_NORESULTSONPAGE,
          TargetHttpsProxyList_Warning_Code_PARTIALSUCCESS,
          TargetHttpsProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetHttpsProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetHttpsProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetHttpsProxyList_Warning_Code_RESOURCENOTDELETED,
          TargetHttpsProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetHttpsProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetHttpsProxyList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetHttpsProxyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetInstance_NatPolicy
      TargetInstance_NatPolicy
        ( TargetInstance_NatPolicy_NONAT,
          ..
        ),
  
      -- * TargetInstanceAggregatedList_Warning_Code
      TargetInstanceAggregatedList_Warning_Code
        ( TargetInstanceAggregatedList_Warning_Code_CLEANUPFAILED,
          TargetInstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetInstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetInstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetInstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetInstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          TargetInstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetInstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetInstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetInstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetInstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetInstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetInstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetInstanceAggregatedList_Warning_Code_NOTCRITICALERROR,
          TargetInstanceAggregatedList_Warning_Code_NORESULTSONPAGE,
          TargetInstanceAggregatedList_Warning_Code_PARTIALSUCCESS,
          TargetInstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetInstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetInstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetInstanceAggregatedList_Warning_Code_RESOURCENOTDELETED,
          TargetInstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetInstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetInstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetInstanceAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetInstanceList_Warning_Code
      TargetInstanceList_Warning_Code
        ( TargetInstanceList_Warning_Code_CLEANUPFAILED,
          TargetInstanceList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetInstanceList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetInstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetInstanceList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetInstanceList_Warning_Code_EXTERNALAPIWARNING,
          TargetInstanceList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetInstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetInstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetInstanceList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetInstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetInstanceList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetInstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetInstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetInstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetInstanceList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetInstanceList_Warning_Code_NOTCRITICALERROR,
          TargetInstanceList_Warning_Code_NORESULTSONPAGE,
          TargetInstanceList_Warning_Code_PARTIALSUCCESS,
          TargetInstanceList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetInstanceList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetInstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetInstanceList_Warning_Code_RESOURCENOTDELETED,
          TargetInstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetInstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetInstanceList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetInstanceList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetInstancesScopedList_Warning_Code
      TargetInstancesScopedList_Warning_Code
        ( TargetInstancesScopedList_Warning_Code_CLEANUPFAILED,
          TargetInstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetInstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetInstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetInstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetInstancesScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetInstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetInstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetInstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetInstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetInstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetInstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetInstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetInstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetInstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetInstancesScopedList_Warning_Code_NOTCRITICALERROR,
          TargetInstancesScopedList_Warning_Code_NORESULTSONPAGE,
          TargetInstancesScopedList_Warning_Code_PARTIALSUCCESS,
          TargetInstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetInstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetInstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetInstancesScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetInstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetInstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetInstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetInstancesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetPool_SessionAffinity
      TargetPool_SessionAffinity
        ( TargetPool_SessionAffinity_CLIENTIP,
          TargetPool_SessionAffinity_CLIENTIPNODESTINATION,
          TargetPool_SessionAffinity_CLIENTIPPORTPROTO,
          TargetPool_SessionAffinity_CLIENTIPPROTO,
          TargetPool_SessionAffinity_GENERATEDCOOKIE,
          TargetPool_SessionAffinity_HEADERFIELD,
          TargetPool_SessionAffinity_HTTPCOOKIE,
          TargetPool_SessionAffinity_None,
          TargetPool_SessionAffinity_STRONGCOOKIEAFFINITY,
          ..
        ),
  
      -- * TargetPoolAggregatedList_Warning_Code
      TargetPoolAggregatedList_Warning_Code
        ( TargetPoolAggregatedList_Warning_Code_CLEANUPFAILED,
          TargetPoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetPoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetPoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetPoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetPoolAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          TargetPoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetPoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetPoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetPoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetPoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetPoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetPoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetPoolAggregatedList_Warning_Code_NOTCRITICALERROR,
          TargetPoolAggregatedList_Warning_Code_NORESULTSONPAGE,
          TargetPoolAggregatedList_Warning_Code_PARTIALSUCCESS,
          TargetPoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetPoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetPoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetPoolAggregatedList_Warning_Code_RESOURCENOTDELETED,
          TargetPoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetPoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetPoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetPoolAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetPoolList_Warning_Code
      TargetPoolList_Warning_Code
        ( TargetPoolList_Warning_Code_CLEANUPFAILED,
          TargetPoolList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetPoolList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetPoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetPoolList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetPoolList_Warning_Code_EXTERNALAPIWARNING,
          TargetPoolList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetPoolList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetPoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetPoolList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetPoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetPoolList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetPoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetPoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetPoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetPoolList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetPoolList_Warning_Code_NOTCRITICALERROR,
          TargetPoolList_Warning_Code_NORESULTSONPAGE,
          TargetPoolList_Warning_Code_PARTIALSUCCESS,
          TargetPoolList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetPoolList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetPoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetPoolList_Warning_Code_RESOURCENOTDELETED,
          TargetPoolList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetPoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetPoolList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetPoolList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetPoolsScopedList_Warning_Code
      TargetPoolsScopedList_Warning_Code
        ( TargetPoolsScopedList_Warning_Code_CLEANUPFAILED,
          TargetPoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetPoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetPoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetPoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetPoolsScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetPoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetPoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetPoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetPoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetPoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetPoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetPoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetPoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetPoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetPoolsScopedList_Warning_Code_NOTCRITICALERROR,
          TargetPoolsScopedList_Warning_Code_NORESULTSONPAGE,
          TargetPoolsScopedList_Warning_Code_PARTIALSUCCESS,
          TargetPoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetPoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetPoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetPoolsScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetPoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetPoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetPoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetPoolsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetSslProxiesSetProxyHeaderRequest_ProxyHeader
      TargetSslProxiesSetProxyHeaderRequest_ProxyHeader
        ( TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_None,
          TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * TargetSslProxy_ProxyHeader
      TargetSslProxy_ProxyHeader
        ( TargetSslProxy_ProxyHeader_None,
          TargetSslProxy_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * TargetSslProxyList_Warning_Code
      TargetSslProxyList_Warning_Code
        ( TargetSslProxyList_Warning_Code_CLEANUPFAILED,
          TargetSslProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetSslProxyList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetSslProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetSslProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetSslProxyList_Warning_Code_EXTERNALAPIWARNING,
          TargetSslProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetSslProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetSslProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetSslProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetSslProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetSslProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetSslProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetSslProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetSslProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetSslProxyList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetSslProxyList_Warning_Code_NOTCRITICALERROR,
          TargetSslProxyList_Warning_Code_NORESULTSONPAGE,
          TargetSslProxyList_Warning_Code_PARTIALSUCCESS,
          TargetSslProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetSslProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetSslProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetSslProxyList_Warning_Code_RESOURCENOTDELETED,
          TargetSslProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetSslProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetSslProxyList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetSslProxyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetTcpProxiesScopedList_Warning_Code
      TargetTcpProxiesScopedList_Warning_Code
        ( TargetTcpProxiesScopedList_Warning_Code_CLEANUPFAILED,
          TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetTcpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetTcpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetTcpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetTcpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetTcpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetTcpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetTcpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetTcpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetTcpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetTcpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetTcpProxiesScopedList_Warning_Code_NOTCRITICALERROR,
          TargetTcpProxiesScopedList_Warning_Code_NORESULTSONPAGE,
          TargetTcpProxiesScopedList_Warning_Code_PARTIALSUCCESS,
          TargetTcpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetTcpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetTcpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetTcpProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetTcpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetTcpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetTcpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetTcpProxiesScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader
      TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader
        ( TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_None,
          TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * TargetTcpProxy_ProxyHeader
      TargetTcpProxy_ProxyHeader
        ( TargetTcpProxy_ProxyHeader_None,
          TargetTcpProxy_ProxyHeader_PROXY_V1,
          ..
        ),
  
      -- * TargetTcpProxyAggregatedList_Warning_Code
      TargetTcpProxyAggregatedList_Warning_Code
        ( TargetTcpProxyAggregatedList_Warning_Code_CLEANUPFAILED,
          TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetTcpProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetTcpProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetTcpProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          TargetTcpProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetTcpProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetTcpProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetTcpProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetTcpProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetTcpProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetTcpProxyAggregatedList_Warning_Code_NOTCRITICALERROR,
          TargetTcpProxyAggregatedList_Warning_Code_NORESULTSONPAGE,
          TargetTcpProxyAggregatedList_Warning_Code_PARTIALSUCCESS,
          TargetTcpProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetTcpProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetTcpProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetTcpProxyAggregatedList_Warning_Code_RESOURCENOTDELETED,
          TargetTcpProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetTcpProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetTcpProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetTcpProxyAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetTcpProxyList_Warning_Code
      TargetTcpProxyList_Warning_Code
        ( TargetTcpProxyList_Warning_Code_CLEANUPFAILED,
          TargetTcpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetTcpProxyList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetTcpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetTcpProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetTcpProxyList_Warning_Code_EXTERNALAPIWARNING,
          TargetTcpProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetTcpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetTcpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetTcpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetTcpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetTcpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetTcpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetTcpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetTcpProxyList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetTcpProxyList_Warning_Code_NOTCRITICALERROR,
          TargetTcpProxyList_Warning_Code_NORESULTSONPAGE,
          TargetTcpProxyList_Warning_Code_PARTIALSUCCESS,
          TargetTcpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetTcpProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetTcpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetTcpProxyList_Warning_Code_RESOURCENOTDELETED,
          TargetTcpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetTcpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetTcpProxyList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetTcpProxyList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetVpnGateway_Status
      TargetVpnGateway_Status
        ( TargetVpnGateway_Status_Creating,
          TargetVpnGateway_Status_Deleting,
          TargetVpnGateway_Status_Failed,
          TargetVpnGateway_Status_Ready,
          ..
        ),
  
      -- * TargetVpnGatewayAggregatedList_Warning_Code
      TargetVpnGatewayAggregatedList_Warning_Code
        ( TargetVpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED,
          TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetVpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetVpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetVpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          TargetVpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetVpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetVpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetVpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetVpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetVpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetVpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR,
          TargetVpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE,
          TargetVpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS,
          TargetVpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetVpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetVpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetVpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED,
          TargetVpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetVpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetVpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetVpnGatewayAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetVpnGatewayList_Warning_Code
      TargetVpnGatewayList_Warning_Code
        ( TargetVpnGatewayList_Warning_Code_CLEANUPFAILED,
          TargetVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetVpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
          TargetVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetVpnGatewayList_Warning_Code_NOTCRITICALERROR,
          TargetVpnGatewayList_Warning_Code_NORESULTSONPAGE,
          TargetVpnGatewayList_Warning_Code_PARTIALSUCCESS,
          TargetVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetVpnGatewayList_Warning_Code_RESOURCENOTDELETED,
          TargetVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetVpnGatewayList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * TargetVpnGatewaysScopedList_Warning_Code
      TargetVpnGatewaysScopedList_Warning_Code
        ( TargetVpnGatewaysScopedList_Warning_Code_CLEANUPFAILED,
          TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          TargetVpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          TargetVpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          TargetVpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING,
          TargetVpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          TargetVpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          TargetVpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          TargetVpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          TargetVpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          TargetVpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          TargetVpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR,
          TargetVpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE,
          TargetVpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS,
          TargetVpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          TargetVpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          TargetVpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          TargetVpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED,
          TargetVpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          TargetVpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          TargetVpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          TargetVpnGatewaysScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * UpcomingMaintenance_MaintenanceStatus
      UpcomingMaintenance_MaintenanceStatus
        ( UpcomingMaintenance_MaintenanceStatus_Ongoing,
          UpcomingMaintenance_MaintenanceStatus_Pending,
          UpcomingMaintenance_MaintenanceStatus_Unknown,
          ..
        ),
  
      -- * UpcomingMaintenance_Type
      UpcomingMaintenance_Type
        ( UpcomingMaintenance_Type_Scheduled,
          UpcomingMaintenance_Type_UNKNOWNTYPE,
          UpcomingMaintenance_Type_Unscheduled,
          ..
        ),
  
      -- * UrlMapList_Warning_Code
      UrlMapList_Warning_Code
        ( UrlMapList_Warning_Code_CLEANUPFAILED,
          UrlMapList_Warning_Code_DEPRECATEDRESOURCEUSED,
          UrlMapList_Warning_Code_DEPRECATEDTYPEUSED,
          UrlMapList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          UrlMapList_Warning_Code_EXPERIMENTALTYPEUSED,
          UrlMapList_Warning_Code_EXTERNALAPIWARNING,
          UrlMapList_Warning_Code_FIELDVALUEOVERRIDEN,
          UrlMapList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          UrlMapList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          UrlMapList_Warning_Code_LARGEDEPLOYMENTWARNING,
          UrlMapList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          UrlMapList_Warning_Code_MISSINGTYPEDEPENDENCY,
          UrlMapList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          UrlMapList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          UrlMapList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          UrlMapList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          UrlMapList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          UrlMapList_Warning_Code_NEXTHOPNOTRUNNING,
          UrlMapList_Warning_Code_NOTCRITICALERROR,
          UrlMapList_Warning_Code_NORESULTSONPAGE,
          UrlMapList_Warning_Code_PARTIALSUCCESS,
          UrlMapList_Warning_Code_QUOTAINFOUNAVAILABLE,
          UrlMapList_Warning_Code_REQUIREDTOSAGREEMENT,
          UrlMapList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          UrlMapList_Warning_Code_RESOURCENOTDELETED,
          UrlMapList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          UrlMapList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          UrlMapList_Warning_Code_UNDECLAREDPROPERTIES,
          UrlMapList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * UrlMapsAggregatedList_Warning_Code
      UrlMapsAggregatedList_Warning_Code
        ( UrlMapsAggregatedList_Warning_Code_CLEANUPFAILED,
          UrlMapsAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          UrlMapsAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          UrlMapsAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          UrlMapsAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          UrlMapsAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          UrlMapsAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          UrlMapsAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          UrlMapsAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          UrlMapsAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          UrlMapsAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          UrlMapsAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          UrlMapsAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          UrlMapsAggregatedList_Warning_Code_NOTCRITICALERROR,
          UrlMapsAggregatedList_Warning_Code_NORESULTSONPAGE,
          UrlMapsAggregatedList_Warning_Code_PARTIALSUCCESS,
          UrlMapsAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          UrlMapsAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          UrlMapsAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          UrlMapsAggregatedList_Warning_Code_RESOURCENOTDELETED,
          UrlMapsAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          UrlMapsAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          UrlMapsAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          UrlMapsAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * UrlMapsScopedList_Warning_Code
      UrlMapsScopedList_Warning_Code
        ( UrlMapsScopedList_Warning_Code_CLEANUPFAILED,
          UrlMapsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          UrlMapsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          UrlMapsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          UrlMapsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          UrlMapsScopedList_Warning_Code_EXTERNALAPIWARNING,
          UrlMapsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          UrlMapsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          UrlMapsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          UrlMapsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          UrlMapsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          UrlMapsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          UrlMapsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          UrlMapsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          UrlMapsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          UrlMapsScopedList_Warning_Code_NOTCRITICALERROR,
          UrlMapsScopedList_Warning_Code_NORESULTSONPAGE,
          UrlMapsScopedList_Warning_Code_PARTIALSUCCESS,
          UrlMapsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          UrlMapsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          UrlMapsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          UrlMapsScopedList_Warning_Code_RESOURCENOTDELETED,
          UrlMapsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          UrlMapsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          UrlMapsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          UrlMapsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * UrlMapsValidateRequest_LoadBalancingSchemesItem
      UrlMapsValidateRequest_LoadBalancingSchemesItem
        ( UrlMapsValidateRequest_LoadBalancingSchemesItem_External,
          UrlMapsValidateRequest_LoadBalancingSchemesItem_EXTERNALMANAGED,
          UrlMapsValidateRequest_LoadBalancingSchemesItem_LOADBALANCINGSCHEMEUNSPECIFIED,
          ..
        ),
  
      -- * UsableSubnetwork_Ipv6AccessType
      UsableSubnetwork_Ipv6AccessType
        ( UsableSubnetwork_Ipv6AccessType_External,
          UsableSubnetwork_Ipv6AccessType_Internal,
          ..
        ),
  
      -- * UsableSubnetwork_Purpose
      UsableSubnetwork_Purpose
        ( UsableSubnetwork_Purpose_GLOBALMANAGEDPROXY,
          UsableSubnetwork_Purpose_INTERNALHTTPSLOADBALANCER,
          UsableSubnetwork_Purpose_PEERMIGRATION,
          UsableSubnetwork_Purpose_Private,
          UsableSubnetwork_Purpose_PRIVATENAT,
          UsableSubnetwork_Purpose_PRIVATE_RFC_1918,
          UsableSubnetwork_Purpose_PRIVATESERVICECONNECT,
          UsableSubnetwork_Purpose_REGIONALMANAGEDPROXY,
          ..
        ),
  
      -- * UsableSubnetwork_Role
      UsableSubnetwork_Role
        ( UsableSubnetwork_Role_Active,
          UsableSubnetwork_Role_Backup,
          ..
        ),
  
      -- * UsableSubnetwork_StackType
      UsableSubnetwork_StackType
        ( UsableSubnetwork_StackType_IPV4_IPV6,
          UsableSubnetwork_StackType_IPV4ONLY,
          UsableSubnetwork_StackType_IPV6ONLY,
          ..
        ),
  
      -- * UsableSubnetworksAggregatedList_Warning_Code
      UsableSubnetworksAggregatedList_Warning_Code
        ( UsableSubnetworksAggregatedList_Warning_Code_CLEANUPFAILED,
          UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          UsableSubnetworksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          UsableSubnetworksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          UsableSubnetworksAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          UsableSubnetworksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          UsableSubnetworksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          UsableSubnetworksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          UsableSubnetworksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          UsableSubnetworksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          UsableSubnetworksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          UsableSubnetworksAggregatedList_Warning_Code_NOTCRITICALERROR,
          UsableSubnetworksAggregatedList_Warning_Code_NORESULTSONPAGE,
          UsableSubnetworksAggregatedList_Warning_Code_PARTIALSUCCESS,
          UsableSubnetworksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          UsableSubnetworksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          UsableSubnetworksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          UsableSubnetworksAggregatedList_Warning_Code_RESOURCENOTDELETED,
          UsableSubnetworksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          UsableSubnetworksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          UsableSubnetworksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          UsableSubnetworksAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VmEndpointNatMappingsList_Warning_Code
      VmEndpointNatMappingsList_Warning_Code
        ( VmEndpointNatMappingsList_Warning_Code_CLEANUPFAILED,
          VmEndpointNatMappingsList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VmEndpointNatMappingsList_Warning_Code_DEPRECATEDTYPEUSED,
          VmEndpointNatMappingsList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VmEndpointNatMappingsList_Warning_Code_EXPERIMENTALTYPEUSED,
          VmEndpointNatMappingsList_Warning_Code_EXTERNALAPIWARNING,
          VmEndpointNatMappingsList_Warning_Code_FIELDVALUEOVERRIDEN,
          VmEndpointNatMappingsList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VmEndpointNatMappingsList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VmEndpointNatMappingsList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VmEndpointNatMappingsList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VmEndpointNatMappingsList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VmEndpointNatMappingsList_Warning_Code_NEXTHOPNOTRUNNING,
          VmEndpointNatMappingsList_Warning_Code_NOTCRITICALERROR,
          VmEndpointNatMappingsList_Warning_Code_NORESULTSONPAGE,
          VmEndpointNatMappingsList_Warning_Code_PARTIALSUCCESS,
          VmEndpointNatMappingsList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VmEndpointNatMappingsList_Warning_Code_REQUIREDTOSAGREEMENT,
          VmEndpointNatMappingsList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VmEndpointNatMappingsList_Warning_Code_RESOURCENOTDELETED,
          VmEndpointNatMappingsList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VmEndpointNatMappingsList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VmEndpointNatMappingsList_Warning_Code_UNDECLAREDPROPERTIES,
          VmEndpointNatMappingsList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnGateway_GatewayIpVersion
      VpnGateway_GatewayIpVersion
        ( VpnGateway_GatewayIpVersion_IPV4,
          VpnGateway_GatewayIpVersion_IPV6,
          ..
        ),
  
      -- * VpnGateway_StackType
      VpnGateway_StackType
        ( VpnGateway_StackType_IPV4_IPV6,
          VpnGateway_StackType_IPV4ONLY,
          VpnGateway_StackType_IPV6ONLY,
          ..
        ),
  
      -- * VpnGatewayAggregatedList_Warning_Code
      VpnGatewayAggregatedList_Warning_Code
        ( VpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED,
          VpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          VpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR,
          VpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE,
          VpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS,
          VpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED,
          VpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnGatewayAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnGatewayList_Warning_Code
      VpnGatewayList_Warning_Code
        ( VpnGatewayList_Warning_Code_CLEANUPFAILED,
          VpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
          VpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnGatewayList_Warning_Code_NOTCRITICALERROR,
          VpnGatewayList_Warning_Code_NORESULTSONPAGE,
          VpnGatewayList_Warning_Code_PARTIALSUCCESS,
          VpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnGatewayList_Warning_Code_RESOURCENOTDELETED,
          VpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnGatewayList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnGatewayStatusHighAvailabilityRequirementState_State
      VpnGatewayStatusHighAvailabilityRequirementState_State
        ( VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYMET,
          VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYNOTMET,
          ..
        ),
  
      -- * VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason
      VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason
        ( VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason_INCOMPLETETUNNELSCOVERAGE,
          ..
        ),
  
      -- * VpnGatewaysScopedList_Warning_Code
      VpnGatewaysScopedList_Warning_Code
        ( VpnGatewaysScopedList_Warning_Code_CLEANUPFAILED,
          VpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING,
          VpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR,
          VpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE,
          VpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS,
          VpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED,
          VpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnGatewaysScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnTunnel_Status
      VpnTunnel_Status
        ( VpnTunnel_Status_ALLOCATINGRESOURCES,
          VpnTunnel_Status_AUTHORIZATIONERROR,
          VpnTunnel_Status_Deprovisioning,
          VpnTunnel_Status_Established,
          VpnTunnel_Status_Failed,
          VpnTunnel_Status_FIRSTHANDSHAKE,
          VpnTunnel_Status_NEGOTIATIONFAILURE,
          VpnTunnel_Status_NETWORKERROR,
          VpnTunnel_Status_NOINCOMINGPACKETS,
          VpnTunnel_Status_Provisioning,
          VpnTunnel_Status_Rejected,
          VpnTunnel_Status_Stopped,
          VpnTunnel_Status_WAITINGFORFULLCONFIG,
          ..
        ),
  
      -- * VpnTunnelAggregatedList_Warning_Code
      VpnTunnelAggregatedList_Warning_Code
        ( VpnTunnelAggregatedList_Warning_Code_CLEANUPFAILED,
          VpnTunnelAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnTunnelAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnTunnelAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnTunnelAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnTunnelAggregatedList_Warning_Code_EXTERNALAPIWARNING,
          VpnTunnelAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnTunnelAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnTunnelAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnTunnelAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnTunnelAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnTunnelAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnTunnelAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnTunnelAggregatedList_Warning_Code_NOTCRITICALERROR,
          VpnTunnelAggregatedList_Warning_Code_NORESULTSONPAGE,
          VpnTunnelAggregatedList_Warning_Code_PARTIALSUCCESS,
          VpnTunnelAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnTunnelAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnTunnelAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnTunnelAggregatedList_Warning_Code_RESOURCENOTDELETED,
          VpnTunnelAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnTunnelAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnTunnelAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnTunnelAggregatedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnTunnelList_Warning_Code
      VpnTunnelList_Warning_Code
        ( VpnTunnelList_Warning_Code_CLEANUPFAILED,
          VpnTunnelList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnTunnelList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnTunnelList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnTunnelList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnTunnelList_Warning_Code_EXTERNALAPIWARNING,
          VpnTunnelList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnTunnelList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnTunnelList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnTunnelList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnTunnelList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnTunnelList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnTunnelList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnTunnelList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnTunnelList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnTunnelList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnTunnelList_Warning_Code_NOTCRITICALERROR,
          VpnTunnelList_Warning_Code_NORESULTSONPAGE,
          VpnTunnelList_Warning_Code_PARTIALSUCCESS,
          VpnTunnelList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnTunnelList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnTunnelList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnTunnelList_Warning_Code_RESOURCENOTDELETED,
          VpnTunnelList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnTunnelList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnTunnelList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnTunnelList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * VpnTunnelsScopedList_Warning_Code
      VpnTunnelsScopedList_Warning_Code
        ( VpnTunnelsScopedList_Warning_Code_CLEANUPFAILED,
          VpnTunnelsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
          VpnTunnelsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
          VpnTunnelsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          VpnTunnelsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
          VpnTunnelsScopedList_Warning_Code_EXTERNALAPIWARNING,
          VpnTunnelsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
          VpnTunnelsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          VpnTunnelsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          VpnTunnelsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
          VpnTunnelsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          VpnTunnelsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          VpnTunnelsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
          VpnTunnelsScopedList_Warning_Code_NOTCRITICALERROR,
          VpnTunnelsScopedList_Warning_Code_NORESULTSONPAGE,
          VpnTunnelsScopedList_Warning_Code_PARTIALSUCCESS,
          VpnTunnelsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
          VpnTunnelsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
          VpnTunnelsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          VpnTunnelsScopedList_Warning_Code_RESOURCENOTDELETED,
          VpnTunnelsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          VpnTunnelsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          VpnTunnelsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
          VpnTunnelsScopedList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * XpnHostList_Warning_Code
      XpnHostList_Warning_Code
        ( XpnHostList_Warning_Code_CLEANUPFAILED,
          XpnHostList_Warning_Code_DEPRECATEDRESOURCEUSED,
          XpnHostList_Warning_Code_DEPRECATEDTYPEUSED,
          XpnHostList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          XpnHostList_Warning_Code_EXPERIMENTALTYPEUSED,
          XpnHostList_Warning_Code_EXTERNALAPIWARNING,
          XpnHostList_Warning_Code_FIELDVALUEOVERRIDEN,
          XpnHostList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          XpnHostList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          XpnHostList_Warning_Code_LARGEDEPLOYMENTWARNING,
          XpnHostList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          XpnHostList_Warning_Code_MISSINGTYPEDEPENDENCY,
          XpnHostList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          XpnHostList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          XpnHostList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          XpnHostList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          XpnHostList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          XpnHostList_Warning_Code_NEXTHOPNOTRUNNING,
          XpnHostList_Warning_Code_NOTCRITICALERROR,
          XpnHostList_Warning_Code_NORESULTSONPAGE,
          XpnHostList_Warning_Code_PARTIALSUCCESS,
          XpnHostList_Warning_Code_QUOTAINFOUNAVAILABLE,
          XpnHostList_Warning_Code_REQUIREDTOSAGREEMENT,
          XpnHostList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          XpnHostList_Warning_Code_RESOURCENOTDELETED,
          XpnHostList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          XpnHostList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          XpnHostList_Warning_Code_UNDECLAREDPROPERTIES,
          XpnHostList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * XpnResourceId_Type
      XpnResourceId_Type
        ( XpnResourceId_Type_Project,
          XpnResourceId_Type_XPNRESOURCETYPEUNSPECIFIED,
          ..
        ),
  
      -- * Zone_Status
      Zone_Status
        ( Zone_Status_Down,
          Zone_Status_UP,
          ..
        ),
  
      -- * ZoneList_Warning_Code
      ZoneList_Warning_Code
        ( ZoneList_Warning_Code_CLEANUPFAILED,
          ZoneList_Warning_Code_DEPRECATEDRESOURCEUSED,
          ZoneList_Warning_Code_DEPRECATEDTYPEUSED,
          ZoneList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
          ZoneList_Warning_Code_EXPERIMENTALTYPEUSED,
          ZoneList_Warning_Code_EXTERNALAPIWARNING,
          ZoneList_Warning_Code_FIELDVALUEOVERRIDEN,
          ZoneList_Warning_Code_INJECTEDKERNELSDEPRECATED,
          ZoneList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
          ZoneList_Warning_Code_LARGEDEPLOYMENTWARNING,
          ZoneList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
          ZoneList_Warning_Code_MISSINGTYPEDEPENDENCY,
          ZoneList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
          ZoneList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
          ZoneList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
          ZoneList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
          ZoneList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
          ZoneList_Warning_Code_NEXTHOPNOTRUNNING,
          ZoneList_Warning_Code_NOTCRITICALERROR,
          ZoneList_Warning_Code_NORESULTSONPAGE,
          ZoneList_Warning_Code_PARTIALSUCCESS,
          ZoneList_Warning_Code_QUOTAINFOUNAVAILABLE,
          ZoneList_Warning_Code_REQUIREDTOSAGREEMENT,
          ZoneList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
          ZoneList_Warning_Code_RESOURCENOTDELETED,
          ZoneList_Warning_Code_SCHEMAVALIDATIONIGNORED,
          ZoneList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
          ZoneList_Warning_Code_UNDECLAREDPROPERTIES,
          ZoneList_Warning_Code_Unreachable,
          ..
        ),
  
      -- * InstancesUpdateMinimalAction
      InstancesUpdateMinimalAction
        ( InstancesUpdateMinimalAction_Invalid,
          InstancesUpdateMinimalAction_NOEFFECT,
          InstancesUpdateMinimalAction_Refresh,
          InstancesUpdateMinimalAction_Restart,
          ..
        ),
  
      -- * InstancesUpdateMostDisruptiveAllowedAction
      InstancesUpdateMostDisruptiveAllowedAction
        ( InstancesUpdateMostDisruptiveAllowedAction_Invalid,
          InstancesUpdateMostDisruptiveAllowedAction_NOEFFECT,
          InstancesUpdateMostDisruptiveAllowedAction_Refresh,
          InstancesUpdateMostDisruptiveAllowedAction_Restart,
          ..
        ),
  
      -- * NetworksListPeeringRoutesDirection
      NetworksListPeeringRoutesDirection
        ( NetworksListPeeringRoutesDirection_Incoming,
          NetworksListPeeringRoutesDirection_Outgoing,
          ..
        ),
  
      -- * RoutersListBgpRoutesAddressFamily
      RoutersListBgpRoutesAddressFamily
        ( RoutersListBgpRoutesAddressFamily_IPV4,
          RoutersListBgpRoutesAddressFamily_IPV6,
          RoutersListBgpRoutesAddressFamily_UNSPECIFIEDIPVERSION,
          ..
        ),
  
      -- * RoutersListBgpRoutesRouteType
      RoutersListBgpRoutesRouteType
        ( RoutersListBgpRoutesRouteType_Advertised,
          RoutersListBgpRoutesRouteType_Learned,
          RoutersListBgpRoutesRouteType_UNSPECIFIEDROUTETYPE,
          ..
        ),
    )
  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] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AcceleratorTypeAggregatedList_Warning_Code = AcceleratorTypeAggregatedList_Warning_Code {fromAcceleratorTypeAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AcceleratorTypeAggregatedList_Warning_Code_CLEANUPFAILED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_CLEANUPFAILED = AcceleratorTypeAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = AcceleratorTypeAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = AcceleratorTypeAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AcceleratorTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AcceleratorTypeAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AcceleratorTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = AcceleratorTypeAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AcceleratorTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING = AcceleratorTypeAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AcceleratorTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = AcceleratorTypeAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AcceleratorTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AcceleratorTypeAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AcceleratorTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AcceleratorTypeAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AcceleratorTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = AcceleratorTypeAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AcceleratorTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AcceleratorTypeAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AcceleratorTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = AcceleratorTypeAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = AcceleratorTypeAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NOTCRITICALERROR :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NOTCRITICALERROR = AcceleratorTypeAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AcceleratorTypeAggregatedList_Warning_Code_NORESULTSONPAGE :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_NORESULTSONPAGE = AcceleratorTypeAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AcceleratorTypeAggregatedList_Warning_Code_PARTIALSUCCESS :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_PARTIALSUCCESS = AcceleratorTypeAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AcceleratorTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = AcceleratorTypeAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AcceleratorTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = AcceleratorTypeAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AcceleratorTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AcceleratorTypeAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AcceleratorTypeAggregatedList_Warning_Code_RESOURCENOTDELETED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_RESOURCENOTDELETED = AcceleratorTypeAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AcceleratorTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AcceleratorTypeAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AcceleratorTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AcceleratorTypeAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AcceleratorTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = AcceleratorTypeAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AcceleratorTypeAggregatedList_Warning_Code_Unreachable :: AcceleratorTypeAggregatedList_Warning_Code
  pattern AcceleratorTypeAggregatedList_Warning_Code_Unreachable = AcceleratorTypeAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AcceleratorTypeAggregatedList_Warning_Code_CLEANUPFAILED,
    AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AcceleratorTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    AcceleratorTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AcceleratorTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AcceleratorTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    AcceleratorTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AcceleratorTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AcceleratorTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AcceleratorTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AcceleratorTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AcceleratorTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AcceleratorTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    AcceleratorTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
    AcceleratorTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
    AcceleratorTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
    AcceleratorTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AcceleratorTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AcceleratorTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AcceleratorTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
    AcceleratorTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AcceleratorTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AcceleratorTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    AcceleratorTypeAggregatedList_Warning_Code_Unreachable,
    AcceleratorTypeAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AcceleratorTypeList_Warning_Code = AcceleratorTypeList_Warning_Code {fromAcceleratorTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AcceleratorTypeList_Warning_Code_CLEANUPFAILED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_CLEANUPFAILED = AcceleratorTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AcceleratorTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = AcceleratorTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AcceleratorTypeList_Warning_Code_DEPRECATEDTYPEUSED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_DEPRECATEDTYPEUSED = AcceleratorTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AcceleratorTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AcceleratorTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AcceleratorTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_EXPERIMENTALTYPEUSED = AcceleratorTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AcceleratorTypeList_Warning_Code_EXTERNALAPIWARNING :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_EXTERNALAPIWARNING = AcceleratorTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AcceleratorTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_FIELDVALUEOVERRIDEN = AcceleratorTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AcceleratorTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = AcceleratorTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AcceleratorTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AcceleratorTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AcceleratorTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = AcceleratorTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AcceleratorTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AcceleratorTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AcceleratorTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = AcceleratorTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AcceleratorTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AcceleratorTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AcceleratorTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AcceleratorTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AcceleratorTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPNOTRUNNING :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NEXTHOPNOTRUNNING = AcceleratorTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AcceleratorTypeList_Warning_Code_NOTCRITICALERROR :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NOTCRITICALERROR = AcceleratorTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AcceleratorTypeList_Warning_Code_NORESULTSONPAGE :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_NORESULTSONPAGE = AcceleratorTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AcceleratorTypeList_Warning_Code_PARTIALSUCCESS :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_PARTIALSUCCESS = AcceleratorTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AcceleratorTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = AcceleratorTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AcceleratorTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_REQUIREDTOSAGREEMENT = AcceleratorTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AcceleratorTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AcceleratorTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AcceleratorTypeList_Warning_Code_RESOURCENOTDELETED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_RESOURCENOTDELETED = AcceleratorTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AcceleratorTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = AcceleratorTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AcceleratorTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AcceleratorTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AcceleratorTypeList_Warning_Code_UNDECLAREDPROPERTIES :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_UNDECLAREDPROPERTIES = AcceleratorTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AcceleratorTypeList_Warning_Code_Unreachable :: AcceleratorTypeList_Warning_Code
  pattern AcceleratorTypeList_Warning_Code_Unreachable = AcceleratorTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AcceleratorTypeList_Warning_Code_CLEANUPFAILED,
    AcceleratorTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AcceleratorTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    AcceleratorTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AcceleratorTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    AcceleratorTypeList_Warning_Code_EXTERNALAPIWARNING,
    AcceleratorTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    AcceleratorTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AcceleratorTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AcceleratorTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AcceleratorTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AcceleratorTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AcceleratorTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AcceleratorTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AcceleratorTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AcceleratorTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    AcceleratorTypeList_Warning_Code_NOTCRITICALERROR,
    AcceleratorTypeList_Warning_Code_NORESULTSONPAGE,
    AcceleratorTypeList_Warning_Code_PARTIALSUCCESS,
    AcceleratorTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AcceleratorTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    AcceleratorTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AcceleratorTypeList_Warning_Code_RESOURCENOTDELETED,
    AcceleratorTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AcceleratorTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AcceleratorTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    AcceleratorTypeList_Warning_Code_Unreachable,
    AcceleratorTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AcceleratorTypesScopedList_Warning_Code = AcceleratorTypesScopedList_Warning_Code {fromAcceleratorTypesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AcceleratorTypesScopedList_Warning_Code_CLEANUPFAILED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_CLEANUPFAILED = AcceleratorTypesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AcceleratorTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = AcceleratorTypesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AcceleratorTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED = AcceleratorTypesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AcceleratorTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AcceleratorTypesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AcceleratorTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = AcceleratorTypesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AcceleratorTypesScopedList_Warning_Code_EXTERNALAPIWARNING :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_EXTERNALAPIWARNING = AcceleratorTypesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AcceleratorTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = AcceleratorTypesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AcceleratorTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AcceleratorTypesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AcceleratorTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AcceleratorTypesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AcceleratorTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = AcceleratorTypesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AcceleratorTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AcceleratorTypesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AcceleratorTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = AcceleratorTypesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING = AcceleratorTypesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AcceleratorTypesScopedList_Warning_Code_NOTCRITICALERROR :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NOTCRITICALERROR = AcceleratorTypesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AcceleratorTypesScopedList_Warning_Code_NORESULTSONPAGE :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_NORESULTSONPAGE = AcceleratorTypesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AcceleratorTypesScopedList_Warning_Code_PARTIALSUCCESS :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_PARTIALSUCCESS = AcceleratorTypesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AcceleratorTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = AcceleratorTypesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AcceleratorTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = AcceleratorTypesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AcceleratorTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AcceleratorTypesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AcceleratorTypesScopedList_Warning_Code_RESOURCENOTDELETED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_RESOURCENOTDELETED = AcceleratorTypesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AcceleratorTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AcceleratorTypesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AcceleratorTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AcceleratorTypesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AcceleratorTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES = AcceleratorTypesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AcceleratorTypesScopedList_Warning_Code_Unreachable :: AcceleratorTypesScopedList_Warning_Code
  pattern AcceleratorTypesScopedList_Warning_Code_Unreachable = AcceleratorTypesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AcceleratorTypesScopedList_Warning_Code_CLEANUPFAILED,
    AcceleratorTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AcceleratorTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    AcceleratorTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AcceleratorTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AcceleratorTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
    AcceleratorTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AcceleratorTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AcceleratorTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AcceleratorTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AcceleratorTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AcceleratorTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AcceleratorTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    AcceleratorTypesScopedList_Warning_Code_NOTCRITICALERROR,
    AcceleratorTypesScopedList_Warning_Code_NORESULTSONPAGE,
    AcceleratorTypesScopedList_Warning_Code_PARTIALSUCCESS,
    AcceleratorTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AcceleratorTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AcceleratorTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AcceleratorTypesScopedList_Warning_Code_RESOURCENOTDELETED,
    AcceleratorTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AcceleratorTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AcceleratorTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    AcceleratorTypesScopedList_Warning_Code_Unreachable,
    AcceleratorTypesScopedList_Warning_Code
    #-}
  
  -- | This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.
  newtype AccessConfig_NetworkTier = AccessConfig_NetworkTier {fromAccessConfig_NetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern AccessConfig_NetworkTier_FIXEDSTANDARD :: AccessConfig_NetworkTier
  pattern AccessConfig_NetworkTier_FIXEDSTANDARD = AccessConfig_NetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern AccessConfig_NetworkTier_Premium :: AccessConfig_NetworkTier
  pattern AccessConfig_NetworkTier_Premium = AccessConfig_NetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern AccessConfig_NetworkTier_Standard :: AccessConfig_NetworkTier
  pattern AccessConfig_NetworkTier_Standard = AccessConfig_NetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern AccessConfig_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: AccessConfig_NetworkTier
  pattern AccessConfig_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = AccessConfig_NetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    AccessConfig_NetworkTier_FIXEDSTANDARD,
    AccessConfig_NetworkTier_Premium,
    AccessConfig_NetworkTier_Standard,
    AccessConfig_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    AccessConfig_NetworkTier
    #-}
  
  -- | The type of configuration. In accessConfigs (IPv4), the default and only option is ONE/TO/ONE/NAT. In ipv6AccessConfigs, the default and only option is DIRECT/IPV6.
  newtype AccessConfig_Type = AccessConfig_Type {fromAccessConfig_Type :: 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
      )
  
  pattern AccessConfig_Type_DIRECT_IPV6 :: AccessConfig_Type
  pattern AccessConfig_Type_DIRECT_IPV6 = AccessConfig_Type "DIRECT_IPV6"
  
  pattern AccessConfig_Type_ONETOONENAT :: AccessConfig_Type
  pattern AccessConfig_Type_ONETOONENAT = AccessConfig_Type "ONE_TO_ONE_NAT"
  
  {-# COMPLETE
    AccessConfig_Type_DIRECT_IPV6,
    AccessConfig_Type_ONETOONENAT,
    AccessConfig_Type
    #-}
  
  -- | The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.
  newtype Address_AddressType = Address_AddressType {fromAddress_AddressType :: 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
      )
  
  -- | A publicly visible external IP address.
  pattern Address_AddressType_External :: Address_AddressType
  pattern Address_AddressType_External = Address_AddressType "EXTERNAL"
  
  -- | A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.
  pattern Address_AddressType_Internal :: Address_AddressType
  pattern Address_AddressType_Internal = Address_AddressType "INTERNAL"
  
  pattern Address_AddressType_UNSPECIFIEDTYPE :: Address_AddressType
  pattern Address_AddressType_UNSPECIFIEDTYPE = Address_AddressType "UNSPECIFIED_TYPE"
  
  {-# COMPLETE
    Address_AddressType_External,
    Address_AddressType_Internal,
    Address_AddressType_UNSPECIFIEDTYPE,
    Address_AddressType
    #-}
  
  -- | The IP version that will be used by this address. Valid options are IPV4 or IPV6.
  newtype Address_IpVersion = Address_IpVersion {fromAddress_IpVersion :: 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
      )
  
  pattern Address_IpVersion_IPV4 :: Address_IpVersion
  pattern Address_IpVersion_IPV4 = Address_IpVersion "IPV4"
  
  pattern Address_IpVersion_IPV6 :: Address_IpVersion
  pattern Address_IpVersion_IPV6 = Address_IpVersion "IPV6"
  
  pattern Address_IpVersion_UNSPECIFIEDVERSION :: Address_IpVersion
  pattern Address_IpVersion_UNSPECIFIEDVERSION = Address_IpVersion "UNSPECIFIED_VERSION"
  
  {-# COMPLETE
    Address_IpVersion_IPV4,
    Address_IpVersion_IPV6,
    Address_IpVersion_UNSPECIFIEDVERSION,
    Address_IpVersion
    #-}
  
  -- | The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.
  newtype Address_Ipv6EndpointType = Address_Ipv6EndpointType {fromAddress_Ipv6EndpointType :: 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
      )
  
  -- | Reserved IPv6 address can be used on network load balancer.
  pattern Address_Ipv6EndpointType_Netlb :: Address_Ipv6EndpointType
  pattern Address_Ipv6EndpointType_Netlb = Address_Ipv6EndpointType "NETLB"
  
  -- | Reserved IPv6 address can be used on VM.
  pattern Address_Ipv6EndpointType_VM :: Address_Ipv6EndpointType
  pattern Address_Ipv6EndpointType_VM = Address_Ipv6EndpointType "VM"
  
  {-# COMPLETE
    Address_Ipv6EndpointType_Netlb,
    Address_Ipv6EndpointType_VM,
    Address_Ipv6EndpointType
    #-}
  
  -- | This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.
  newtype Address_NetworkTier = Address_NetworkTier {fromAddress_NetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern Address_NetworkTier_FIXEDSTANDARD :: Address_NetworkTier
  pattern Address_NetworkTier_FIXEDSTANDARD = Address_NetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern Address_NetworkTier_Premium :: Address_NetworkTier
  pattern Address_NetworkTier_Premium = Address_NetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern Address_NetworkTier_Standard :: Address_NetworkTier
  pattern Address_NetworkTier_Standard = Address_NetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern Address_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: Address_NetworkTier
  pattern Address_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = Address_NetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    Address_NetworkTier_FIXEDSTANDARD,
    Address_NetworkTier_Premium,
    Address_NetworkTier_Standard,
    Address_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    Address_NetworkTier
    #-}
  
  -- | The purpose of this resource, which can be one of the following values: - GCE/ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS/RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC/PEERING for global internal IP addresses used for private services access allocated ranges. - NAT/AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an /HA VPN over Cloud Interconnect/ configuration. These addresses are regional resources. - @SHARED_LOADBALANCER_VIP@ for an internal IP address that is assigned to multiple internal forwarding rules. - @PRIVATE_SERVICE_CONNECT@ for a private network address that is used to configure Private Service Connect. Only global
  -- internal addresses can use this purpose.
  newtype Address_Purpose = Address_Purpose {fromAddress_Purpose :: 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
      )
  
  -- | DNS resolver address in the subnetwork.
  pattern Address_Purpose_DNSRESOLVER :: Address_Purpose
  pattern Address_Purpose_DNSRESOLVER = Address_Purpose "DNS_RESOLVER"
  
  -- | VM internal\/alias IP, Internal LB service IP, etc.
  pattern Address_Purpose_GCEENDPOINT :: Address_Purpose
  pattern Address_Purpose_GCEENDPOINT = Address_Purpose "GCE_ENDPOINT"
  
  -- | A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet\/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.
  pattern Address_Purpose_IPSECINTERCONNECT :: Address_Purpose
  pattern Address_Purpose_IPSECINTERCONNECT = Address_Purpose "IPSEC_INTERCONNECT"
  
  -- | External IP automatically reserved for Cloud NAT.
  pattern Address_Purpose_NATAUTO :: Address_Purpose
  pattern Address_Purpose_NATAUTO = Address_Purpose "NAT_AUTO"
  
  -- | A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL
  pattern Address_Purpose_PRIVATESERVICECONNECT :: Address_Purpose
  pattern Address_Purpose_PRIVATESERVICECONNECT = Address_Purpose "PRIVATE_SERVICE_CONNECT"
  
  -- | A regional internal IP address range reserved for Serverless.
  pattern Address_Purpose_Serverless :: Address_Purpose
  pattern Address_Purpose_Serverless = Address_Purpose "SERVERLESS"
  
  -- | A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.
  pattern Address_Purpose_SHAREDLOADBALANCERVIP :: Address_Purpose
  pattern Address_Purpose_SHAREDLOADBALANCERVIP = Address_Purpose "SHARED_LOADBALANCER_VIP"
  
  -- | IP range for peer networks.
  pattern Address_Purpose_VPCPEERING :: Address_Purpose
  pattern Address_Purpose_VPCPEERING = Address_Purpose "VPC_PEERING"
  
  {-# COMPLETE
    Address_Purpose_DNSRESOLVER,
    Address_Purpose_GCEENDPOINT,
    Address_Purpose_IPSECINTERCONNECT,
    Address_Purpose_NATAUTO,
    Address_Purpose_PRIVATESERVICECONNECT,
    Address_Purpose_Serverless,
    Address_Purpose_SHAREDLOADBALANCERVIP,
    Address_Purpose_VPCPEERING,
    Address_Purpose
    #-}
  
  -- | [Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN/USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN/USE address is currently being used by another resource and is not available.
  newtype Address_Status = Address_Status {fromAddress_Status :: 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
      )
  
  -- | Address is being used by another resource and is not available.
  pattern Address_Status_INUSE :: Address_Status
  pattern Address_Status_INUSE = Address_Status "IN_USE"
  
  -- | Address is reserved and available to use.
  pattern Address_Status_Reserved :: Address_Status
  pattern Address_Status_Reserved = Address_Status "RESERVED"
  
  -- | Address is being reserved.
  pattern Address_Status_Reserving :: Address_Status
  pattern Address_Status_Reserving = Address_Status "RESERVING"
  
  {-# COMPLETE
    Address_Status_INUSE,
    Address_Status_Reserved,
    Address_Status_Reserving,
    Address_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AddressAggregatedList_Warning_Code = AddressAggregatedList_Warning_Code {fromAddressAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AddressAggregatedList_Warning_Code_CLEANUPFAILED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_CLEANUPFAILED = AddressAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AddressAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = AddressAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AddressAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = AddressAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AddressAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AddressAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AddressAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = AddressAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AddressAggregatedList_Warning_Code_EXTERNALAPIWARNING :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_EXTERNALAPIWARNING = AddressAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AddressAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = AddressAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AddressAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AddressAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AddressAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AddressAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AddressAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = AddressAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AddressAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AddressAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AddressAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = AddressAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AddressAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AddressAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AddressAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AddressAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AddressAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AddressAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = AddressAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AddressAggregatedList_Warning_Code_NOTCRITICALERROR :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NOTCRITICALERROR = AddressAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AddressAggregatedList_Warning_Code_NORESULTSONPAGE :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_NORESULTSONPAGE = AddressAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AddressAggregatedList_Warning_Code_PARTIALSUCCESS :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_PARTIALSUCCESS = AddressAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AddressAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = AddressAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AddressAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = AddressAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AddressAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AddressAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AddressAggregatedList_Warning_Code_RESOURCENOTDELETED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_RESOURCENOTDELETED = AddressAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AddressAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AddressAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AddressAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AddressAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AddressAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = AddressAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AddressAggregatedList_Warning_Code_Unreachable :: AddressAggregatedList_Warning_Code
  pattern AddressAggregatedList_Warning_Code_Unreachable = AddressAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AddressAggregatedList_Warning_Code_CLEANUPFAILED,
    AddressAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AddressAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    AddressAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AddressAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AddressAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    AddressAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AddressAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AddressAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AddressAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AddressAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AddressAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AddressAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AddressAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AddressAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AddressAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AddressAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    AddressAggregatedList_Warning_Code_NOTCRITICALERROR,
    AddressAggregatedList_Warning_Code_NORESULTSONPAGE,
    AddressAggregatedList_Warning_Code_PARTIALSUCCESS,
    AddressAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AddressAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AddressAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AddressAggregatedList_Warning_Code_RESOURCENOTDELETED,
    AddressAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AddressAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AddressAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    AddressAggregatedList_Warning_Code_Unreachable,
    AddressAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AddressList_Warning_Code = AddressList_Warning_Code {fromAddressList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AddressList_Warning_Code_CLEANUPFAILED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_CLEANUPFAILED = AddressList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AddressList_Warning_Code_DEPRECATEDRESOURCEUSED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_DEPRECATEDRESOURCEUSED = AddressList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AddressList_Warning_Code_DEPRECATEDTYPEUSED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_DEPRECATEDTYPEUSED = AddressList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AddressList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AddressList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AddressList_Warning_Code_EXPERIMENTALTYPEUSED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_EXPERIMENTALTYPEUSED = AddressList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AddressList_Warning_Code_EXTERNALAPIWARNING :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_EXTERNALAPIWARNING = AddressList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AddressList_Warning_Code_FIELDVALUEOVERRIDEN :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_FIELDVALUEOVERRIDEN = AddressList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AddressList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_INJECTEDKERNELSDEPRECATED = AddressList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AddressList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AddressList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AddressList_Warning_Code_LARGEDEPLOYMENTWARNING :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_LARGEDEPLOYMENTWARNING = AddressList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AddressList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AddressList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AddressList_Warning_Code_MISSINGTYPEDEPENDENCY :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_MISSINGTYPEDEPENDENCY = AddressList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AddressList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AddressList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AddressList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AddressList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AddressList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AddressList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AddressList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AddressList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AddressList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AddressList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AddressList_Warning_Code_NEXTHOPNOTRUNNING :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NEXTHOPNOTRUNNING = AddressList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AddressList_Warning_Code_NOTCRITICALERROR :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NOTCRITICALERROR = AddressList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AddressList_Warning_Code_NORESULTSONPAGE :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_NORESULTSONPAGE = AddressList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AddressList_Warning_Code_PARTIALSUCCESS :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_PARTIALSUCCESS = AddressList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AddressList_Warning_Code_QUOTAINFOUNAVAILABLE :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_QUOTAINFOUNAVAILABLE = AddressList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AddressList_Warning_Code_REQUIREDTOSAGREEMENT :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_REQUIREDTOSAGREEMENT = AddressList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AddressList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AddressList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AddressList_Warning_Code_RESOURCENOTDELETED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_RESOURCENOTDELETED = AddressList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AddressList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_SCHEMAVALIDATIONIGNORED = AddressList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AddressList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AddressList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AddressList_Warning_Code_UNDECLAREDPROPERTIES :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_UNDECLAREDPROPERTIES = AddressList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AddressList_Warning_Code_Unreachable :: AddressList_Warning_Code
  pattern AddressList_Warning_Code_Unreachable = AddressList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AddressList_Warning_Code_CLEANUPFAILED,
    AddressList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AddressList_Warning_Code_DEPRECATEDTYPEUSED,
    AddressList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AddressList_Warning_Code_EXPERIMENTALTYPEUSED,
    AddressList_Warning_Code_EXTERNALAPIWARNING,
    AddressList_Warning_Code_FIELDVALUEOVERRIDEN,
    AddressList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AddressList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AddressList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AddressList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AddressList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AddressList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AddressList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AddressList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AddressList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AddressList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AddressList_Warning_Code_NEXTHOPNOTRUNNING,
    AddressList_Warning_Code_NOTCRITICALERROR,
    AddressList_Warning_Code_NORESULTSONPAGE,
    AddressList_Warning_Code_PARTIALSUCCESS,
    AddressList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AddressList_Warning_Code_REQUIREDTOSAGREEMENT,
    AddressList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AddressList_Warning_Code_RESOURCENOTDELETED,
    AddressList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AddressList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AddressList_Warning_Code_UNDECLAREDPROPERTIES,
    AddressList_Warning_Code_Unreachable,
    AddressList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AddressesScopedList_Warning_Code = AddressesScopedList_Warning_Code {fromAddressesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AddressesScopedList_Warning_Code_CLEANUPFAILED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_CLEANUPFAILED = AddressesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AddressesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = AddressesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AddressesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_DEPRECATEDTYPEUSED = AddressesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AddressesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AddressesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AddressesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = AddressesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AddressesScopedList_Warning_Code_EXTERNALAPIWARNING :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_EXTERNALAPIWARNING = AddressesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AddressesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = AddressesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AddressesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AddressesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AddressesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AddressesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AddressesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = AddressesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AddressesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AddressesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AddressesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = AddressesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AddressesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AddressesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AddressesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AddressesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AddressesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AddressesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AddressesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AddressesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NEXTHOPNOTRUNNING = AddressesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AddressesScopedList_Warning_Code_NOTCRITICALERROR :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NOTCRITICALERROR = AddressesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AddressesScopedList_Warning_Code_NORESULTSONPAGE :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_NORESULTSONPAGE = AddressesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AddressesScopedList_Warning_Code_PARTIALSUCCESS :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_PARTIALSUCCESS = AddressesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AddressesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = AddressesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AddressesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = AddressesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AddressesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AddressesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AddressesScopedList_Warning_Code_RESOURCENOTDELETED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_RESOURCENOTDELETED = AddressesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AddressesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AddressesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AddressesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AddressesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AddressesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_UNDECLAREDPROPERTIES = AddressesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AddressesScopedList_Warning_Code_Unreachable :: AddressesScopedList_Warning_Code
  pattern AddressesScopedList_Warning_Code_Unreachable = AddressesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AddressesScopedList_Warning_Code_CLEANUPFAILED,
    AddressesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AddressesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    AddressesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AddressesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AddressesScopedList_Warning_Code_EXTERNALAPIWARNING,
    AddressesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AddressesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AddressesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AddressesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AddressesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AddressesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AddressesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AddressesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AddressesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AddressesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AddressesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    AddressesScopedList_Warning_Code_NOTCRITICALERROR,
    AddressesScopedList_Warning_Code_NORESULTSONPAGE,
    AddressesScopedList_Warning_Code_PARTIALSUCCESS,
    AddressesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AddressesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AddressesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AddressesScopedList_Warning_Code_RESOURCENOTDELETED,
    AddressesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AddressesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AddressesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    AddressesScopedList_Warning_Code_Unreachable,
    AddressesScopedList_Warning_Code
    #-}
  
  -- | Type of Performance Monitoring Unit requested on instance.
  newtype AdvancedMachineFeatures_PerformanceMonitoringUnit = AdvancedMachineFeatures_PerformanceMonitoringUnit {fromAdvancedMachineFeatures_PerformanceMonitoringUnit :: 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
      )
  
  -- | Architecturally defined non-LLC events.
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Architectural :: AdvancedMachineFeatures_PerformanceMonitoringUnit
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Architectural = AdvancedMachineFeatures_PerformanceMonitoringUnit "ARCHITECTURAL"
  
  -- | Most documented core\/L2 and LLC events.
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Enhanced :: AdvancedMachineFeatures_PerformanceMonitoringUnit
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Enhanced = AdvancedMachineFeatures_PerformanceMonitoringUnit "ENHANCED"
  
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_PERFORMANCEMONITORINGUNITUNSPECIFIED :: AdvancedMachineFeatures_PerformanceMonitoringUnit
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_PERFORMANCEMONITORINGUNITUNSPECIFIED = AdvancedMachineFeatures_PerformanceMonitoringUnit "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED"
  
  -- | Most documented core\/L2 events.
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Standard :: AdvancedMachineFeatures_PerformanceMonitoringUnit
  pattern AdvancedMachineFeatures_PerformanceMonitoringUnit_Standard = AdvancedMachineFeatures_PerformanceMonitoringUnit "STANDARD"
  
  {-# COMPLETE
    AdvancedMachineFeatures_PerformanceMonitoringUnit_Architectural,
    AdvancedMachineFeatures_PerformanceMonitoringUnit_Enhanced,
    AdvancedMachineFeatures_PerformanceMonitoringUnit_PERFORMANCEMONITORINGUNITUNSPECIFIED,
    AdvancedMachineFeatures_PerformanceMonitoringUnit_Standard,
    AdvancedMachineFeatures_PerformanceMonitoringUnit
    #-}
  
  -- | The VM family that all instances scheduled against this reservation must belong to.
  newtype AllocationAggregateReservation_VmFamily = AllocationAggregateReservation_VmFamily {fromAllocationAggregateReservation_VmFamily :: 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
      )
  
  pattern AllocationAggregateReservation_VmFamily_VM_FAMILY_CLOUD_TPU_DEVICE_CT3 :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VM_FAMILY_CLOUD_TPU_DEVICE_CT3 = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_DEVICE_CT3"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEDEVICECT5L :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEDEVICECT5L = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT5LP :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT5LP = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT6E :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT6E = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT6E"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT3P :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT3P = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT4P :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT4P = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P"
  
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT5P :: AllocationAggregateReservation_VmFamily
  pattern AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT5P = AllocationAggregateReservation_VmFamily "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P"
  
  {-# COMPLETE
    AllocationAggregateReservation_VmFamily_VM_FAMILY_CLOUD_TPU_DEVICE_CT3,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEDEVICECT5L,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT5LP,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPULITEPODSLICECT6E,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT3P,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT4P,
    AllocationAggregateReservation_VmFamily_VMFAMILYCLOUDTPUPODSLICECT5P,
    AllocationAggregateReservation_VmFamily
    #-}
  
  -- | The workload type of the instances that will target this reservation.
  newtype AllocationAggregateReservation_WorkloadType = AllocationAggregateReservation_WorkloadType {fromAllocationAggregateReservation_WorkloadType :: 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
      )
  
  -- | Reserved resources will be optimized for BATCH workloads, such as ML training.
  pattern AllocationAggregateReservation_WorkloadType_Batch :: AllocationAggregateReservation_WorkloadType
  pattern AllocationAggregateReservation_WorkloadType_Batch = AllocationAggregateReservation_WorkloadType "BATCH"
  
  -- | Reserved resources will be optimized for SERVING workloads, such as ML inference.
  pattern AllocationAggregateReservation_WorkloadType_Serving :: AllocationAggregateReservation_WorkloadType
  pattern AllocationAggregateReservation_WorkloadType_Serving = AllocationAggregateReservation_WorkloadType "SERVING"
  
  pattern AllocationAggregateReservation_WorkloadType_Unspecified :: AllocationAggregateReservation_WorkloadType
  pattern AllocationAggregateReservation_WorkloadType_Unspecified = AllocationAggregateReservation_WorkloadType "UNSPECIFIED"
  
  {-# COMPLETE
    AllocationAggregateReservation_WorkloadType_Batch,
    AllocationAggregateReservation_WorkloadType_Serving,
    AllocationAggregateReservation_WorkloadType_Unspecified,
    AllocationAggregateReservation_WorkloadType
    #-}
  
  -- | Sharing config for all Google Cloud services.
  newtype AllocationReservationSharingPolicy_ServiceShareType = AllocationReservationSharingPolicy_ServiceShareType {fromAllocationReservationSharingPolicy_ServiceShareType :: 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
      )
  
  -- | Allow all Google Cloud managed services to share reservations.
  pattern AllocationReservationSharingPolicy_ServiceShareType_ALLOWALL :: AllocationReservationSharingPolicy_ServiceShareType
  pattern AllocationReservationSharingPolicy_ServiceShareType_ALLOWALL = AllocationReservationSharingPolicy_ServiceShareType "ALLOW_ALL"
  
  -- | [Default] Disallow sharing with all Google Cloud services.
  pattern AllocationReservationSharingPolicy_ServiceShareType_DISALLOWALL :: AllocationReservationSharingPolicy_ServiceShareType
  pattern AllocationReservationSharingPolicy_ServiceShareType_DISALLOWALL = AllocationReservationSharingPolicy_ServiceShareType "DISALLOW_ALL"
  
  pattern AllocationReservationSharingPolicy_ServiceShareType_SERVICESHARETYPEUNSPECIFIED :: AllocationReservationSharingPolicy_ServiceShareType
  pattern AllocationReservationSharingPolicy_ServiceShareType_SERVICESHARETYPEUNSPECIFIED = AllocationReservationSharingPolicy_ServiceShareType "SERVICE_SHARE_TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    AllocationReservationSharingPolicy_ServiceShareType_ALLOWALL,
    AllocationReservationSharingPolicy_ServiceShareType_DISALLOWALL,
    AllocationReservationSharingPolicy_ServiceShareType_SERVICESHARETYPEUNSPECIFIED,
    AllocationReservationSharingPolicy_ServiceShareType
    #-}
  
  -- | Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.
  newtype AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface = AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface {fromAllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface :: 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
      )
  
  pattern AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Nvme :: AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface
  pattern AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Nvme = AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface "NVME"
  
  pattern AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Scsi :: AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface
  pattern AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Scsi = AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface "SCSI"
  
  {-# COMPLETE
    AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Nvme,
    AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface_Scsi,
    AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface
    #-}
  
  -- | [Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.
  newtype AttachedDisk_Architecture = AttachedDisk_Architecture {fromAttachedDisk_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern AttachedDisk_Architecture_ARCHITECTUREUNSPECIFIED :: AttachedDisk_Architecture
  pattern AttachedDisk_Architecture_ARCHITECTUREUNSPECIFIED = AttachedDisk_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern AttachedDisk_Architecture_ARM64 :: AttachedDisk_Architecture
  pattern AttachedDisk_Architecture_ARM64 = AttachedDisk_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern AttachedDisk_Architecture_X86_64 :: AttachedDisk_Architecture
  pattern AttachedDisk_Architecture_X86_64 = AttachedDisk_Architecture "X86_64"
  
  {-# COMPLETE
    AttachedDisk_Architecture_ARCHITECTUREUNSPECIFIED,
    AttachedDisk_Architecture_ARM64,
    AttachedDisk_Architecture_X86_64,
    AttachedDisk_Architecture
    #-}
  
  -- | Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.
  newtype AttachedDisk_Interface = AttachedDisk_Interface {fromAttachedDisk_Interface :: 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
      )
  
  pattern AttachedDisk_Interface_Nvme :: AttachedDisk_Interface
  pattern AttachedDisk_Interface_Nvme = AttachedDisk_Interface "NVME"
  
  pattern AttachedDisk_Interface_Scsi :: AttachedDisk_Interface
  pattern AttachedDisk_Interface_Scsi = AttachedDisk_Interface "SCSI"
  
  {-# COMPLETE
    AttachedDisk_Interface_Nvme,
    AttachedDisk_Interface_Scsi,
    AttachedDisk_Interface
    #-}
  
  -- | The mode in which to attach this disk, either READ/WRITE or READ/ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
  newtype AttachedDisk_Mode = AttachedDisk_Mode {fromAttachedDisk_Mode :: 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
      )
  
  -- | Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.
  pattern AttachedDisk_Mode_READONLY :: AttachedDisk_Mode
  pattern AttachedDisk_Mode_READONLY = AttachedDisk_Mode "READ_ONLY"
  
  -- | /[Default]/ Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.
  pattern AttachedDisk_Mode_READWRITE :: AttachedDisk_Mode
  pattern AttachedDisk_Mode_READWRITE = AttachedDisk_Mode "READ_WRITE"
  
  {-# COMPLETE
    AttachedDisk_Mode_READONLY,
    AttachedDisk_Mode_READWRITE,
    AttachedDisk_Mode
    #-}
  
  -- | For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard/local/ssd option on Stop\/Suspend). Read-only in the api.
  newtype AttachedDisk_SavedState = AttachedDisk_SavedState {fromAttachedDisk_SavedState :: 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
      )
  
  -- | /[Default]/ Disk state has not been preserved.
  pattern AttachedDisk_SavedState_DISKSAVEDSTATEUNSPECIFIED :: AttachedDisk_SavedState
  pattern AttachedDisk_SavedState_DISKSAVEDSTATEUNSPECIFIED = AttachedDisk_SavedState "DISK_SAVED_STATE_UNSPECIFIED"
  
  -- | Disk state has been preserved.
  pattern AttachedDisk_SavedState_Preserved :: AttachedDisk_SavedState
  pattern AttachedDisk_SavedState_Preserved = AttachedDisk_SavedState "PRESERVED"
  
  {-# COMPLETE
    AttachedDisk_SavedState_DISKSAVEDSTATEUNSPECIFIED,
    AttachedDisk_SavedState_Preserved,
    AttachedDisk_SavedState
    #-}
  
  -- | Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.
  newtype AttachedDisk_Type = AttachedDisk_Type {fromAttachedDisk_Type :: 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
      )
  
  pattern AttachedDisk_Type_Persistent :: AttachedDisk_Type
  pattern AttachedDisk_Type_Persistent = AttachedDisk_Type "PERSISTENT"
  
  pattern AttachedDisk_Type_Scratch :: AttachedDisk_Type
  pattern AttachedDisk_Type_Scratch = AttachedDisk_Type "SCRATCH"
  
  {-# COMPLETE
    AttachedDisk_Type_Persistent,
    AttachedDisk_Type_Scratch,
    AttachedDisk_Type
    #-}
  
  -- | The architecture of the attached disk. Valid values are arm64 or x86_64.
  newtype AttachedDiskInitializeParams_Architecture = AttachedDiskInitializeParams_Architecture {fromAttachedDiskInitializeParams_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern AttachedDiskInitializeParams_Architecture_ARCHITECTUREUNSPECIFIED :: AttachedDiskInitializeParams_Architecture
  pattern AttachedDiskInitializeParams_Architecture_ARCHITECTUREUNSPECIFIED = AttachedDiskInitializeParams_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern AttachedDiskInitializeParams_Architecture_ARM64 :: AttachedDiskInitializeParams_Architecture
  pattern AttachedDiskInitializeParams_Architecture_ARM64 = AttachedDiskInitializeParams_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern AttachedDiskInitializeParams_Architecture_X86_64 :: AttachedDiskInitializeParams_Architecture
  pattern AttachedDiskInitializeParams_Architecture_X86_64 = AttachedDiskInitializeParams_Architecture "X86_64"
  
  {-# COMPLETE
    AttachedDiskInitializeParams_Architecture_ARCHITECTUREUNSPECIFIED,
    AttachedDiskInitializeParams_Architecture_ARM64,
    AttachedDiskInitializeParams_Architecture_X86_64,
    AttachedDiskInitializeParams_Architecture
    #-}
  
  -- | Specifies which action to take on instance update with this disk. Default is to use the existing disk.
  newtype AttachedDiskInitializeParams_OnUpdateAction = AttachedDiskInitializeParams_OnUpdateAction {fromAttachedDiskInitializeParams_OnUpdateAction :: 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
      )
  
  -- | Always recreate the disk.
  pattern AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISK :: AttachedDiskInitializeParams_OnUpdateAction
  pattern AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISK = AttachedDiskInitializeParams_OnUpdateAction "RECREATE_DISK"
  
  -- | Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.
  pattern AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISKIFSOURCECHANGED :: AttachedDiskInitializeParams_OnUpdateAction
  pattern AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISKIFSOURCECHANGED = AttachedDiskInitializeParams_OnUpdateAction "RECREATE_DISK_IF_SOURCE_CHANGED"
  
  -- | Use the existing disk, this is the default behaviour.
  pattern AttachedDiskInitializeParams_OnUpdateAction_USEEXISTINGDISK :: AttachedDiskInitializeParams_OnUpdateAction
  pattern AttachedDiskInitializeParams_OnUpdateAction_USEEXISTINGDISK = AttachedDiskInitializeParams_OnUpdateAction "USE_EXISTING_DISK"
  
  {-# COMPLETE
    AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISK,
    AttachedDiskInitializeParams_OnUpdateAction_RECREATEDISKIFSOURCECHANGED,
    AttachedDiskInitializeParams_OnUpdateAction_USEEXISTINGDISK,
    AttachedDiskInitializeParams_OnUpdateAction
    #-}
  
  -- | The log type that this config enables.
  newtype AuditLogConfig_LogType = AuditLogConfig_LogType {fromAuditLogConfig_LogType :: 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
      )
  
  -- | Admin reads. Example: CloudIAM getIamPolicy
  pattern AuditLogConfig_LogType_ADMINREAD :: AuditLogConfig_LogType
  pattern AuditLogConfig_LogType_ADMINREAD = AuditLogConfig_LogType "ADMIN_READ"
  
  -- | Data reads. Example: CloudSQL Users list
  pattern AuditLogConfig_LogType_DATAREAD :: AuditLogConfig_LogType
  pattern AuditLogConfig_LogType_DATAREAD = AuditLogConfig_LogType "DATA_READ"
  
  -- | Data writes. Example: CloudSQL Users create
  pattern AuditLogConfig_LogType_DATAWRITE :: AuditLogConfig_LogType
  pattern AuditLogConfig_LogType_DATAWRITE = AuditLogConfig_LogType "DATA_WRITE"
  
  -- | Default case. Should never be this.
  pattern AuditLogConfig_LogType_LOGTYPEUNSPECIFIED :: AuditLogConfig_LogType
  pattern AuditLogConfig_LogType_LOGTYPEUNSPECIFIED = AuditLogConfig_LogType "LOG_TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    AuditLogConfig_LogType_ADMINREAD,
    AuditLogConfig_LogType_DATAREAD,
    AuditLogConfig_LogType_DATAWRITE,
    AuditLogConfig_LogType_LOGTYPEUNSPECIFIED,
    AuditLogConfig_LogType
    #-}
  
  -- | [Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn\'t read new\/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.
  newtype Autoscaler_Status = Autoscaler_Status {fromAutoscaler_Status :: 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
      )
  
  -- | Configuration is acknowledged to be effective
  pattern Autoscaler_Status_Active :: Autoscaler_Status
  pattern Autoscaler_Status_Active = Autoscaler_Status "ACTIVE"
  
  -- | Configuration is being deleted
  pattern Autoscaler_Status_Deleting :: Autoscaler_Status
  pattern Autoscaler_Status_Deleting = Autoscaler_Status "DELETING"
  
  -- | Configuration has errors. Actionable for users.
  pattern Autoscaler_Status_Error' :: Autoscaler_Status
  pattern Autoscaler_Status_Error' = Autoscaler_Status "ERROR"
  
  -- | Autoscaler backend hasn\'t read new\/updated configuration
  pattern Autoscaler_Status_Pending :: Autoscaler_Status
  pattern Autoscaler_Status_Pending = Autoscaler_Status "PENDING"
  
  {-# COMPLETE
    Autoscaler_Status_Active,
    Autoscaler_Status_Deleting,
    Autoscaler_Status_Error',
    Autoscaler_Status_Pending,
    Autoscaler_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AutoscalerAggregatedList_Warning_Code = AutoscalerAggregatedList_Warning_Code {fromAutoscalerAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AutoscalerAggregatedList_Warning_Code_CLEANUPFAILED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_CLEANUPFAILED = AutoscalerAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AutoscalerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = AutoscalerAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AutoscalerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = AutoscalerAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AutoscalerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AutoscalerAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AutoscalerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = AutoscalerAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AutoscalerAggregatedList_Warning_Code_EXTERNALAPIWARNING :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_EXTERNALAPIWARNING = AutoscalerAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AutoscalerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = AutoscalerAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AutoscalerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AutoscalerAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AutoscalerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AutoscalerAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AutoscalerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = AutoscalerAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AutoscalerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AutoscalerAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AutoscalerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = AutoscalerAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = AutoscalerAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AutoscalerAggregatedList_Warning_Code_NOTCRITICALERROR :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NOTCRITICALERROR = AutoscalerAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AutoscalerAggregatedList_Warning_Code_NORESULTSONPAGE :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_NORESULTSONPAGE = AutoscalerAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AutoscalerAggregatedList_Warning_Code_PARTIALSUCCESS :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_PARTIALSUCCESS = AutoscalerAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AutoscalerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = AutoscalerAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AutoscalerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = AutoscalerAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AutoscalerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AutoscalerAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AutoscalerAggregatedList_Warning_Code_RESOURCENOTDELETED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_RESOURCENOTDELETED = AutoscalerAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AutoscalerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AutoscalerAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AutoscalerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AutoscalerAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AutoscalerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = AutoscalerAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AutoscalerAggregatedList_Warning_Code_Unreachable :: AutoscalerAggregatedList_Warning_Code
  pattern AutoscalerAggregatedList_Warning_Code_Unreachable = AutoscalerAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AutoscalerAggregatedList_Warning_Code_CLEANUPFAILED,
    AutoscalerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AutoscalerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    AutoscalerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AutoscalerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AutoscalerAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    AutoscalerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AutoscalerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AutoscalerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AutoscalerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AutoscalerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AutoscalerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AutoscalerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    AutoscalerAggregatedList_Warning_Code_NOTCRITICALERROR,
    AutoscalerAggregatedList_Warning_Code_NORESULTSONPAGE,
    AutoscalerAggregatedList_Warning_Code_PARTIALSUCCESS,
    AutoscalerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AutoscalerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AutoscalerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AutoscalerAggregatedList_Warning_Code_RESOURCENOTDELETED,
    AutoscalerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AutoscalerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AutoscalerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    AutoscalerAggregatedList_Warning_Code_Unreachable,
    AutoscalerAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AutoscalerList_Warning_Code = AutoscalerList_Warning_Code {fromAutoscalerList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AutoscalerList_Warning_Code_CLEANUPFAILED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_CLEANUPFAILED = AutoscalerList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED = AutoscalerList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AutoscalerList_Warning_Code_DEPRECATEDTYPEUSED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_DEPRECATEDTYPEUSED = AutoscalerList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AutoscalerList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED = AutoscalerList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AutoscalerList_Warning_Code_EXTERNALAPIWARNING :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_EXTERNALAPIWARNING = AutoscalerList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN = AutoscalerList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED = AutoscalerList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AutoscalerList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING = AutoscalerList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AutoscalerList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY = AutoscalerList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AutoscalerList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AutoscalerList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AutoscalerList_Warning_Code_NEXTHOPNOTRUNNING :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NEXTHOPNOTRUNNING = AutoscalerList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AutoscalerList_Warning_Code_NOTCRITICALERROR :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NOTCRITICALERROR = AutoscalerList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AutoscalerList_Warning_Code_NORESULTSONPAGE :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_NORESULTSONPAGE = AutoscalerList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AutoscalerList_Warning_Code_PARTIALSUCCESS :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_PARTIALSUCCESS = AutoscalerList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE = AutoscalerList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT = AutoscalerList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AutoscalerList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AutoscalerList_Warning_Code_RESOURCENOTDELETED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_RESOURCENOTDELETED = AutoscalerList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED = AutoscalerList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AutoscalerList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AutoscalerList_Warning_Code_UNDECLAREDPROPERTIES :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_UNDECLAREDPROPERTIES = AutoscalerList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AutoscalerList_Warning_Code_Unreachable :: AutoscalerList_Warning_Code
  pattern AutoscalerList_Warning_Code_Unreachable = AutoscalerList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AutoscalerList_Warning_Code_CLEANUPFAILED,
    AutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AutoscalerList_Warning_Code_DEPRECATEDTYPEUSED,
    AutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED,
    AutoscalerList_Warning_Code_EXTERNALAPIWARNING,
    AutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN,
    AutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AutoscalerList_Warning_Code_NEXTHOPNOTRUNNING,
    AutoscalerList_Warning_Code_NOTCRITICALERROR,
    AutoscalerList_Warning_Code_NORESULTSONPAGE,
    AutoscalerList_Warning_Code_PARTIALSUCCESS,
    AutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT,
    AutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AutoscalerList_Warning_Code_RESOURCENOTDELETED,
    AutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AutoscalerList_Warning_Code_UNDECLAREDPROPERTIES,
    AutoscalerList_Warning_Code_Unreachable,
    AutoscalerList_Warning_Code
    #-}
  
  -- | The type of error, warning, or notice returned. Current set of possible values: - ALL/INSTANCES/UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND/SERVICE/DOES/NOT/EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED/AT/MAX/NUM/REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM/METRIC/DATA/POINTS/TOO/SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM/METRIC/INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN/EQUALS/MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING/CUSTOM/METRIC/DATA/POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING/LOAD/BALANCING/DATA/POINTS (WARNING): The autoscaler is
  -- configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE/OFF (WARNING): Autoscaling is turned off. The number of instances in the group won\'t change automatically. The autoscaling configuration is preserved. - MODE/ONLY/UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE/THAN/ONE/BACKEND/SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT/ENOUGH/QUOTA/AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION/RESOURCE/STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING/TARGET/DOES/NOT/EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED/MAX/RATE/LOAD/BALANCING/CONFIGURATION (ERROR): Autoscaling does not work with an HTTP\/S load balancer that has
  -- been configured for maxRate. - ZONE/RESOURCE/STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you\'re using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.
  newtype AutoscalerStatusDetails_Type = AutoscalerStatusDetails_Type {fromAutoscalerStatusDetails_Type :: 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
      )
  
  -- | All instances in the instance group are unhealthy (not in RUNNING state).
  pattern AutoscalerStatusDetails_Type_ALLINSTANCESUNHEALTHY :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_ALLINSTANCESUNHEALTHY = AutoscalerStatusDetails_Type "ALL_INSTANCES_UNHEALTHY"
  
  -- | There is no backend service attached to the instance group.
  pattern AutoscalerStatusDetails_Type_BACKENDSERVICEDOESNOTEXIST :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_BACKENDSERVICEDOESNOTEXIST = AutoscalerStatusDetails_Type "BACKEND_SERVICE_DOES_NOT_EXIST"
  
  -- | Autoscaler recommends a size greater than maxNumReplicas.
  pattern AutoscalerStatusDetails_Type_CAPPEDATMAXNUMREPLICAS :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_CAPPEDATMAXNUMREPLICAS = AutoscalerStatusDetails_Type "CAPPED_AT_MAX_NUM_REPLICAS"
  
  -- | The custom metric samples are not exported often enough to be a credible base for autoscaling.
  pattern AutoscalerStatusDetails_Type_CUSTOMMETRICDATAPOINTSTOOSPARSE :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_CUSTOMMETRICDATAPOINTSTOOSPARSE = AutoscalerStatusDetails_Type "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE"
  
  -- | The custom metric that was specified does not exist or does not have the necessary labels.
  pattern AutoscalerStatusDetails_Type_CUSTOMMETRICINVALID :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_CUSTOMMETRICINVALID = AutoscalerStatusDetails_Type "CUSTOM_METRIC_INVALID"
  
  -- | The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.
  pattern AutoscalerStatusDetails_Type_MINEQUALSMAX :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MINEQUALSMAX = AutoscalerStatusDetails_Type "MIN_EQUALS_MAX"
  
  -- | The autoscaler did not receive any data from the custom metric configured for autoscaling.
  pattern AutoscalerStatusDetails_Type_MISSINGCUSTOMMETRICDATAPOINTS :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MISSINGCUSTOMMETRICDATAPOINTS = AutoscalerStatusDetails_Type "MISSING_CUSTOM_METRIC_DATA_POINTS"
  
  -- | The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.
  pattern AutoscalerStatusDetails_Type_MISSINGLOADBALANCINGDATAPOINTS :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MISSINGLOADBALANCINGDATAPOINTS = AutoscalerStatusDetails_Type "MISSING_LOAD_BALANCING_DATA_POINTS"
  
  -- | Autoscaling is turned off. The number of instances in the group won\'t change automatically. The autoscaling configuration is preserved.
  pattern AutoscalerStatusDetails_Type_MODEOFF :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MODEOFF = AutoscalerStatusDetails_Type "MODE_OFF"
  
  -- | Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.
  pattern AutoscalerStatusDetails_Type_MODEONLYSCALEOUT :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MODEONLYSCALEOUT = AutoscalerStatusDetails_Type "MODE_ONLY_SCALE_OUT"
  
  -- | Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.
  pattern AutoscalerStatusDetails_Type_MODEONLYUP :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MODEONLYUP = AutoscalerStatusDetails_Type "MODE_ONLY_UP"
  
  -- | The instance group cannot be autoscaled because it has more than one backend service attached to it.
  pattern AutoscalerStatusDetails_Type_MORETHANONEBACKENDSERVICE :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_MORETHANONEBACKENDSERVICE = AutoscalerStatusDetails_Type "MORE_THAN_ONE_BACKEND_SERVICE"
  
  -- | There is insufficient quota for the necessary resources, such as CPU or number of instances.
  pattern AutoscalerStatusDetails_Type_NOTENOUGHQUOTAAVAILABLE :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_NOTENOUGHQUOTAAVAILABLE = AutoscalerStatusDetails_Type "NOT_ENOUGH_QUOTA_AVAILABLE"
  
  -- | Showed only for regional autoscalers: there is a resource stockout in the chosen region.
  pattern AutoscalerStatusDetails_Type_REGIONRESOURCESTOCKOUT :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_REGIONRESOURCESTOCKOUT = AutoscalerStatusDetails_Type "REGION_RESOURCE_STOCKOUT"
  
  -- | The target to be scaled does not exist.
  pattern AutoscalerStatusDetails_Type_SCALINGTARGETDOESNOTEXIST :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_SCALINGTARGETDOESNOTEXIST = AutoscalerStatusDetails_Type "SCALING_TARGET_DOES_NOT_EXIST"
  
  -- | For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.
  pattern AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESGREATERTHANAUTOSCALERMAX :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESGREATERTHANAUTOSCALERMAX = AutoscalerStatusDetails_Type "SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX"
  
  -- | For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.
  pattern AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESLESSTHANAUTOSCALERMIN :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESLESSTHANAUTOSCALERMIN = AutoscalerStatusDetails_Type "SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN"
  
  pattern AutoscalerStatusDetails_Type_Unknown :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_Unknown = AutoscalerStatusDetails_Type "UNKNOWN"
  
  -- | Autoscaling does not work with an HTTP\/S load balancer that has been configured for maxRate.
  pattern AutoscalerStatusDetails_Type_UNSUPPORTEDMAXRATELOADBALANCINGCONFIGURATION :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_UNSUPPORTEDMAXRATELOADBALANCINGCONFIGURATION = AutoscalerStatusDetails_Type "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION"
  
  -- | For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you\'re using there is a resource stockout.
  pattern AutoscalerStatusDetails_Type_ZONERESOURCESTOCKOUT :: AutoscalerStatusDetails_Type
  pattern AutoscalerStatusDetails_Type_ZONERESOURCESTOCKOUT = AutoscalerStatusDetails_Type "ZONE_RESOURCE_STOCKOUT"
  
  {-# COMPLETE
    AutoscalerStatusDetails_Type_ALLINSTANCESUNHEALTHY,
    AutoscalerStatusDetails_Type_BACKENDSERVICEDOESNOTEXIST,
    AutoscalerStatusDetails_Type_CAPPEDATMAXNUMREPLICAS,
    AutoscalerStatusDetails_Type_CUSTOMMETRICDATAPOINTSTOOSPARSE,
    AutoscalerStatusDetails_Type_CUSTOMMETRICINVALID,
    AutoscalerStatusDetails_Type_MINEQUALSMAX,
    AutoscalerStatusDetails_Type_MISSINGCUSTOMMETRICDATAPOINTS,
    AutoscalerStatusDetails_Type_MISSINGLOADBALANCINGDATAPOINTS,
    AutoscalerStatusDetails_Type_MODEOFF,
    AutoscalerStatusDetails_Type_MODEONLYSCALEOUT,
    AutoscalerStatusDetails_Type_MODEONLYUP,
    AutoscalerStatusDetails_Type_MORETHANONEBACKENDSERVICE,
    AutoscalerStatusDetails_Type_NOTENOUGHQUOTAAVAILABLE,
    AutoscalerStatusDetails_Type_REGIONRESOURCESTOCKOUT,
    AutoscalerStatusDetails_Type_SCALINGTARGETDOESNOTEXIST,
    AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESGREATERTHANAUTOSCALERMAX,
    AutoscalerStatusDetails_Type_SCHEDULEDINSTANCESLESSTHANAUTOSCALERMIN,
    AutoscalerStatusDetails_Type_Unknown,
    AutoscalerStatusDetails_Type_UNSUPPORTEDMAXRATELOADBALANCINGCONFIGURATION,
    AutoscalerStatusDetails_Type_ZONERESOURCESTOCKOUT,
    AutoscalerStatusDetails_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype AutoscalersScopedList_Warning_Code = AutoscalersScopedList_Warning_Code {fromAutoscalersScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern AutoscalersScopedList_Warning_Code_CLEANUPFAILED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_CLEANUPFAILED = AutoscalersScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern AutoscalersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = AutoscalersScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern AutoscalersScopedList_Warning_Code_DEPRECATEDTYPEUSED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_DEPRECATEDTYPEUSED = AutoscalersScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern AutoscalersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = AutoscalersScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern AutoscalersScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_EXPERIMENTALTYPEUSED = AutoscalersScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern AutoscalersScopedList_Warning_Code_EXTERNALAPIWARNING :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_EXTERNALAPIWARNING = AutoscalersScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern AutoscalersScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_FIELDVALUEOVERRIDEN = AutoscalersScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern AutoscalersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = AutoscalersScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern AutoscalersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = AutoscalersScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern AutoscalersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = AutoscalersScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern AutoscalersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = AutoscalersScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern AutoscalersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = AutoscalersScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = AutoscalersScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = AutoscalersScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = AutoscalersScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = AutoscalersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = AutoscalersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPNOTRUNNING :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NEXTHOPNOTRUNNING = AutoscalersScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern AutoscalersScopedList_Warning_Code_NOTCRITICALERROR :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NOTCRITICALERROR = AutoscalersScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern AutoscalersScopedList_Warning_Code_NORESULTSONPAGE :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_NORESULTSONPAGE = AutoscalersScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern AutoscalersScopedList_Warning_Code_PARTIALSUCCESS :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_PARTIALSUCCESS = AutoscalersScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern AutoscalersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = AutoscalersScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern AutoscalersScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_REQUIREDTOSAGREEMENT = AutoscalersScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern AutoscalersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = AutoscalersScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern AutoscalersScopedList_Warning_Code_RESOURCENOTDELETED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_RESOURCENOTDELETED = AutoscalersScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern AutoscalersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = AutoscalersScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern AutoscalersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = AutoscalersScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern AutoscalersScopedList_Warning_Code_UNDECLAREDPROPERTIES :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_UNDECLAREDPROPERTIES = AutoscalersScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern AutoscalersScopedList_Warning_Code_Unreachable :: AutoscalersScopedList_Warning_Code
  pattern AutoscalersScopedList_Warning_Code_Unreachable = AutoscalersScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    AutoscalersScopedList_Warning_Code_CLEANUPFAILED,
    AutoscalersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    AutoscalersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    AutoscalersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    AutoscalersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    AutoscalersScopedList_Warning_Code_EXTERNALAPIWARNING,
    AutoscalersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    AutoscalersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    AutoscalersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    AutoscalersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    AutoscalersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    AutoscalersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    AutoscalersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    AutoscalersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    AutoscalersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    AutoscalersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    AutoscalersScopedList_Warning_Code_NOTCRITICALERROR,
    AutoscalersScopedList_Warning_Code_NORESULTSONPAGE,
    AutoscalersScopedList_Warning_Code_PARTIALSUCCESS,
    AutoscalersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    AutoscalersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    AutoscalersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    AutoscalersScopedList_Warning_Code_RESOURCENOTDELETED,
    AutoscalersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    AutoscalersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    AutoscalersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    AutoscalersScopedList_Warning_Code_Unreachable,
    AutoscalersScopedList_Warning_Code
    #-}
  
  -- | Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY/SCALE/OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"
  newtype AutoscalingPolicy_Mode = AutoscalingPolicy_Mode {fromAutoscalingPolicy_Mode :: 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
      )
  
  -- | Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.
  pattern AutoscalingPolicy_Mode_Off :: AutoscalingPolicy_Mode
  pattern AutoscalingPolicy_Mode_Off = AutoscalingPolicy_Mode "OFF"
  
  -- | Automatically scale the MIG in and out according to the policy.
  pattern AutoscalingPolicy_Mode_ON :: AutoscalingPolicy_Mode
  pattern AutoscalingPolicy_Mode_ON = AutoscalingPolicy_Mode "ON"
  
  -- | Automatically create VMs according to the policy, but do not scale the MIG in.
  pattern AutoscalingPolicy_Mode_ONLYSCALEOUT :: AutoscalingPolicy_Mode
  pattern AutoscalingPolicy_Mode_ONLYSCALEOUT = AutoscalingPolicy_Mode "ONLY_SCALE_OUT"
  
  -- | Automatically create VMs according to the policy, but do not scale the MIG in.
  pattern AutoscalingPolicy_Mode_ONLYUP :: AutoscalingPolicy_Mode
  pattern AutoscalingPolicy_Mode_ONLYUP = AutoscalingPolicy_Mode "ONLY_UP"
  
  {-# COMPLETE
    AutoscalingPolicy_Mode_Off,
    AutoscalingPolicy_Mode_ON,
    AutoscalingPolicy_Mode_ONLYSCALEOUT,
    AutoscalingPolicy_Mode_ONLYUP,
    AutoscalingPolicy_Mode
    #-}
  
  -- | Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.
  newtype AutoscalingPolicyCpuUtilization_PredictiveMethod = AutoscalingPolicyCpuUtilization_PredictiveMethod {fromAutoscalingPolicyCpuUtilization_PredictiveMethod :: 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
      )
  
  -- | No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics
  pattern AutoscalingPolicyCpuUtilization_PredictiveMethod_None :: AutoscalingPolicyCpuUtilization_PredictiveMethod
  pattern AutoscalingPolicyCpuUtilization_PredictiveMethod_None = AutoscalingPolicyCpuUtilization_PredictiveMethod "NONE"
  
  -- | Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.
  pattern AutoscalingPolicyCpuUtilization_PredictiveMethod_OPTIMIZEAVAILABILITY :: AutoscalingPolicyCpuUtilization_PredictiveMethod
  pattern AutoscalingPolicyCpuUtilization_PredictiveMethod_OPTIMIZEAVAILABILITY = AutoscalingPolicyCpuUtilization_PredictiveMethod "OPTIMIZE_AVAILABILITY"
  
  {-# COMPLETE
    AutoscalingPolicyCpuUtilization_PredictiveMethod_None,
    AutoscalingPolicyCpuUtilization_PredictiveMethod_OPTIMIZEAVAILABILITY,
    AutoscalingPolicyCpuUtilization_PredictiveMethod
    #-}
  
  -- | Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA/PER/SECOND, or DELTA/PER/MINUTE.
  newtype AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType = AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType {fromAutoscalingPolicyCustomMetricUtilization_UtilizationTargetType :: 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
      )
  
  -- | Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERMINUTE :: AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERMINUTE = AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType "DELTA_PER_MINUTE"
  
  -- | Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERSECOND :: AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERSECOND = AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType "DELTA_PER_SECOND"
  
  -- | Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling.
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_Gauge :: AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
  pattern AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_Gauge = AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType "GAUGE"
  
  {-# COMPLETE
    AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERMINUTE,
    AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_DELTAPERSECOND,
    AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType_Gauge,
    AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType
    #-}
  
  -- | Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.
  newtype Backend_BalancingMode = Backend_BalancingMode {fromBackend_BalancingMode :: 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
      )
  
  -- | Balance based on the number of simultaneous connections.
  pattern Backend_BalancingMode_Connection :: Backend_BalancingMode
  pattern Backend_BalancingMode_Connection = Backend_BalancingMode "CONNECTION"
  
  -- | Based on custom defined and reported metrics.
  pattern Backend_BalancingMode_CUSTOMMETRICS :: Backend_BalancingMode
  pattern Backend_BalancingMode_CUSTOMMETRICS = Backend_BalancingMode "CUSTOM_METRICS"
  
  -- | Balance based on requests per second (RPS).
  pattern Backend_BalancingMode_Rate :: Backend_BalancingMode
  pattern Backend_BalancingMode_Rate = Backend_BalancingMode "RATE"
  
  -- | Balance based on the backend utilization.
  pattern Backend_BalancingMode_Utilization :: Backend_BalancingMode
  pattern Backend_BalancingMode_Utilization = Backend_BalancingMode "UTILIZATION"
  
  {-# COMPLETE
    Backend_BalancingMode_Connection,
    Backend_BalancingMode_CUSTOMMETRICS,
    Backend_BalancingMode_Rate,
    Backend_BalancingMode_Utilization,
    Backend_BalancingMode
    #-}
  
  -- | This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don\'t have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default
  newtype Backend_Preference = Backend_Preference {fromBackend_Preference :: 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
      )
  
  -- | No preference.
  pattern Backend_Preference_Default :: Backend_Preference
  pattern Backend_Preference_Default = Backend_Preference "DEFAULT"
  
  -- | If preference is unspecified, we set it to the DEFAULT value
  pattern Backend_Preference_PREFERENCEUNSPECIFIED :: Backend_Preference
  pattern Backend_Preference_PREFERENCEUNSPECIFIED = Backend_Preference "PREFERENCE_UNSPECIFIED"
  
  -- | Traffic will be sent to this backend first.
  pattern Backend_Preference_Preferred :: Backend_Preference
  pattern Backend_Preference_Preferred = Backend_Preference "PREFERRED"
  
  {-# COMPLETE
    Backend_Preference_Default,
    Backend_Preference_PREFERENCEUNSPECIFIED,
    Backend_Preference_Preferred,
    Backend_Preference
    #-}
  
  -- | Compress text responses using Brotli or gzip compression, based on the client\'s Accept-Encoding header.
  newtype BackendBucket_CompressionMode = BackendBucket_CompressionMode {fromBackendBucket_CompressionMode :: 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
      )
  
  -- | Automatically uses the best compression based on the Accept-Encoding header sent by the client.
  pattern BackendBucket_CompressionMode_Automatic :: BackendBucket_CompressionMode
  pattern BackendBucket_CompressionMode_Automatic = BackendBucket_CompressionMode "AUTOMATIC"
  
  -- | Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients.
  pattern BackendBucket_CompressionMode_Disabled :: BackendBucket_CompressionMode
  pattern BackendBucket_CompressionMode_Disabled = BackendBucket_CompressionMode "DISABLED"
  
  {-# COMPLETE
    BackendBucket_CompressionMode_Automatic,
    BackendBucket_CompressionMode_Disabled,
    BackendBucket_CompressionMode
    #-}
  
  -- | Specifies the cache setting for all responses from this backend. The possible values are: USE/ORIGIN/HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google\'s edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE/CACHE/ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE/ALL/STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE/ALL/STATIC.
  newtype BackendBucketCdnPolicy_CacheMode = BackendBucketCdnPolicy_CacheMode {fromBackendBucketCdnPolicy_CacheMode :: 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
      )
  
  -- | Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.
  pattern BackendBucketCdnPolicy_CacheMode_CACHEALLSTATIC :: BackendBucketCdnPolicy_CacheMode
  pattern BackendBucketCdnPolicy_CacheMode_CACHEALLSTATIC = BackendBucketCdnPolicy_CacheMode "CACHE_ALL_STATIC"
  
  -- | Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.
  pattern BackendBucketCdnPolicy_CacheMode_FORCECACHEALL :: BackendBucketCdnPolicy_CacheMode
  pattern BackendBucketCdnPolicy_CacheMode_FORCECACHEALL = BackendBucketCdnPolicy_CacheMode "FORCE_CACHE_ALL"
  
  pattern BackendBucketCdnPolicy_CacheMode_INVALIDCACHEMODE :: BackendBucketCdnPolicy_CacheMode
  pattern BackendBucketCdnPolicy_CacheMode_INVALIDCACHEMODE = BackendBucketCdnPolicy_CacheMode "INVALID_CACHE_MODE"
  
  -- | Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google\'s edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server.
  pattern BackendBucketCdnPolicy_CacheMode_USEORIGINHEADERS :: BackendBucketCdnPolicy_CacheMode
  pattern BackendBucketCdnPolicy_CacheMode_USEORIGINHEADERS = BackendBucketCdnPolicy_CacheMode "USE_ORIGIN_HEADERS"
  
  {-# COMPLETE
    BackendBucketCdnPolicy_CacheMode_CACHEALLSTATIC,
    BackendBucketCdnPolicy_CacheMode_FORCECACHEALL,
    BackendBucketCdnPolicy_CacheMode_INVALIDCACHEMODE,
    BackendBucketCdnPolicy_CacheMode_USEORIGINHEADERS,
    BackendBucketCdnPolicy_CacheMode
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype BackendBucketList_Warning_Code = BackendBucketList_Warning_Code {fromBackendBucketList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern BackendBucketList_Warning_Code_CLEANUPFAILED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_CLEANUPFAILED = BackendBucketList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern BackendBucketList_Warning_Code_DEPRECATEDRESOURCEUSED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_DEPRECATEDRESOURCEUSED = BackendBucketList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern BackendBucketList_Warning_Code_DEPRECATEDTYPEUSED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_DEPRECATEDTYPEUSED = BackendBucketList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern BackendBucketList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = BackendBucketList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern BackendBucketList_Warning_Code_EXPERIMENTALTYPEUSED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_EXPERIMENTALTYPEUSED = BackendBucketList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern BackendBucketList_Warning_Code_EXTERNALAPIWARNING :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_EXTERNALAPIWARNING = BackendBucketList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern BackendBucketList_Warning_Code_FIELDVALUEOVERRIDEN :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_FIELDVALUEOVERRIDEN = BackendBucketList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern BackendBucketList_Warning_Code_INJECTEDKERNELSDEPRECATED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_INJECTEDKERNELSDEPRECATED = BackendBucketList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern BackendBucketList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = BackendBucketList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern BackendBucketList_Warning_Code_LARGEDEPLOYMENTWARNING :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_LARGEDEPLOYMENTWARNING = BackendBucketList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern BackendBucketList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_LISTOVERHEADQUOTAEXCEED = BackendBucketList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern BackendBucketList_Warning_Code_MISSINGTYPEDEPENDENCY :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_MISSINGTYPEDEPENDENCY = BackendBucketList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern BackendBucketList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = BackendBucketList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern BackendBucketList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPCANNOTIPFORWARD = BackendBucketList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = BackendBucketList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTFOUND = BackendBucketList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = BackendBucketList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern BackendBucketList_Warning_Code_NEXTHOPNOTRUNNING :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NEXTHOPNOTRUNNING = BackendBucketList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern BackendBucketList_Warning_Code_NOTCRITICALERROR :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NOTCRITICALERROR = BackendBucketList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern BackendBucketList_Warning_Code_NORESULTSONPAGE :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_NORESULTSONPAGE = BackendBucketList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern BackendBucketList_Warning_Code_PARTIALSUCCESS :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_PARTIALSUCCESS = BackendBucketList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern BackendBucketList_Warning_Code_QUOTAINFOUNAVAILABLE :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_QUOTAINFOUNAVAILABLE = BackendBucketList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern BackendBucketList_Warning_Code_REQUIREDTOSAGREEMENT :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_REQUIREDTOSAGREEMENT = BackendBucketList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern BackendBucketList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = BackendBucketList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern BackendBucketList_Warning_Code_RESOURCENOTDELETED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_RESOURCENOTDELETED = BackendBucketList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern BackendBucketList_Warning_Code_SCHEMAVALIDATIONIGNORED :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_SCHEMAVALIDATIONIGNORED = BackendBucketList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern BackendBucketList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = BackendBucketList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern BackendBucketList_Warning_Code_UNDECLAREDPROPERTIES :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_UNDECLAREDPROPERTIES = BackendBucketList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern BackendBucketList_Warning_Code_Unreachable :: BackendBucketList_Warning_Code
  pattern BackendBucketList_Warning_Code_Unreachable = BackendBucketList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    BackendBucketList_Warning_Code_CLEANUPFAILED,
    BackendBucketList_Warning_Code_DEPRECATEDRESOURCEUSED,
    BackendBucketList_Warning_Code_DEPRECATEDTYPEUSED,
    BackendBucketList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    BackendBucketList_Warning_Code_EXPERIMENTALTYPEUSED,
    BackendBucketList_Warning_Code_EXTERNALAPIWARNING,
    BackendBucketList_Warning_Code_FIELDVALUEOVERRIDEN,
    BackendBucketList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    BackendBucketList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    BackendBucketList_Warning_Code_LARGEDEPLOYMENTWARNING,
    BackendBucketList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    BackendBucketList_Warning_Code_MISSINGTYPEDEPENDENCY,
    BackendBucketList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    BackendBucketList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    BackendBucketList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    BackendBucketList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    BackendBucketList_Warning_Code_NEXTHOPNOTRUNNING,
    BackendBucketList_Warning_Code_NOTCRITICALERROR,
    BackendBucketList_Warning_Code_NORESULTSONPAGE,
    BackendBucketList_Warning_Code_PARTIALSUCCESS,
    BackendBucketList_Warning_Code_QUOTAINFOUNAVAILABLE,
    BackendBucketList_Warning_Code_REQUIREDTOSAGREEMENT,
    BackendBucketList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    BackendBucketList_Warning_Code_RESOURCENOTDELETED,
    BackendBucketList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    BackendBucketList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    BackendBucketList_Warning_Code_UNDECLAREDPROPERTIES,
    BackendBucketList_Warning_Code_Unreachable,
    BackendBucketList_Warning_Code
    #-}
  
  -- | Compress text responses using Brotli or gzip compression, based on the client\'s Accept-Encoding header.
  newtype BackendService_CompressionMode = BackendService_CompressionMode {fromBackendService_CompressionMode :: 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
      )
  
  -- | Automatically uses the best compression based on the Accept-Encoding header sent by the client.
  pattern BackendService_CompressionMode_Automatic :: BackendService_CompressionMode
  pattern BackendService_CompressionMode_Automatic = BackendService_CompressionMode "AUTOMATIC"
  
  -- | Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients.
  pattern BackendService_CompressionMode_Disabled :: BackendService_CompressionMode
  pattern BackendService_CompressionMode_Disabled = BackendService_CompressionMode "DISABLED"
  
  {-# COMPLETE
    BackendService_CompressionMode_Automatic,
    BackendService_CompressionMode_Disabled,
    BackendService_CompressionMode
    #-}
  
  -- | Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4/ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER/IPV6: Prioritize the connection to the endpoint\'s IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6/ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL/MANAGED), - Regional external Application Load Balancer, -
  -- Internal proxy Network Load Balancer (load balancing scheme INTERNAL/MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL/MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL/SELF/MANAGED).
  newtype BackendService_IpAddressSelectionPolicy = BackendService_IpAddressSelectionPolicy {fromBackendService_IpAddressSelectionPolicy :: 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
      )
  
  -- | Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.
  pattern BackendService_IpAddressSelectionPolicy_IPV4ONLY :: BackendService_IpAddressSelectionPolicy
  pattern BackendService_IpAddressSelectionPolicy_IPV4ONLY = BackendService_IpAddressSelectionPolicy "IPV4_ONLY"
  
  -- | Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.
  pattern BackendService_IpAddressSelectionPolicy_IPV6ONLY :: BackendService_IpAddressSelectionPolicy
  pattern BackendService_IpAddressSelectionPolicy_IPV6ONLY = BackendService_IpAddressSelectionPolicy "IPV6_ONLY"
  
  -- | Unspecified IP address selection policy.
  pattern BackendService_IpAddressSelectionPolicy_IPADDRESSSELECTIONPOLICYUNSPECIFIED :: BackendService_IpAddressSelectionPolicy
  pattern BackendService_IpAddressSelectionPolicy_IPADDRESSSELECTIONPOLICYUNSPECIFIED = BackendService_IpAddressSelectionPolicy "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED"
  
  -- | Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address).
  pattern BackendService_IpAddressSelectionPolicy_PREFER_IPV6 :: BackendService_IpAddressSelectionPolicy
  pattern BackendService_IpAddressSelectionPolicy_PREFER_IPV6 = BackendService_IpAddressSelectionPolicy "PREFER_IPV6"
  
  {-# COMPLETE
    BackendService_IpAddressSelectionPolicy_IPV4ONLY,
    BackendService_IpAddressSelectionPolicy_IPV6ONLY,
    BackendService_IpAddressSelectionPolicy_IPADDRESSSELECTIONPOLICYUNSPECIFIED,
    BackendService_IpAddressSelectionPolicy_PREFER_IPV6,
    BackendService_IpAddressSelectionPolicy
    #-}
  
  -- | Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.
  newtype BackendService_LoadBalancingScheme = BackendService_LoadBalancingScheme {fromBackendService_LoadBalancingScheme :: 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
      )
  
  -- | Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.
  pattern BackendService_LoadBalancingScheme_External :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_External = BackendService_LoadBalancingScheme "EXTERNAL"
  
  -- | Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.
  pattern BackendService_LoadBalancingScheme_EXTERNALMANAGED :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_EXTERNALMANAGED = BackendService_LoadBalancingScheme "EXTERNAL_MANAGED"
  
  -- | Signifies that this will be used for internal passthrough Network Load Balancers.
  pattern BackendService_LoadBalancingScheme_Internal :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_Internal = BackendService_LoadBalancingScheme "INTERNAL"
  
  -- | Signifies that this will be used for internal Application Load Balancers.
  pattern BackendService_LoadBalancingScheme_INTERNALMANAGED :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_INTERNALMANAGED = BackendService_LoadBalancingScheme "INTERNAL_MANAGED"
  
  -- | Signifies that this will be used by Traffic Director.
  pattern BackendService_LoadBalancingScheme_INTERNALSELFMANAGED :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_INTERNALSELFMANAGED = BackendService_LoadBalancingScheme "INTERNAL_SELF_MANAGED"
  
  pattern BackendService_LoadBalancingScheme_INVALIDLOADBALANCINGSCHEME :: BackendService_LoadBalancingScheme
  pattern BackendService_LoadBalancingScheme_INVALIDLOADBALANCINGSCHEME = BackendService_LoadBalancingScheme "INVALID_LOAD_BALANCING_SCHEME"
  
  {-# COMPLETE
    BackendService_LoadBalancingScheme_External,
    BackendService_LoadBalancingScheme_EXTERNALMANAGED,
    BackendService_LoadBalancingScheme_Internal,
    BackendService_LoadBalancingScheme_INTERNALMANAGED,
    BackendService_LoadBalancingScheme_INTERNALSELFMANAGED,
    BackendService_LoadBalancingScheme_INVALIDLOADBALANCINGSCHEME,
    BackendService_LoadBalancingScheme
    #-}
  
  -- | The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND/ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST/REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING/HASH: The ring\/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition\/removal of a host from a set of N hosts only affects 1\/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL/DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and
  -- host selection times. For more information about Maglev, see https:\/\/ai.google\/research\/pubs\/pub44824 This field is applicable to either: - A regional backend service with the service/protocol set to HTTP, HTTPS, or HTTP2, and load/balancing/scheme set to INTERNAL/MANAGED. - A global backend service with the load/balancing/scheme set to INTERNAL/SELF/MANAGED, INTERNAL/MANAGED, or EXTERNAL/MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND/ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND/ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
  newtype BackendService_LocalityLbPolicy = BackendService_LocalityLbPolicy {fromBackendService_LocalityLbPolicy :: 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
      )
  
  pattern BackendService_LocalityLbPolicy_INVALIDLBPOLICY :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_INVALIDLBPOLICY = BackendService_LocalityLbPolicy "INVALID_LB_POLICY"
  
  -- | An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.
  pattern BackendService_LocalityLbPolicy_LEASTREQUEST :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_LEASTREQUEST = BackendService_LocalityLbPolicy "LEAST_REQUEST"
  
  -- | This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https:\/\/ai.google\/research\/pubs\/pub44824
  pattern BackendService_LocalityLbPolicy_Maglev :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_Maglev = BackendService_LocalityLbPolicy "MAGLEV"
  
  -- | Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.
  pattern BackendService_LocalityLbPolicy_ORIGINALDESTINATION :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_ORIGINALDESTINATION = BackendService_LocalityLbPolicy "ORIGINAL_DESTINATION"
  
  -- | The load balancer selects a random healthy host.
  pattern BackendService_LocalityLbPolicy_Random :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_Random = BackendService_LocalityLbPolicy "RANDOM"
  
  -- | The ring\/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition\/removal of a host from a set of N hosts only affects 1\/N of the requests.
  pattern BackendService_LocalityLbPolicy_RINGHASH :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_RINGHASH = BackendService_LocalityLbPolicy "RING_HASH"
  
  -- | This is a simple policy in which each healthy backend is selected in round robin order. This is the default.
  pattern BackendService_LocalityLbPolicy_ROUNDROBIN :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_ROUNDROBIN = BackendService_LocalityLbPolicy "ROUND_ROBIN"
  
  -- | Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
  pattern BackendService_LocalityLbPolicy_WEIGHTEDMAGLEV :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_WEIGHTEDMAGLEV = BackendService_LocalityLbPolicy "WEIGHTED_MAGLEV"
  
  -- | Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
  pattern BackendService_LocalityLbPolicy_WEIGHTEDROUNDROBIN :: BackendService_LocalityLbPolicy
  pattern BackendService_LocalityLbPolicy_WEIGHTEDROUNDROBIN = BackendService_LocalityLbPolicy "WEIGHTED_ROUND_ROBIN"
  
  {-# COMPLETE
    BackendService_LocalityLbPolicy_INVALIDLBPOLICY,
    BackendService_LocalityLbPolicy_LEASTREQUEST,
    BackendService_LocalityLbPolicy_Maglev,
    BackendService_LocalityLbPolicy_ORIGINALDESTINATION,
    BackendService_LocalityLbPolicy_Random,
    BackendService_LocalityLbPolicy_RINGHASH,
    BackendService_LocalityLbPolicy_ROUNDROBIN,
    BackendService_LocalityLbPolicy_WEIGHTEDMAGLEV,
    BackendService_LocalityLbPolicy_WEIGHTEDROUNDROBIN,
    BackendService_LocalityLbPolicy
    #-}
  
  -- | The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.
  newtype BackendService_Protocol = BackendService_Protocol {fromBackendService_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
      )
  
  -- | gRPC (available for Traffic Director).
  pattern BackendService_Protocol_Grpc :: BackendService_Protocol
  pattern BackendService_Protocol_Grpc = BackendService_Protocol "GRPC"
  
  pattern BackendService_Protocol_Http :: BackendService_Protocol
  pattern BackendService_Protocol_Http = BackendService_Protocol "HTTP"
  
  -- | HTTP\/2 with SSL.
  pattern BackendService_Protocol_HTTP2 :: BackendService_Protocol
  pattern BackendService_Protocol_HTTP2 = BackendService_Protocol "HTTP2"
  
  pattern BackendService_Protocol_Https :: BackendService_Protocol
  pattern BackendService_Protocol_Https = BackendService_Protocol "HTTPS"
  
  -- | TCP proxying with SSL.
  pattern BackendService_Protocol_Ssl :: BackendService_Protocol
  pattern BackendService_Protocol_Ssl = BackendService_Protocol "SSL"
  
  -- | TCP proxying or TCP pass-through.
  pattern BackendService_Protocol_Tcp :: BackendService_Protocol
  pattern BackendService_Protocol_Tcp = BackendService_Protocol "TCP"
  
  -- | UDP.
  pattern BackendService_Protocol_Udp :: BackendService_Protocol
  pattern BackendService_Protocol_Udp = BackendService_Protocol "UDP"
  
  -- | If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3\/L4 Forwarding Rules.
  pattern BackendService_Protocol_Unspecified :: BackendService_Protocol
  pattern BackendService_Protocol_Unspecified = BackendService_Protocol "UNSPECIFIED"
  
  {-# COMPLETE
    BackendService_Protocol_Grpc,
    BackendService_Protocol_Http,
    BackendService_Protocol_HTTP2,
    BackendService_Protocol_Https,
    BackendService_Protocol_Ssl,
    BackendService_Protocol_Tcp,
    BackendService_Protocol_Udp,
    BackendService_Protocol_Unspecified,
    BackendService_Protocol
    #-}
  
  -- | Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: <https://cloud.google.com/load-balancing/docs/backend-service#session_affinity Session Affinity>.
  newtype BackendService_SessionAffinity = BackendService_SessionAffinity {fromBackendService_SessionAffinity :: 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
      )
  
  -- | 2-tuple hash on packet\'s source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.
  pattern BackendService_SessionAffinity_CLIENTIP :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_CLIENTIP = BackendService_SessionAffinity "CLIENT_IP"
  
  -- | 1-tuple hash only on packet\'s source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP\/UDP Load Balancing.
  pattern BackendService_SessionAffinity_CLIENTIPNODESTINATION :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_CLIENTIPNODESTINATION = BackendService_SessionAffinity "CLIENT_IP_NO_DESTINATION"
  
  -- | 5-tuple hash on packet\'s source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
  pattern BackendService_SessionAffinity_CLIENTIPPORTPROTO :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_CLIENTIPPORTPROTO = BackendService_SessionAffinity "CLIENT_IP_PORT_PROTO"
  
  -- | 3-tuple hash on packet\'s source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
  pattern BackendService_SessionAffinity_CLIENTIPPROTO :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_CLIENTIPPROTO = BackendService_SessionAffinity "CLIENT_IP_PROTO"
  
  -- | Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.
  pattern BackendService_SessionAffinity_GENERATEDCOOKIE :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_GENERATEDCOOKIE = BackendService_SessionAffinity "GENERATED_COOKIE"
  
  -- | The hash is based on a user specified header field.
  pattern BackendService_SessionAffinity_HEADERFIELD :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_HEADERFIELD = BackendService_SessionAffinity "HEADER_FIELD"
  
  -- | The hash is based on a user provided cookie.
  pattern BackendService_SessionAffinity_HTTPCOOKIE :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_HTTPCOOKIE = BackendService_SessionAffinity "HTTP_COOKIE"
  
  -- | No session affinity. Connections from the same client IP may go to any instance in the pool.
  pattern BackendService_SessionAffinity_None :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_None = BackendService_SessionAffinity "NONE"
  
  -- | Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired.
  pattern BackendService_SessionAffinity_STRONGCOOKIEAFFINITY :: BackendService_SessionAffinity
  pattern BackendService_SessionAffinity_STRONGCOOKIEAFFINITY = BackendService_SessionAffinity "STRONG_COOKIE_AFFINITY"
  
  {-# COMPLETE
    BackendService_SessionAffinity_CLIENTIP,
    BackendService_SessionAffinity_CLIENTIPNODESTINATION,
    BackendService_SessionAffinity_CLIENTIPPORTPROTO,
    BackendService_SessionAffinity_CLIENTIPPROTO,
    BackendService_SessionAffinity_GENERATEDCOOKIE,
    BackendService_SessionAffinity_HEADERFIELD,
    BackendService_SessionAffinity_HTTPCOOKIE,
    BackendService_SessionAffinity_None,
    BackendService_SessionAffinity_STRONGCOOKIEAFFINITY,
    BackendService_SessionAffinity
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype BackendServiceAggregatedList_Warning_Code = BackendServiceAggregatedList_Warning_Code {fromBackendServiceAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern BackendServiceAggregatedList_Warning_Code_CLEANUPFAILED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_CLEANUPFAILED = BackendServiceAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern BackendServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = BackendServiceAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern BackendServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = BackendServiceAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern BackendServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = BackendServiceAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern BackendServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = BackendServiceAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern BackendServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING = BackendServiceAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern BackendServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = BackendServiceAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern BackendServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = BackendServiceAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern BackendServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = BackendServiceAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern BackendServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = BackendServiceAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern BackendServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = BackendServiceAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern BackendServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = BackendServiceAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = BackendServiceAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern BackendServiceAggregatedList_Warning_Code_NOTCRITICALERROR :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NOTCRITICALERROR = BackendServiceAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern BackendServiceAggregatedList_Warning_Code_NORESULTSONPAGE :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_NORESULTSONPAGE = BackendServiceAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern BackendServiceAggregatedList_Warning_Code_PARTIALSUCCESS :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_PARTIALSUCCESS = BackendServiceAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern BackendServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = BackendServiceAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern BackendServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = BackendServiceAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern BackendServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = BackendServiceAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern BackendServiceAggregatedList_Warning_Code_RESOURCENOTDELETED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_RESOURCENOTDELETED = BackendServiceAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern BackendServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = BackendServiceAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern BackendServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = BackendServiceAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern BackendServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = BackendServiceAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern BackendServiceAggregatedList_Warning_Code_Unreachable :: BackendServiceAggregatedList_Warning_Code
  pattern BackendServiceAggregatedList_Warning_Code_Unreachable = BackendServiceAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    BackendServiceAggregatedList_Warning_Code_CLEANUPFAILED,
    BackendServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    BackendServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    BackendServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    BackendServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    BackendServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    BackendServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    BackendServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    BackendServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    BackendServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    BackendServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    BackendServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    BackendServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    BackendServiceAggregatedList_Warning_Code_NOTCRITICALERROR,
    BackendServiceAggregatedList_Warning_Code_NORESULTSONPAGE,
    BackendServiceAggregatedList_Warning_Code_PARTIALSUCCESS,
    BackendServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    BackendServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    BackendServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    BackendServiceAggregatedList_Warning_Code_RESOURCENOTDELETED,
    BackendServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    BackendServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    BackendServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    BackendServiceAggregatedList_Warning_Code_Unreachable,
    BackendServiceAggregatedList_Warning_Code
    #-}
  
  -- | Specifies the cache setting for all responses from this backend. The possible values are: USE/ORIGIN/HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google\'s edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE/CACHE/ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE/ALL/STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE/ALL/STATIC.
  newtype BackendServiceCdnPolicy_CacheMode = BackendServiceCdnPolicy_CacheMode {fromBackendServiceCdnPolicy_CacheMode :: 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
      )
  
  -- | Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.
  pattern BackendServiceCdnPolicy_CacheMode_CACHEALLSTATIC :: BackendServiceCdnPolicy_CacheMode
  pattern BackendServiceCdnPolicy_CacheMode_CACHEALLSTATIC = BackendServiceCdnPolicy_CacheMode "CACHE_ALL_STATIC"
  
  -- | Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.
  pattern BackendServiceCdnPolicy_CacheMode_FORCECACHEALL :: BackendServiceCdnPolicy_CacheMode
  pattern BackendServiceCdnPolicy_CacheMode_FORCECACHEALL = BackendServiceCdnPolicy_CacheMode "FORCE_CACHE_ALL"
  
  pattern BackendServiceCdnPolicy_CacheMode_INVALIDCACHEMODE :: BackendServiceCdnPolicy_CacheMode
  pattern BackendServiceCdnPolicy_CacheMode_INVALIDCACHEMODE = BackendServiceCdnPolicy_CacheMode "INVALID_CACHE_MODE"
  
  -- | Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google\'s edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server.
  pattern BackendServiceCdnPolicy_CacheMode_USEORIGINHEADERS :: BackendServiceCdnPolicy_CacheMode
  pattern BackendServiceCdnPolicy_CacheMode_USEORIGINHEADERS = BackendServiceCdnPolicy_CacheMode "USE_ORIGIN_HEADERS"
  
  {-# COMPLETE
    BackendServiceCdnPolicy_CacheMode_CACHEALLSTATIC,
    BackendServiceCdnPolicy_CacheMode_FORCECACHEALL,
    BackendServiceCdnPolicy_CacheMode_INVALIDCACHEMODE,
    BackendServiceCdnPolicy_CacheMode_USEORIGINHEADERS,
    BackendServiceCdnPolicy_CacheMode
    #-}
  
  -- | Specifies connection persistence when backends are unhealthy. The default value is DEFAULT/FOR/PROTOCOL. If set to DEFAULT/FOR/PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER/CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER/PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see
  -- <https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence Connection Persistence for Network Load Balancing> and <https://cloud.google.com/load-balancing/docs/internal#connection-persistence Connection Persistence for Internal TCP\/UDP Load Balancing>.
  newtype BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends = BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends {fromBackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends :: 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
      )
  
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_ALWAYSPERSIST :: BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_ALWAYSPERSIST = BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends "ALWAYS_PERSIST"
  
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_DEFAULTFORPROTOCOL :: BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_DEFAULTFORPROTOCOL = BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends "DEFAULT_FOR_PROTOCOL"
  
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_NEVERPERSIST :: BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
  pattern BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_NEVERPERSIST = BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends "NEVER_PERSIST"
  
  {-# COMPLETE
    BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_ALWAYSPERSIST,
    BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_DEFAULTFORPROTOCOL,
    BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends_NEVERPERSIST,
    BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends
    #-}
  
  -- | Specifies the key used for connection tracking. There are two options: - PER/CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER/SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see <https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode Tracking Mode for Network Load Balancing> and <https://cloud.google.com/load-balancing/docs/internal#tracking-mode Tracking Mode for Internal TCP\/UDP Load Balancing>.
  newtype BackendServiceConnectionTrackingPolicy_TrackingMode = BackendServiceConnectionTrackingPolicy_TrackingMode {fromBackendServiceConnectionTrackingPolicy_TrackingMode :: 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
      )
  
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_INVALIDTRACKINGMODE :: BackendServiceConnectionTrackingPolicy_TrackingMode
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_INVALIDTRACKINGMODE = BackendServiceConnectionTrackingPolicy_TrackingMode "INVALID_TRACKING_MODE"
  
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_PERCONNECTION :: BackendServiceConnectionTrackingPolicy_TrackingMode
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_PERCONNECTION = BackendServiceConnectionTrackingPolicy_TrackingMode "PER_CONNECTION"
  
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_PERSESSION :: BackendServiceConnectionTrackingPolicy_TrackingMode
  pattern BackendServiceConnectionTrackingPolicy_TrackingMode_PERSESSION = BackendServiceConnectionTrackingPolicy_TrackingMode "PER_SESSION"
  
  {-# COMPLETE
    BackendServiceConnectionTrackingPolicy_TrackingMode_INVALIDTRACKINGMODE,
    BackendServiceConnectionTrackingPolicy_TrackingMode_PERCONNECTION,
    BackendServiceConnectionTrackingPolicy_TrackingMode_PERSESSION,
    BackendServiceConnectionTrackingPolicy_TrackingMode
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype BackendServiceList_Warning_Code = BackendServiceList_Warning_Code {fromBackendServiceList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern BackendServiceList_Warning_Code_CLEANUPFAILED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_CLEANUPFAILED = BackendServiceList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern BackendServiceList_Warning_Code_DEPRECATEDRESOURCEUSED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_DEPRECATEDRESOURCEUSED = BackendServiceList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern BackendServiceList_Warning_Code_DEPRECATEDTYPEUSED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_DEPRECATEDTYPEUSED = BackendServiceList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern BackendServiceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = BackendServiceList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern BackendServiceList_Warning_Code_EXPERIMENTALTYPEUSED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_EXPERIMENTALTYPEUSED = BackendServiceList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern BackendServiceList_Warning_Code_EXTERNALAPIWARNING :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_EXTERNALAPIWARNING = BackendServiceList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern BackendServiceList_Warning_Code_FIELDVALUEOVERRIDEN :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_FIELDVALUEOVERRIDEN = BackendServiceList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern BackendServiceList_Warning_Code_INJECTEDKERNELSDEPRECATED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_INJECTEDKERNELSDEPRECATED = BackendServiceList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern BackendServiceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = BackendServiceList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern BackendServiceList_Warning_Code_LARGEDEPLOYMENTWARNING :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_LARGEDEPLOYMENTWARNING = BackendServiceList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern BackendServiceList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_LISTOVERHEADQUOTAEXCEED = BackendServiceList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern BackendServiceList_Warning_Code_MISSINGTYPEDEPENDENCY :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_MISSINGTYPEDEPENDENCY = BackendServiceList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern BackendServiceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = BackendServiceList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern BackendServiceList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPCANNOTIPFORWARD = BackendServiceList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = BackendServiceList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTFOUND = BackendServiceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = BackendServiceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern BackendServiceList_Warning_Code_NEXTHOPNOTRUNNING :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NEXTHOPNOTRUNNING = BackendServiceList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern BackendServiceList_Warning_Code_NOTCRITICALERROR :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NOTCRITICALERROR = BackendServiceList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern BackendServiceList_Warning_Code_NORESULTSONPAGE :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_NORESULTSONPAGE = BackendServiceList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern BackendServiceList_Warning_Code_PARTIALSUCCESS :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_PARTIALSUCCESS = BackendServiceList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern BackendServiceList_Warning_Code_QUOTAINFOUNAVAILABLE :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_QUOTAINFOUNAVAILABLE = BackendServiceList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern BackendServiceList_Warning_Code_REQUIREDTOSAGREEMENT :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_REQUIREDTOSAGREEMENT = BackendServiceList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern BackendServiceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = BackendServiceList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern BackendServiceList_Warning_Code_RESOURCENOTDELETED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_RESOURCENOTDELETED = BackendServiceList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern BackendServiceList_Warning_Code_SCHEMAVALIDATIONIGNORED :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_SCHEMAVALIDATIONIGNORED = BackendServiceList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern BackendServiceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = BackendServiceList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern BackendServiceList_Warning_Code_UNDECLAREDPROPERTIES :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_UNDECLAREDPROPERTIES = BackendServiceList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern BackendServiceList_Warning_Code_Unreachable :: BackendServiceList_Warning_Code
  pattern BackendServiceList_Warning_Code_Unreachable = BackendServiceList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    BackendServiceList_Warning_Code_CLEANUPFAILED,
    BackendServiceList_Warning_Code_DEPRECATEDRESOURCEUSED,
    BackendServiceList_Warning_Code_DEPRECATEDTYPEUSED,
    BackendServiceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    BackendServiceList_Warning_Code_EXPERIMENTALTYPEUSED,
    BackendServiceList_Warning_Code_EXTERNALAPIWARNING,
    BackendServiceList_Warning_Code_FIELDVALUEOVERRIDEN,
    BackendServiceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    BackendServiceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    BackendServiceList_Warning_Code_LARGEDEPLOYMENTWARNING,
    BackendServiceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    BackendServiceList_Warning_Code_MISSINGTYPEDEPENDENCY,
    BackendServiceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    BackendServiceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    BackendServiceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    BackendServiceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    BackendServiceList_Warning_Code_NEXTHOPNOTRUNNING,
    BackendServiceList_Warning_Code_NOTCRITICALERROR,
    BackendServiceList_Warning_Code_NORESULTSONPAGE,
    BackendServiceList_Warning_Code_PARTIALSUCCESS,
    BackendServiceList_Warning_Code_QUOTAINFOUNAVAILABLE,
    BackendServiceList_Warning_Code_REQUIREDTOSAGREEMENT,
    BackendServiceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    BackendServiceList_Warning_Code_RESOURCENOTDELETED,
    BackendServiceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    BackendServiceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    BackendServiceList_Warning_Code_UNDECLAREDPROPERTIES,
    BackendServiceList_Warning_Code_Unreachable,
    BackendServiceList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype BackendServiceListUsable_Warning_Code = BackendServiceListUsable_Warning_Code {fromBackendServiceListUsable_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern BackendServiceListUsable_Warning_Code_CLEANUPFAILED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_CLEANUPFAILED = BackendServiceListUsable_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern BackendServiceListUsable_Warning_Code_DEPRECATEDRESOURCEUSED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_DEPRECATEDRESOURCEUSED = BackendServiceListUsable_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern BackendServiceListUsable_Warning_Code_DEPRECATEDTYPEUSED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_DEPRECATEDTYPEUSED = BackendServiceListUsable_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern BackendServiceListUsable_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = BackendServiceListUsable_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern BackendServiceListUsable_Warning_Code_EXPERIMENTALTYPEUSED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_EXPERIMENTALTYPEUSED = BackendServiceListUsable_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern BackendServiceListUsable_Warning_Code_EXTERNALAPIWARNING :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_EXTERNALAPIWARNING = BackendServiceListUsable_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern BackendServiceListUsable_Warning_Code_FIELDVALUEOVERRIDEN :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_FIELDVALUEOVERRIDEN = BackendServiceListUsable_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern BackendServiceListUsable_Warning_Code_INJECTEDKERNELSDEPRECATED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_INJECTEDKERNELSDEPRECATED = BackendServiceListUsable_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern BackendServiceListUsable_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = BackendServiceListUsable_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern BackendServiceListUsable_Warning_Code_LARGEDEPLOYMENTWARNING :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_LARGEDEPLOYMENTWARNING = BackendServiceListUsable_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern BackendServiceListUsable_Warning_Code_LISTOVERHEADQUOTAEXCEED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_LISTOVERHEADQUOTAEXCEED = BackendServiceListUsable_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern BackendServiceListUsable_Warning_Code_MISSINGTYPEDEPENDENCY :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_MISSINGTYPEDEPENDENCY = BackendServiceListUsable_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = BackendServiceListUsable_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPCANNOTIPFORWARD :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPCANNOTIPFORWARD = BackendServiceListUsable_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = BackendServiceListUsable_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTFOUND :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTFOUND = BackendServiceListUsable_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = BackendServiceListUsable_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPNOTRUNNING :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NEXTHOPNOTRUNNING = BackendServiceListUsable_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern BackendServiceListUsable_Warning_Code_NOTCRITICALERROR :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NOTCRITICALERROR = BackendServiceListUsable_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern BackendServiceListUsable_Warning_Code_NORESULTSONPAGE :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_NORESULTSONPAGE = BackendServiceListUsable_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern BackendServiceListUsable_Warning_Code_PARTIALSUCCESS :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_PARTIALSUCCESS = BackendServiceListUsable_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern BackendServiceListUsable_Warning_Code_QUOTAINFOUNAVAILABLE :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_QUOTAINFOUNAVAILABLE = BackendServiceListUsable_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern BackendServiceListUsable_Warning_Code_REQUIREDTOSAGREEMENT :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_REQUIREDTOSAGREEMENT = BackendServiceListUsable_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern BackendServiceListUsable_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = BackendServiceListUsable_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern BackendServiceListUsable_Warning_Code_RESOURCENOTDELETED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_RESOURCENOTDELETED = BackendServiceListUsable_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern BackendServiceListUsable_Warning_Code_SCHEMAVALIDATIONIGNORED :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_SCHEMAVALIDATIONIGNORED = BackendServiceListUsable_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern BackendServiceListUsable_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = BackendServiceListUsable_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern BackendServiceListUsable_Warning_Code_UNDECLAREDPROPERTIES :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_UNDECLAREDPROPERTIES = BackendServiceListUsable_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern BackendServiceListUsable_Warning_Code_Unreachable :: BackendServiceListUsable_Warning_Code
  pattern BackendServiceListUsable_Warning_Code_Unreachable = BackendServiceListUsable_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    BackendServiceListUsable_Warning_Code_CLEANUPFAILED,
    BackendServiceListUsable_Warning_Code_DEPRECATEDRESOURCEUSED,
    BackendServiceListUsable_Warning_Code_DEPRECATEDTYPEUSED,
    BackendServiceListUsable_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    BackendServiceListUsable_Warning_Code_EXPERIMENTALTYPEUSED,
    BackendServiceListUsable_Warning_Code_EXTERNALAPIWARNING,
    BackendServiceListUsable_Warning_Code_FIELDVALUEOVERRIDEN,
    BackendServiceListUsable_Warning_Code_INJECTEDKERNELSDEPRECATED,
    BackendServiceListUsable_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    BackendServiceListUsable_Warning_Code_LARGEDEPLOYMENTWARNING,
    BackendServiceListUsable_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    BackendServiceListUsable_Warning_Code_MISSINGTYPEDEPENDENCY,
    BackendServiceListUsable_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    BackendServiceListUsable_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    BackendServiceListUsable_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    BackendServiceListUsable_Warning_Code_NEXTHOPNOTRUNNING,
    BackendServiceListUsable_Warning_Code_NOTCRITICALERROR,
    BackendServiceListUsable_Warning_Code_NORESULTSONPAGE,
    BackendServiceListUsable_Warning_Code_PARTIALSUCCESS,
    BackendServiceListUsable_Warning_Code_QUOTAINFOUNAVAILABLE,
    BackendServiceListUsable_Warning_Code_REQUIREDTOSAGREEMENT,
    BackendServiceListUsable_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    BackendServiceListUsable_Warning_Code_RESOURCENOTDELETED,
    BackendServiceListUsable_Warning_Code_SCHEMAVALIDATIONIGNORED,
    BackendServiceListUsable_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    BackendServiceListUsable_Warning_Code_UNDECLAREDPROPERTIES,
    BackendServiceListUsable_Warning_Code_Unreachable,
    BackendServiceListUsable_Warning_Code
    #-}
  
  -- | The name of a locality load-balancing policy. Valid values include ROUND/ROBIN and, for Java clients, LEAST/REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.
  newtype BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name {fromBackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name :: 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
      )
  
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_INVALIDLBPOLICY :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_INVALIDLBPOLICY = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "INVALID_LB_POLICY"
  
  -- | An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_LEASTREQUEST :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_LEASTREQUEST = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "LEAST_REQUEST"
  
  -- | This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https:\/\/ai.google\/research\/pubs\/pub44824
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Maglev :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Maglev = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "MAGLEV"
  
  -- | Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ORIGINALDESTINATION :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ORIGINALDESTINATION = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "ORIGINAL_DESTINATION"
  
  -- | The load balancer selects a random healthy host.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Random :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Random = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "RANDOM"
  
  -- | The ring\/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition\/removal of a host from a set of N hosts only affects 1\/N of the requests.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_RINGHASH :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_RINGHASH = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "RING_HASH"
  
  -- | This is a simple policy in which each healthy backend is selected in round robin order. This is the default.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ROUNDROBIN :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ROUNDROBIN = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "ROUND_ROBIN"
  
  -- | Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDMAGLEV :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDMAGLEV = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "WEIGHTED_MAGLEV"
  
  -- | Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields.
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDROUNDROBIN :: BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
  pattern BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDROUNDROBIN = BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name "WEIGHTED_ROUND_ROBIN"
  
  {-# COMPLETE
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_INVALIDLBPOLICY,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_LEASTREQUEST,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Maglev,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ORIGINALDESTINATION,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_Random,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_RINGHASH,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_ROUNDROBIN,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDMAGLEV,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name_WEIGHTEDROUNDROBIN,
    BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name
    #-}
  
  -- | This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE/ALL/OPTIONAL, EXCLUDE/ALL/OPTIONAL, CUSTOM]. Default is EXCLUDE/ALL/OPTIONAL.
  newtype BackendServiceLogConfig_OptionalMode = BackendServiceLogConfig_OptionalMode {fromBackendServiceLogConfig_OptionalMode :: 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
      )
  
  -- | A subset of optional fields.
  pattern BackendServiceLogConfig_OptionalMode_Custom :: BackendServiceLogConfig_OptionalMode
  pattern BackendServiceLogConfig_OptionalMode_Custom = BackendServiceLogConfig_OptionalMode "CUSTOM"
  
  -- | None optional fields.
  pattern BackendServiceLogConfig_OptionalMode_EXCLUDEALLOPTIONAL :: BackendServiceLogConfig_OptionalMode
  pattern BackendServiceLogConfig_OptionalMode_EXCLUDEALLOPTIONAL = BackendServiceLogConfig_OptionalMode "EXCLUDE_ALL_OPTIONAL"
  
  -- | All optional fields.
  pattern BackendServiceLogConfig_OptionalMode_INCLUDEALLOPTIONAL :: BackendServiceLogConfig_OptionalMode
  pattern BackendServiceLogConfig_OptionalMode_INCLUDEALLOPTIONAL = BackendServiceLogConfig_OptionalMode "INCLUDE_ALL_OPTIONAL"
  
  {-# COMPLETE
    BackendServiceLogConfig_OptionalMode_Custom,
    BackendServiceLogConfig_OptionalMode_EXCLUDEALLOPTIONAL,
    BackendServiceLogConfig_OptionalMode_INCLUDEALLOPTIONAL,
    BackendServiceLogConfig_OptionalMode
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype BackendServicesScopedList_Warning_Code = BackendServicesScopedList_Warning_Code {fromBackendServicesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern BackendServicesScopedList_Warning_Code_CLEANUPFAILED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_CLEANUPFAILED = BackendServicesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern BackendServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = BackendServicesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern BackendServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED = BackendServicesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern BackendServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = BackendServicesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern BackendServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = BackendServicesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern BackendServicesScopedList_Warning_Code_EXTERNALAPIWARNING :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_EXTERNALAPIWARNING = BackendServicesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern BackendServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = BackendServicesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern BackendServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = BackendServicesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern BackendServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = BackendServicesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern BackendServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = BackendServicesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern BackendServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = BackendServicesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern BackendServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = BackendServicesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = BackendServicesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = BackendServicesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = BackendServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = BackendServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = BackendServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING = BackendServicesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern BackendServicesScopedList_Warning_Code_NOTCRITICALERROR :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NOTCRITICALERROR = BackendServicesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern BackendServicesScopedList_Warning_Code_NORESULTSONPAGE :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_NORESULTSONPAGE = BackendServicesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern BackendServicesScopedList_Warning_Code_PARTIALSUCCESS :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_PARTIALSUCCESS = BackendServicesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern BackendServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = BackendServicesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern BackendServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = BackendServicesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern BackendServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = BackendServicesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern BackendServicesScopedList_Warning_Code_RESOURCENOTDELETED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_RESOURCENOTDELETED = BackendServicesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern BackendServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = BackendServicesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern BackendServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = BackendServicesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern BackendServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES = BackendServicesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern BackendServicesScopedList_Warning_Code_Unreachable :: BackendServicesScopedList_Warning_Code
  pattern BackendServicesScopedList_Warning_Code_Unreachable = BackendServicesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    BackendServicesScopedList_Warning_Code_CLEANUPFAILED,
    BackendServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    BackendServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    BackendServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    BackendServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    BackendServicesScopedList_Warning_Code_EXTERNALAPIWARNING,
    BackendServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    BackendServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    BackendServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    BackendServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    BackendServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    BackendServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    BackendServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    BackendServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    BackendServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    BackendServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    BackendServicesScopedList_Warning_Code_NOTCRITICALERROR,
    BackendServicesScopedList_Warning_Code_NORESULTSONPAGE,
    BackendServicesScopedList_Warning_Code_PARTIALSUCCESS,
    BackendServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    BackendServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    BackendServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    BackendServicesScopedList_Warning_Code_RESOURCENOTDELETED,
    BackendServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    BackendServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    BackendServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    BackendServicesScopedList_Warning_Code_Unreachable,
    BackendServicesScopedList_Warning_Code
    #-}
  
  -- | The diagnostic code specifies the local system\'s reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880
  newtype BfdPacket_Diagnostic = BfdPacket_Diagnostic {fromBfdPacket_Diagnostic :: 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
      )
  
  pattern BfdPacket_Diagnostic_ADMINISTRATIVELYDOWN :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_ADMINISTRATIVELYDOWN = BfdPacket_Diagnostic "ADMINISTRATIVELY_DOWN"
  
  pattern BfdPacket_Diagnostic_CONCATENATEDPATHDOWN :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_CONCATENATEDPATHDOWN = BfdPacket_Diagnostic "CONCATENATED_PATH_DOWN"
  
  pattern BfdPacket_Diagnostic_CONTROLDETECTIONTIMEEXPIRED :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_CONTROLDETECTIONTIMEEXPIRED = BfdPacket_Diagnostic "CONTROL_DETECTION_TIME_EXPIRED"
  
  pattern BfdPacket_Diagnostic_DIAGNOSTICUNSPECIFIED :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_DIAGNOSTICUNSPECIFIED = BfdPacket_Diagnostic "DIAGNOSTIC_UNSPECIFIED"
  
  pattern BfdPacket_Diagnostic_ECHOFUNCTIONFAILED :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_ECHOFUNCTIONFAILED = BfdPacket_Diagnostic "ECHO_FUNCTION_FAILED"
  
  pattern BfdPacket_Diagnostic_FORWARDINGPLANERESET :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_FORWARDINGPLANERESET = BfdPacket_Diagnostic "FORWARDING_PLANE_RESET"
  
  pattern BfdPacket_Diagnostic_NEIGHBORSIGNALEDSESSIONDOWN :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_NEIGHBORSIGNALEDSESSIONDOWN = BfdPacket_Diagnostic "NEIGHBOR_SIGNALED_SESSION_DOWN"
  
  pattern BfdPacket_Diagnostic_NODIAGNOSTIC :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_NODIAGNOSTIC = BfdPacket_Diagnostic "NO_DIAGNOSTIC"
  
  pattern BfdPacket_Diagnostic_PATHDOWN :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_PATHDOWN = BfdPacket_Diagnostic "PATH_DOWN"
  
  pattern BfdPacket_Diagnostic_REVERSECONCATENATEDPATHDOWN :: BfdPacket_Diagnostic
  pattern BfdPacket_Diagnostic_REVERSECONCATENATEDPATHDOWN = BfdPacket_Diagnostic "REVERSE_CONCATENATED_PATH_DOWN"
  
  {-# COMPLETE
    BfdPacket_Diagnostic_ADMINISTRATIVELYDOWN,
    BfdPacket_Diagnostic_CONCATENATEDPATHDOWN,
    BfdPacket_Diagnostic_CONTROLDETECTIONTIMEEXPIRED,
    BfdPacket_Diagnostic_DIAGNOSTICUNSPECIFIED,
    BfdPacket_Diagnostic_ECHOFUNCTIONFAILED,
    BfdPacket_Diagnostic_FORWARDINGPLANERESET,
    BfdPacket_Diagnostic_NEIGHBORSIGNALEDSESSIONDOWN,
    BfdPacket_Diagnostic_NODIAGNOSTIC,
    BfdPacket_Diagnostic_PATHDOWN,
    BfdPacket_Diagnostic_REVERSECONCATENATEDPATHDOWN,
    BfdPacket_Diagnostic
    #-}
  
  -- | The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880
  newtype BfdPacket_State = BfdPacket_State {fromBfdPacket_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
      )
  
  pattern BfdPacket_State_ADMINDOWN :: BfdPacket_State
  pattern BfdPacket_State_ADMINDOWN = BfdPacket_State "ADMIN_DOWN"
  
  pattern BfdPacket_State_Down :: BfdPacket_State
  pattern BfdPacket_State_Down = BfdPacket_State "DOWN"
  
  pattern BfdPacket_State_Init :: BfdPacket_State
  pattern BfdPacket_State_Init = BfdPacket_State "INIT"
  
  pattern BfdPacket_State_STATEUNSPECIFIED :: BfdPacket_State
  pattern BfdPacket_State_STATEUNSPECIFIED = BfdPacket_State "STATE_UNSPECIFIED"
  
  pattern BfdPacket_State_UP :: BfdPacket_State
  pattern BfdPacket_State_UP = BfdPacket_State "UP"
  
  {-# COMPLETE
    BfdPacket_State_ADMINDOWN,
    BfdPacket_State_Down,
    BfdPacket_State_Init,
    BfdPacket_State_STATEUNSPECIFIED,
    BfdPacket_State_UP,
    BfdPacket_State
    #-}
  
  -- | The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.
  newtype BfdStatus_BfdSessionInitializationMode = BfdStatus_BfdSessionInitializationMode {fromBfdStatus_BfdSessionInitializationMode :: 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
      )
  
  pattern BfdStatus_BfdSessionInitializationMode_Active :: BfdStatus_BfdSessionInitializationMode
  pattern BfdStatus_BfdSessionInitializationMode_Active = BfdStatus_BfdSessionInitializationMode "ACTIVE"
  
  pattern BfdStatus_BfdSessionInitializationMode_Disabled :: BfdStatus_BfdSessionInitializationMode
  pattern BfdStatus_BfdSessionInitializationMode_Disabled = BfdStatus_BfdSessionInitializationMode "DISABLED"
  
  pattern BfdStatus_BfdSessionInitializationMode_Passive :: BfdStatus_BfdSessionInitializationMode
  pattern BfdStatus_BfdSessionInitializationMode_Passive = BfdStatus_BfdSessionInitializationMode "PASSIVE"
  
  {-# COMPLETE
    BfdStatus_BfdSessionInitializationMode_Active,
    BfdStatus_BfdSessionInitializationMode_Disabled,
    BfdStatus_BfdSessionInitializationMode_Passive,
    BfdStatus_BfdSessionInitializationMode
    #-}
  
  -- | The diagnostic code specifies the local system\'s reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880
  newtype BfdStatus_LocalDiagnostic = BfdStatus_LocalDiagnostic {fromBfdStatus_LocalDiagnostic :: 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
      )
  
  pattern BfdStatus_LocalDiagnostic_ADMINISTRATIVELYDOWN :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_ADMINISTRATIVELYDOWN = BfdStatus_LocalDiagnostic "ADMINISTRATIVELY_DOWN"
  
  pattern BfdStatus_LocalDiagnostic_CONCATENATEDPATHDOWN :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_CONCATENATEDPATHDOWN = BfdStatus_LocalDiagnostic "CONCATENATED_PATH_DOWN"
  
  pattern BfdStatus_LocalDiagnostic_CONTROLDETECTIONTIMEEXPIRED :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_CONTROLDETECTIONTIMEEXPIRED = BfdStatus_LocalDiagnostic "CONTROL_DETECTION_TIME_EXPIRED"
  
  pattern BfdStatus_LocalDiagnostic_DIAGNOSTICUNSPECIFIED :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_DIAGNOSTICUNSPECIFIED = BfdStatus_LocalDiagnostic "DIAGNOSTIC_UNSPECIFIED"
  
  pattern BfdStatus_LocalDiagnostic_ECHOFUNCTIONFAILED :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_ECHOFUNCTIONFAILED = BfdStatus_LocalDiagnostic "ECHO_FUNCTION_FAILED"
  
  pattern BfdStatus_LocalDiagnostic_FORWARDINGPLANERESET :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_FORWARDINGPLANERESET = BfdStatus_LocalDiagnostic "FORWARDING_PLANE_RESET"
  
  pattern BfdStatus_LocalDiagnostic_NEIGHBORSIGNALEDSESSIONDOWN :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_NEIGHBORSIGNALEDSESSIONDOWN = BfdStatus_LocalDiagnostic "NEIGHBOR_SIGNALED_SESSION_DOWN"
  
  pattern BfdStatus_LocalDiagnostic_NODIAGNOSTIC :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_NODIAGNOSTIC = BfdStatus_LocalDiagnostic "NO_DIAGNOSTIC"
  
  pattern BfdStatus_LocalDiagnostic_PATHDOWN :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_PATHDOWN = BfdStatus_LocalDiagnostic "PATH_DOWN"
  
  pattern BfdStatus_LocalDiagnostic_REVERSECONCATENATEDPATHDOWN :: BfdStatus_LocalDiagnostic
  pattern BfdStatus_LocalDiagnostic_REVERSECONCATENATEDPATHDOWN = BfdStatus_LocalDiagnostic "REVERSE_CONCATENATED_PATH_DOWN"
  
  {-# COMPLETE
    BfdStatus_LocalDiagnostic_ADMINISTRATIVELYDOWN,
    BfdStatus_LocalDiagnostic_CONCATENATEDPATHDOWN,
    BfdStatus_LocalDiagnostic_CONTROLDETECTIONTIMEEXPIRED,
    BfdStatus_LocalDiagnostic_DIAGNOSTICUNSPECIFIED,
    BfdStatus_LocalDiagnostic_ECHOFUNCTIONFAILED,
    BfdStatus_LocalDiagnostic_FORWARDINGPLANERESET,
    BfdStatus_LocalDiagnostic_NEIGHBORSIGNALEDSESSIONDOWN,
    BfdStatus_LocalDiagnostic_NODIAGNOSTIC,
    BfdStatus_LocalDiagnostic_PATHDOWN,
    BfdStatus_LocalDiagnostic_REVERSECONCATENATEDPATHDOWN,
    BfdStatus_LocalDiagnostic
    #-}
  
  -- | The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880
  newtype BfdStatus_LocalState = BfdStatus_LocalState {fromBfdStatus_LocalState :: 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
      )
  
  pattern BfdStatus_LocalState_ADMINDOWN :: BfdStatus_LocalState
  pattern BfdStatus_LocalState_ADMINDOWN = BfdStatus_LocalState "ADMIN_DOWN"
  
  pattern BfdStatus_LocalState_Down :: BfdStatus_LocalState
  pattern BfdStatus_LocalState_Down = BfdStatus_LocalState "DOWN"
  
  pattern BfdStatus_LocalState_Init :: BfdStatus_LocalState
  pattern BfdStatus_LocalState_Init = BfdStatus_LocalState "INIT"
  
  pattern BfdStatus_LocalState_STATEUNSPECIFIED :: BfdStatus_LocalState
  pattern BfdStatus_LocalState_STATEUNSPECIFIED = BfdStatus_LocalState "STATE_UNSPECIFIED"
  
  pattern BfdStatus_LocalState_UP :: BfdStatus_LocalState
  pattern BfdStatus_LocalState_UP = BfdStatus_LocalState "UP"
  
  {-# COMPLETE
    BfdStatus_LocalState_ADMINDOWN,
    BfdStatus_LocalState_Down,
    BfdStatus_LocalState_Init,
    BfdStatus_LocalState_STATEUNSPECIFIED,
    BfdStatus_LocalState_UP,
    BfdStatus_LocalState
    #-}
  
  -- | [Output only] BGP origin (EGP, IGP or INCOMPLETE)
  newtype BgpRoute_Origin = BgpRoute_Origin {fromBgpRoute_Origin :: 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
      )
  
  pattern BgpRoute_Origin_BGPORIGINEGP :: BgpRoute_Origin
  pattern BgpRoute_Origin_BGPORIGINEGP = BgpRoute_Origin "BGP_ORIGIN_EGP"
  
  pattern BgpRoute_Origin_BGPORIGINIGP :: BgpRoute_Origin
  pattern BgpRoute_Origin_BGPORIGINIGP = BgpRoute_Origin "BGP_ORIGIN_IGP"
  
  pattern BgpRoute_Origin_BGPORIGININCOMPLETE :: BgpRoute_Origin
  pattern BgpRoute_Origin_BGPORIGININCOMPLETE = BgpRoute_Origin "BGP_ORIGIN_INCOMPLETE"
  
  {-# COMPLETE
    BgpRoute_Origin_BGPORIGINEGP,
    BgpRoute_Origin_BGPORIGINIGP,
    BgpRoute_Origin_BGPORIGININCOMPLETE,
    BgpRoute_Origin
    #-}
  
  -- | [Output only] Type of AS-PATH segment (SEQUENCE or SET)
  newtype BgpRouteAsPath_Type = BgpRouteAsPath_Type {fromBgpRouteAsPath_Type :: 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
      )
  
  pattern BgpRouteAsPath_Type_ASPATHTYPESEQUENCE :: BgpRouteAsPath_Type
  pattern BgpRouteAsPath_Type_ASPATHTYPESEQUENCE = BgpRouteAsPath_Type "AS_PATH_TYPE_SEQUENCE"
  
  pattern BgpRouteAsPath_Type_ASPATHTYPESET :: BgpRouteAsPath_Type
  pattern BgpRouteAsPath_Type_ASPATHTYPESET = BgpRouteAsPath_Type "AS_PATH_TYPE_SET"
  
  {-# COMPLETE
    BgpRouteAsPath_Type_ASPATHTYPESEQUENCE,
    BgpRouteAsPath_Type_ASPATHTYPESET,
    BgpRouteAsPath_Type
    #-}
  
  -- | [Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.
  newtype BulkInsertOperationStatus_Status = BulkInsertOperationStatus_Status {fromBulkInsertOperationStatus_Status :: 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
      )
  
  -- | Rolling forward - creating VMs.
  pattern BulkInsertOperationStatus_Status_Creating :: BulkInsertOperationStatus_Status
  pattern BulkInsertOperationStatus_Status_Creating = BulkInsertOperationStatus_Status "CREATING"
  
  -- | Done
  pattern BulkInsertOperationStatus_Status_Done :: BulkInsertOperationStatus_Status
  pattern BulkInsertOperationStatus_Status_Done = BulkInsertOperationStatus_Status "DONE"
  
  -- | Rolling back - cleaning up after an error.
  pattern BulkInsertOperationStatus_Status_ROLLINGBACK :: BulkInsertOperationStatus_Status
  pattern BulkInsertOperationStatus_Status_ROLLINGBACK = BulkInsertOperationStatus_Status "ROLLING_BACK"
  
  pattern BulkInsertOperationStatus_Status_STATUSUNSPECIFIED :: BulkInsertOperationStatus_Status
  pattern BulkInsertOperationStatus_Status_STATUSUNSPECIFIED = BulkInsertOperationStatus_Status "STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    BulkInsertOperationStatus_Status_Creating,
    BulkInsertOperationStatus_Status_Done,
    BulkInsertOperationStatus_Status_ROLLINGBACK,
    BulkInsertOperationStatus_Status_STATUSUNSPECIFIED,
    BulkInsertOperationStatus_Status
    #-}
  
  -- | The category of the commitment; specifies whether the commitment is for hardware or software resources. Category MACHINE specifies that you are committing to hardware machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies that you are committing to software licenses, listed in licenseResources. Note that if you specify MACHINE commitments, then you must also specify a type to indicate the machine series of the hardware resource that you are committing to.
  newtype Commitment_Category = Commitment_Category {fromCommitment_Category :: 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
      )
  
  pattern Commitment_Category_CATEGORYUNSPECIFIED :: Commitment_Category
  pattern Commitment_Category_CATEGORYUNSPECIFIED = Commitment_Category "CATEGORY_UNSPECIFIED"
  
  pattern Commitment_Category_License :: Commitment_Category
  pattern Commitment_Category_License = Commitment_Category "LICENSE"
  
  pattern Commitment_Category_Machine :: Commitment_Category
  pattern Commitment_Category_Machine = Commitment_Category "MACHINE"
  
  {-# COMPLETE
    Commitment_Category_CATEGORYUNSPECIFIED,
    Commitment_Category_License,
    Commitment_Category_Machine,
    Commitment_Category
    #-}
  
  -- | The minimum time duration that you commit to purchasing resources. The plan that you choose determines the preset term length of the commitment (which is 1 year or 3 years) and affects the discount rate that you receive for your resources. Committing to a longer time duration typically gives you a higher discount rate. The supported values for this field are TWELVE/MONTH (1 year), and THIRTY/SIX_MONTH (3 years).
  newtype Commitment_Plan = Commitment_Plan {fromCommitment_Plan :: 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
      )
  
  pattern Commitment_Plan_Invalid :: Commitment_Plan
  pattern Commitment_Plan_Invalid = Commitment_Plan "INVALID"
  
  pattern Commitment_Plan_THIRTYSIXMONTH :: Commitment_Plan
  pattern Commitment_Plan_THIRTYSIXMONTH = Commitment_Plan "THIRTY_SIX_MONTH"
  
  pattern Commitment_Plan_TWELVEMONTH :: Commitment_Plan
  pattern Commitment_Plan_TWELVEMONTH = Commitment_Plan "TWELVE_MONTH"
  
  {-# COMPLETE
    Commitment_Plan_Invalid,
    Commitment_Plan_THIRTYSIXMONTH,
    Commitment_Plan_TWELVEMONTH,
    Commitment_Plan
    #-}
  
  -- | [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). Status can be one of the following values: NOT/YET/ACTIVE, ACTIVE, or EXPIRED.
  newtype Commitment_Status = Commitment_Status {fromCommitment_Status :: 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
      )
  
  pattern Commitment_Status_Active :: Commitment_Status
  pattern Commitment_Status_Active = Commitment_Status "ACTIVE"
  
  -- | Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.
  pattern Commitment_Status_Cancelled :: Commitment_Status
  pattern Commitment_Status_Cancelled = Commitment_Status "CANCELLED"
  
  pattern Commitment_Status_Creating :: Commitment_Status
  pattern Commitment_Status_Creating = Commitment_Status "CREATING"
  
  pattern Commitment_Status_Expired :: Commitment_Status
  pattern Commitment_Status_Expired = Commitment_Status "EXPIRED"
  
  pattern Commitment_Status_NOTYETACTIVE :: Commitment_Status
  pattern Commitment_Status_NOTYETACTIVE = Commitment_Status "NOT_YET_ACTIVE"
  
  {-# COMPLETE
    Commitment_Status_Active,
    Commitment_Status_Cancelled,
    Commitment_Status_Creating,
    Commitment_Status_Expired,
    Commitment_Status_NOTYETACTIVE,
    Commitment_Status
    #-}
  
  -- | The type of commitment; specifies the machine series for which you want to commit to purchasing resources. The choice of machine series affects the discount rate and the eligible resource types. The type must be one of the following: ACCELERATOR/OPTIMIZED, ACCELERATOR/OPTIMIZED/A3, ACCELERATOR/OPTIMIZED/A3/MEGA, COMPUTE/OPTIMIZED, COMPUTE/OPTIMIZED/C2D, COMPUTE/OPTIMIZED/C3, COMPUTE/OPTIMIZED/C3D, COMPUTE/OPTIMIZED/H3, GENERAL/PURPOSE, GENERAL/PURPOSE/C4, GENERAL/PURPOSE/E2, GENERAL/PURPOSE/N2, GENERAL/PURPOSE/N2D, GENERAL/PURPOSE/N4, GENERAL/PURPOSE/T2D, GRAPHICS/OPTIMIZED, MEMORY/OPTIMIZED, MEMORY/OPTIMIZED/M3, MEMORY/OPTIMIZED/X4, STORAGE/OPTIMIZED/Z3. For example, type MEMORY/OPTIMIZED specifies a commitment that applies only to eligible resources of memory optimized M1 and M2 machine series. Type GENERAL/PURPOSE specifies a commitment that applies only to eligible resources of general purpose N1 machine series.
  newtype Commitment_Type = Commitment_Type {fromCommitment_Type :: 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
      )
  
  pattern Commitment_Type_ACCELERATOROPTIMIZED :: Commitment_Type
  pattern Commitment_Type_ACCELERATOROPTIMIZED = Commitment_Type "ACCELERATOR_OPTIMIZED"
  
  pattern Commitment_Type_ACCELERATOR_OPTIMIZED_A3 :: Commitment_Type
  pattern Commitment_Type_ACCELERATOR_OPTIMIZED_A3 = Commitment_Type "ACCELERATOR_OPTIMIZED_A3"
  
  pattern Commitment_Type_ACCELERATOROPTIMIZEDA3MEGA :: Commitment_Type
  pattern Commitment_Type_ACCELERATOROPTIMIZEDA3MEGA = Commitment_Type "ACCELERATOR_OPTIMIZED_A3_MEGA"
  
  pattern Commitment_Type_ACCELERATOROPTIMIZEDA3ULTRA :: Commitment_Type
  pattern Commitment_Type_ACCELERATOROPTIMIZEDA3ULTRA = Commitment_Type "ACCELERATOR_OPTIMIZED_A3_ULTRA"
  
  pattern Commitment_Type_COMPUTEOPTIMIZED :: Commitment_Type
  pattern Commitment_Type_COMPUTEOPTIMIZED = Commitment_Type "COMPUTE_OPTIMIZED"
  
  pattern Commitment_Type_COMPUTEOPTIMIZEDC2D :: Commitment_Type
  pattern Commitment_Type_COMPUTEOPTIMIZEDC2D = Commitment_Type "COMPUTE_OPTIMIZED_C2D"
  
  pattern Commitment_Type_COMPUTE_OPTIMIZED_C3 :: Commitment_Type
  pattern Commitment_Type_COMPUTE_OPTIMIZED_C3 = Commitment_Type "COMPUTE_OPTIMIZED_C3"
  
  pattern Commitment_Type_COMPUTEOPTIMIZEDC3D :: Commitment_Type
  pattern Commitment_Type_COMPUTEOPTIMIZEDC3D = Commitment_Type "COMPUTE_OPTIMIZED_C3D"
  
  pattern Commitment_Type_COMPUTE_OPTIMIZED_H3 :: Commitment_Type
  pattern Commitment_Type_COMPUTE_OPTIMIZED_H3 = Commitment_Type "COMPUTE_OPTIMIZED_H3"
  
  pattern Commitment_Type_GENERALPURPOSE :: Commitment_Type
  pattern Commitment_Type_GENERALPURPOSE = Commitment_Type "GENERAL_PURPOSE"
  
  pattern Commitment_Type_GENERAL_PURPOSE_C4 :: Commitment_Type
  pattern Commitment_Type_GENERAL_PURPOSE_C4 = Commitment_Type "GENERAL_PURPOSE_C4"
  
  pattern Commitment_Type_GENERALPURPOSEC4A :: Commitment_Type
  pattern Commitment_Type_GENERALPURPOSEC4A = Commitment_Type "GENERAL_PURPOSE_C4A"
  
  pattern Commitment_Type_GENERAL_PURPOSE_E2 :: Commitment_Type
  pattern Commitment_Type_GENERAL_PURPOSE_E2 = Commitment_Type "GENERAL_PURPOSE_E2"
  
  pattern Commitment_Type_GENERAL_PURPOSE_N2 :: Commitment_Type
  pattern Commitment_Type_GENERAL_PURPOSE_N2 = Commitment_Type "GENERAL_PURPOSE_N2"
  
  pattern Commitment_Type_GENERALPURPOSEN2D :: Commitment_Type
  pattern Commitment_Type_GENERALPURPOSEN2D = Commitment_Type "GENERAL_PURPOSE_N2D"
  
  pattern Commitment_Type_GENERAL_PURPOSE_N4 :: Commitment_Type
  pattern Commitment_Type_GENERAL_PURPOSE_N4 = Commitment_Type "GENERAL_PURPOSE_N4"
  
  pattern Commitment_Type_GENERALPURPOSET2D :: Commitment_Type
  pattern Commitment_Type_GENERALPURPOSET2D = Commitment_Type "GENERAL_PURPOSE_T2D"
  
  pattern Commitment_Type_GRAPHICSOPTIMIZED :: Commitment_Type
  pattern Commitment_Type_GRAPHICSOPTIMIZED = Commitment_Type "GRAPHICS_OPTIMIZED"
  
  pattern Commitment_Type_MEMORYOPTIMIZED :: Commitment_Type
  pattern Commitment_Type_MEMORYOPTIMIZED = Commitment_Type "MEMORY_OPTIMIZED"
  
  pattern Commitment_Type_MEMORY_OPTIMIZED_M3 :: Commitment_Type
  pattern Commitment_Type_MEMORY_OPTIMIZED_M3 = Commitment_Type "MEMORY_OPTIMIZED_M3"
  
  pattern Commitment_Type_MEMORYOPTIMIZEDX416TB :: Commitment_Type
  pattern Commitment_Type_MEMORYOPTIMIZEDX416TB = Commitment_Type "MEMORY_OPTIMIZED_X4_16TB"
  
  pattern Commitment_Type_MEMORYOPTIMIZEDX424TB :: Commitment_Type
  pattern Commitment_Type_MEMORYOPTIMIZEDX424TB = Commitment_Type "MEMORY_OPTIMIZED_X4_24TB"
  
  pattern Commitment_Type_MEMORYOPTIMIZEDX432TB :: Commitment_Type
  pattern Commitment_Type_MEMORYOPTIMIZEDX432TB = Commitment_Type "MEMORY_OPTIMIZED_X4_32TB"
  
  pattern Commitment_Type_STORAGE_OPTIMIZED_Z3 :: Commitment_Type
  pattern Commitment_Type_STORAGE_OPTIMIZED_Z3 = Commitment_Type "STORAGE_OPTIMIZED_Z3"
  
  -- | Note for internal users: When adding a new enum Type for v1, make sure to also add it in the comment for the @optional Type type@ definition. This ensures that the public documentation displays the new enum Type.
  pattern Commitment_Type_TYPEUNSPECIFIED :: Commitment_Type
  pattern Commitment_Type_TYPEUNSPECIFIED = Commitment_Type "TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    Commitment_Type_ACCELERATOROPTIMIZED,
    Commitment_Type_ACCELERATOR_OPTIMIZED_A3,
    Commitment_Type_ACCELERATOROPTIMIZEDA3MEGA,
    Commitment_Type_ACCELERATOROPTIMIZEDA3ULTRA,
    Commitment_Type_COMPUTEOPTIMIZED,
    Commitment_Type_COMPUTEOPTIMIZEDC2D,
    Commitment_Type_COMPUTE_OPTIMIZED_C3,
    Commitment_Type_COMPUTEOPTIMIZEDC3D,
    Commitment_Type_COMPUTE_OPTIMIZED_H3,
    Commitment_Type_GENERALPURPOSE,
    Commitment_Type_GENERAL_PURPOSE_C4,
    Commitment_Type_GENERALPURPOSEC4A,
    Commitment_Type_GENERAL_PURPOSE_E2,
    Commitment_Type_GENERAL_PURPOSE_N2,
    Commitment_Type_GENERALPURPOSEN2D,
    Commitment_Type_GENERAL_PURPOSE_N4,
    Commitment_Type_GENERALPURPOSET2D,
    Commitment_Type_GRAPHICSOPTIMIZED,
    Commitment_Type_MEMORYOPTIMIZED,
    Commitment_Type_MEMORY_OPTIMIZED_M3,
    Commitment_Type_MEMORYOPTIMIZEDX416TB,
    Commitment_Type_MEMORYOPTIMIZEDX424TB,
    Commitment_Type_MEMORYOPTIMIZEDX432TB,
    Commitment_Type_STORAGE_OPTIMIZED_Z3,
    Commitment_Type_TYPEUNSPECIFIED,
    Commitment_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype CommitmentAggregatedList_Warning_Code = CommitmentAggregatedList_Warning_Code {fromCommitmentAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern CommitmentAggregatedList_Warning_Code_CLEANUPFAILED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_CLEANUPFAILED = CommitmentAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern CommitmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = CommitmentAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern CommitmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = CommitmentAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern CommitmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = CommitmentAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern CommitmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = CommitmentAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern CommitmentAggregatedList_Warning_Code_EXTERNALAPIWARNING :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_EXTERNALAPIWARNING = CommitmentAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern CommitmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = CommitmentAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern CommitmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = CommitmentAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern CommitmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = CommitmentAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern CommitmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = CommitmentAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern CommitmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = CommitmentAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern CommitmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = CommitmentAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = CommitmentAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = CommitmentAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = CommitmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = CommitmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = CommitmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = CommitmentAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern CommitmentAggregatedList_Warning_Code_NOTCRITICALERROR :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NOTCRITICALERROR = CommitmentAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern CommitmentAggregatedList_Warning_Code_NORESULTSONPAGE :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_NORESULTSONPAGE = CommitmentAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern CommitmentAggregatedList_Warning_Code_PARTIALSUCCESS :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_PARTIALSUCCESS = CommitmentAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern CommitmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = CommitmentAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern CommitmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = CommitmentAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern CommitmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = CommitmentAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern CommitmentAggregatedList_Warning_Code_RESOURCENOTDELETED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_RESOURCENOTDELETED = CommitmentAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern CommitmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = CommitmentAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern CommitmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = CommitmentAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern CommitmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = CommitmentAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern CommitmentAggregatedList_Warning_Code_Unreachable :: CommitmentAggregatedList_Warning_Code
  pattern CommitmentAggregatedList_Warning_Code_Unreachable = CommitmentAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    CommitmentAggregatedList_Warning_Code_CLEANUPFAILED,
    CommitmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    CommitmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    CommitmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    CommitmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    CommitmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    CommitmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    CommitmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    CommitmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    CommitmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    CommitmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    CommitmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    CommitmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    CommitmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    CommitmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    CommitmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    CommitmentAggregatedList_Warning_Code_NOTCRITICALERROR,
    CommitmentAggregatedList_Warning_Code_NORESULTSONPAGE,
    CommitmentAggregatedList_Warning_Code_PARTIALSUCCESS,
    CommitmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    CommitmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    CommitmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    CommitmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
    CommitmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    CommitmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    CommitmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    CommitmentAggregatedList_Warning_Code_Unreachable,
    CommitmentAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype CommitmentList_Warning_Code = CommitmentList_Warning_Code {fromCommitmentList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern CommitmentList_Warning_Code_CLEANUPFAILED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_CLEANUPFAILED = CommitmentList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern CommitmentList_Warning_Code_DEPRECATEDRESOURCEUSED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_DEPRECATEDRESOURCEUSED = CommitmentList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern CommitmentList_Warning_Code_DEPRECATEDTYPEUSED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_DEPRECATEDTYPEUSED = CommitmentList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern CommitmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = CommitmentList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern CommitmentList_Warning_Code_EXPERIMENTALTYPEUSED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_EXPERIMENTALTYPEUSED = CommitmentList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern CommitmentList_Warning_Code_EXTERNALAPIWARNING :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_EXTERNALAPIWARNING = CommitmentList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern CommitmentList_Warning_Code_FIELDVALUEOVERRIDEN :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_FIELDVALUEOVERRIDEN = CommitmentList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern CommitmentList_Warning_Code_INJECTEDKERNELSDEPRECATED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_INJECTEDKERNELSDEPRECATED = CommitmentList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern CommitmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = CommitmentList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern CommitmentList_Warning_Code_LARGEDEPLOYMENTWARNING :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_LARGEDEPLOYMENTWARNING = CommitmentList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern CommitmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED = CommitmentList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern CommitmentList_Warning_Code_MISSINGTYPEDEPENDENCY :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_MISSINGTYPEDEPENDENCY = CommitmentList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern CommitmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = CommitmentList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern CommitmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD = CommitmentList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = CommitmentList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND = CommitmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = CommitmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern CommitmentList_Warning_Code_NEXTHOPNOTRUNNING :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NEXTHOPNOTRUNNING = CommitmentList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern CommitmentList_Warning_Code_NOTCRITICALERROR :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NOTCRITICALERROR = CommitmentList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern CommitmentList_Warning_Code_NORESULTSONPAGE :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_NORESULTSONPAGE = CommitmentList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern CommitmentList_Warning_Code_PARTIALSUCCESS :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_PARTIALSUCCESS = CommitmentList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern CommitmentList_Warning_Code_QUOTAINFOUNAVAILABLE :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_QUOTAINFOUNAVAILABLE = CommitmentList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern CommitmentList_Warning_Code_REQUIREDTOSAGREEMENT :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_REQUIREDTOSAGREEMENT = CommitmentList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern CommitmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = CommitmentList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern CommitmentList_Warning_Code_RESOURCENOTDELETED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_RESOURCENOTDELETED = CommitmentList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern CommitmentList_Warning_Code_SCHEMAVALIDATIONIGNORED :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_SCHEMAVALIDATIONIGNORED = CommitmentList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern CommitmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = CommitmentList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern CommitmentList_Warning_Code_UNDECLAREDPROPERTIES :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_UNDECLAREDPROPERTIES = CommitmentList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern CommitmentList_Warning_Code_Unreachable :: CommitmentList_Warning_Code
  pattern CommitmentList_Warning_Code_Unreachable = CommitmentList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    CommitmentList_Warning_Code_CLEANUPFAILED,
    CommitmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
    CommitmentList_Warning_Code_DEPRECATEDTYPEUSED,
    CommitmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    CommitmentList_Warning_Code_EXPERIMENTALTYPEUSED,
    CommitmentList_Warning_Code_EXTERNALAPIWARNING,
    CommitmentList_Warning_Code_FIELDVALUEOVERRIDEN,
    CommitmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    CommitmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    CommitmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
    CommitmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    CommitmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
    CommitmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    CommitmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    CommitmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    CommitmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    CommitmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    CommitmentList_Warning_Code_NEXTHOPNOTRUNNING,
    CommitmentList_Warning_Code_NOTCRITICALERROR,
    CommitmentList_Warning_Code_NORESULTSONPAGE,
    CommitmentList_Warning_Code_PARTIALSUCCESS,
    CommitmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
    CommitmentList_Warning_Code_REQUIREDTOSAGREEMENT,
    CommitmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    CommitmentList_Warning_Code_RESOURCENOTDELETED,
    CommitmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    CommitmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    CommitmentList_Warning_Code_UNDECLAREDPROPERTIES,
    CommitmentList_Warning_Code_Unreachable,
    CommitmentList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype CommitmentsScopedList_Warning_Code = CommitmentsScopedList_Warning_Code {fromCommitmentsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern CommitmentsScopedList_Warning_Code_CLEANUPFAILED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_CLEANUPFAILED = CommitmentsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern CommitmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = CommitmentsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern CommitmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED = CommitmentsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern CommitmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = CommitmentsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern CommitmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = CommitmentsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern CommitmentsScopedList_Warning_Code_EXTERNALAPIWARNING :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_EXTERNALAPIWARNING = CommitmentsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern CommitmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = CommitmentsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern CommitmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = CommitmentsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern CommitmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = CommitmentsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern CommitmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = CommitmentsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern CommitmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = CommitmentsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern CommitmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = CommitmentsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = CommitmentsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = CommitmentsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = CommitmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = CommitmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = CommitmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING = CommitmentsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern CommitmentsScopedList_Warning_Code_NOTCRITICALERROR :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NOTCRITICALERROR = CommitmentsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern CommitmentsScopedList_Warning_Code_NORESULTSONPAGE :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_NORESULTSONPAGE = CommitmentsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern CommitmentsScopedList_Warning_Code_PARTIALSUCCESS :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_PARTIALSUCCESS = CommitmentsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern CommitmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = CommitmentsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern CommitmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = CommitmentsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern CommitmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = CommitmentsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern CommitmentsScopedList_Warning_Code_RESOURCENOTDELETED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_RESOURCENOTDELETED = CommitmentsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern CommitmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = CommitmentsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern CommitmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = CommitmentsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern CommitmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES = CommitmentsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern CommitmentsScopedList_Warning_Code_Unreachable :: CommitmentsScopedList_Warning_Code
  pattern CommitmentsScopedList_Warning_Code_Unreachable = CommitmentsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    CommitmentsScopedList_Warning_Code_CLEANUPFAILED,
    CommitmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    CommitmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    CommitmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    CommitmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    CommitmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
    CommitmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    CommitmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    CommitmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    CommitmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    CommitmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    CommitmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    CommitmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    CommitmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    CommitmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    CommitmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    CommitmentsScopedList_Warning_Code_NOTCRITICALERROR,
    CommitmentsScopedList_Warning_Code_NORESULTSONPAGE,
    CommitmentsScopedList_Warning_Code_PARTIALSUCCESS,
    CommitmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    CommitmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    CommitmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    CommitmentsScopedList_Warning_Code_RESOURCENOTDELETED,
    CommitmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    CommitmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    CommitmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    CommitmentsScopedList_Warning_Code_Unreachable,
    CommitmentsScopedList_Warning_Code
    #-}
  
  -- | Defines the type of technology used by the confidential instance.
  newtype ConfidentialInstanceConfig_ConfidentialInstanceType = ConfidentialInstanceConfig_ConfidentialInstanceType {fromConfidentialInstanceConfig_ConfidentialInstanceType :: 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
      )
  
  -- | No type specified. Do not use this value.
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_CONFIDENTIALINSTANCETYPEUNSPECIFIED :: ConfidentialInstanceConfig_ConfidentialInstanceType
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_CONFIDENTIALINSTANCETYPEUNSPECIFIED = ConfidentialInstanceConfig_ConfidentialInstanceType "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED"
  
  -- | AMD Secure Encrypted Virtualization.
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_Sev :: ConfidentialInstanceConfig_ConfidentialInstanceType
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_Sev = ConfidentialInstanceConfig_ConfidentialInstanceType "SEV"
  
  -- | AMD Secure Encrypted Virtualization - Secure Nested Paging.
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_SEVSNP :: ConfidentialInstanceConfig_ConfidentialInstanceType
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_SEVSNP = ConfidentialInstanceConfig_ConfidentialInstanceType "SEV_SNP"
  
  -- | Intel Trust Domain eXtension.
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_Tdx :: ConfidentialInstanceConfig_ConfidentialInstanceType
  pattern ConfidentialInstanceConfig_ConfidentialInstanceType_Tdx = ConfidentialInstanceConfig_ConfidentialInstanceType "TDX"
  
  {-# COMPLETE
    ConfidentialInstanceConfig_ConfidentialInstanceType_CONFIDENTIALINSTANCETYPEUNSPECIFIED,
    ConfidentialInstanceConfig_ConfidentialInstanceType_Sev,
    ConfidentialInstanceConfig_ConfidentialInstanceType_SEVSNP,
    ConfidentialInstanceConfig_ConfidentialInstanceType_Tdx,
    ConfidentialInstanceConfig_ConfidentialInstanceType
    #-}
  
  -- | The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.
  newtype DeprecationStatus_State = DeprecationStatus_State {fromDeprecationStatus_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
      )
  
  pattern DeprecationStatus_State_Active :: DeprecationStatus_State
  pattern DeprecationStatus_State_Active = DeprecationStatus_State "ACTIVE"
  
  pattern DeprecationStatus_State_Deleted :: DeprecationStatus_State
  pattern DeprecationStatus_State_Deleted = DeprecationStatus_State "DELETED"
  
  pattern DeprecationStatus_State_Deprecated :: DeprecationStatus_State
  pattern DeprecationStatus_State_Deprecated = DeprecationStatus_State "DEPRECATED"
  
  pattern DeprecationStatus_State_Obsolete :: DeprecationStatus_State
  pattern DeprecationStatus_State_Obsolete = DeprecationStatus_State "OBSOLETE"
  
  {-# COMPLETE
    DeprecationStatus_State_Active,
    DeprecationStatus_State_Deleted,
    DeprecationStatus_State_Deprecated,
    DeprecationStatus_State_Obsolete,
    DeprecationStatus_State
    #-}
  
  -- | The access mode of the disk. - READ/WRITE/SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ/WRITE/MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ/ONLY/MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.
  newtype Disk_AccessMode = Disk_AccessMode {fromDisk_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
      )
  
  -- | The AccessMode means the disk can be attached to multiple instances in RO mode.
  pattern Disk_AccessMode_READONLYMANY :: Disk_AccessMode
  pattern Disk_AccessMode_READONLYMANY = Disk_AccessMode "READ_ONLY_MANY"
  
  -- | The AccessMode means the disk can be attached to multiple instances in RW mode.
  pattern Disk_AccessMode_READWRITEMANY :: Disk_AccessMode
  pattern Disk_AccessMode_READWRITEMANY = Disk_AccessMode "READ_WRITE_MANY"
  
  -- | The default AccessMode, means the disk can be attached to single instance in RW mode.
  pattern Disk_AccessMode_READWRITESINGLE :: Disk_AccessMode
  pattern Disk_AccessMode_READWRITESINGLE = Disk_AccessMode "READ_WRITE_SINGLE"
  
  {-# COMPLETE
    Disk_AccessMode_READONLYMANY,
    Disk_AccessMode_READWRITEMANY,
    Disk_AccessMode_READWRITESINGLE,
    Disk_AccessMode
    #-}
  
  -- | The architecture of the disk. Valid values are ARM64 or X86_64.
  newtype Disk_Architecture = Disk_Architecture {fromDisk_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern Disk_Architecture_ARCHITECTUREUNSPECIFIED :: Disk_Architecture
  pattern Disk_Architecture_ARCHITECTUREUNSPECIFIED = Disk_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern Disk_Architecture_ARM64 :: Disk_Architecture
  pattern Disk_Architecture_ARM64 = Disk_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern Disk_Architecture_X86_64 :: Disk_Architecture
  pattern Disk_Architecture_X86_64 = Disk_Architecture "X86_64"
  
  {-# COMPLETE
    Disk_Architecture_ARCHITECTUREUNSPECIFIED,
    Disk_Architecture_ARM64,
    Disk_Architecture_X86_64,
    Disk_Architecture
    #-}
  
  -- | [Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting.
  newtype Disk_Status = Disk_Status {fromDisk_Status :: 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
      )
  
  -- | Disk is provisioning
  pattern Disk_Status_Creating :: Disk_Status
  pattern Disk_Status_Creating = Disk_Status "CREATING"
  
  -- | Disk is deleting.
  pattern Disk_Status_Deleting :: Disk_Status
  pattern Disk_Status_Deleting = Disk_Status "DELETING"
  
  -- | Disk creation failed.
  pattern Disk_Status_Failed :: Disk_Status
  pattern Disk_Status_Failed = Disk_Status "FAILED"
  
  -- | Disk is ready for use.
  pattern Disk_Status_Ready :: Disk_Status
  pattern Disk_Status_Ready = Disk_Status "READY"
  
  -- | Source data is being copied into the disk.
  pattern Disk_Status_Restoring :: Disk_Status
  pattern Disk_Status_Restoring = Disk_Status "RESTORING"
  
  -- | Disk is currently unavailable and cannot be accessed, attached or detached.
  pattern Disk_Status_Unavailable :: Disk_Status
  pattern Disk_Status_Unavailable = Disk_Status "UNAVAILABLE"
  
  {-# COMPLETE
    Disk_Status_Creating,
    Disk_Status_Deleting,
    Disk_Status_Failed,
    Disk_Status_Ready,
    Disk_Status_Restoring,
    Disk_Status_Unavailable,
    Disk_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DiskAggregatedList_Warning_Code = DiskAggregatedList_Warning_Code {fromDiskAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DiskAggregatedList_Warning_Code_CLEANUPFAILED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_CLEANUPFAILED = DiskAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DiskAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = DiskAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DiskAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = DiskAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DiskAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DiskAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DiskAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = DiskAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DiskAggregatedList_Warning_Code_EXTERNALAPIWARNING :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_EXTERNALAPIWARNING = DiskAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DiskAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = DiskAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DiskAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = DiskAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DiskAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DiskAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DiskAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = DiskAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DiskAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DiskAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DiskAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = DiskAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DiskAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DiskAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DiskAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DiskAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DiskAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DiskAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = DiskAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DiskAggregatedList_Warning_Code_NOTCRITICALERROR :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NOTCRITICALERROR = DiskAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DiskAggregatedList_Warning_Code_NORESULTSONPAGE :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_NORESULTSONPAGE = DiskAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DiskAggregatedList_Warning_Code_PARTIALSUCCESS :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_PARTIALSUCCESS = DiskAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DiskAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = DiskAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DiskAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = DiskAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DiskAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DiskAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DiskAggregatedList_Warning_Code_RESOURCENOTDELETED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_RESOURCENOTDELETED = DiskAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DiskAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = DiskAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DiskAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DiskAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DiskAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = DiskAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DiskAggregatedList_Warning_Code_Unreachable :: DiskAggregatedList_Warning_Code
  pattern DiskAggregatedList_Warning_Code_Unreachable = DiskAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DiskAggregatedList_Warning_Code_CLEANUPFAILED,
    DiskAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DiskAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    DiskAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DiskAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    DiskAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    DiskAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    DiskAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DiskAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DiskAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DiskAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DiskAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DiskAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DiskAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DiskAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DiskAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DiskAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    DiskAggregatedList_Warning_Code_NOTCRITICALERROR,
    DiskAggregatedList_Warning_Code_NORESULTSONPAGE,
    DiskAggregatedList_Warning_Code_PARTIALSUCCESS,
    DiskAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DiskAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    DiskAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DiskAggregatedList_Warning_Code_RESOURCENOTDELETED,
    DiskAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DiskAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DiskAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    DiskAggregatedList_Warning_Code_Unreachable,
    DiskAggregatedList_Warning_Code
    #-}
  
  -- | Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance\'s corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance\'s corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks.
  newtype DiskInstantiationConfig_InstantiateFrom = DiskInstantiationConfig_InstantiateFrom {fromDiskInstantiationConfig_InstantiateFrom :: 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
      )
  
  -- | Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.
  pattern DiskInstantiationConfig_InstantiateFrom_ATTACHREADONLY :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_ATTACHREADONLY = DiskInstantiationConfig_InstantiateFrom "ATTACH_READ_ONLY"
  
  -- | Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.
  pattern DiskInstantiationConfig_InstantiateFrom_Blank :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_Blank = DiskInstantiationConfig_InstantiateFrom "BLANK"
  
  -- | Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.
  pattern DiskInstantiationConfig_InstantiateFrom_CUSTOMIMAGE :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_CUSTOMIMAGE = DiskInstantiationConfig_InstantiateFrom "CUSTOM_IMAGE"
  
  -- | Use the default instantiation option for the corresponding type of disk. For boot disk and any other R\/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.
  pattern DiskInstantiationConfig_InstantiateFrom_Default :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_Default = DiskInstantiationConfig_InstantiateFrom "DEFAULT"
  
  -- | Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.
  pattern DiskInstantiationConfig_InstantiateFrom_DONOTINCLUDE :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_DONOTINCLUDE = DiskInstantiationConfig_InstantiateFrom "DO_NOT_INCLUDE"
  
  -- | Use the same source image used for creation of the source instance\'s corresponding disk. The request will fail if the source VM\'s disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.
  pattern DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGE :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGE = DiskInstantiationConfig_InstantiateFrom "SOURCE_IMAGE"
  
  -- | Use the same source image family used for creation of the source instance\'s corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks.
  pattern DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGEFAMILY :: DiskInstantiationConfig_InstantiateFrom
  pattern DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGEFAMILY = DiskInstantiationConfig_InstantiateFrom "SOURCE_IMAGE_FAMILY"
  
  {-# COMPLETE
    DiskInstantiationConfig_InstantiateFrom_ATTACHREADONLY,
    DiskInstantiationConfig_InstantiateFrom_Blank,
    DiskInstantiationConfig_InstantiateFrom_CUSTOMIMAGE,
    DiskInstantiationConfig_InstantiateFrom_Default,
    DiskInstantiationConfig_InstantiateFrom_DONOTINCLUDE,
    DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGE,
    DiskInstantiationConfig_InstantiateFrom_SOURCEIMAGEFAMILY,
    DiskInstantiationConfig_InstantiateFrom
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DiskList_Warning_Code = DiskList_Warning_Code {fromDiskList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DiskList_Warning_Code_CLEANUPFAILED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_CLEANUPFAILED = DiskList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DiskList_Warning_Code_DEPRECATEDRESOURCEUSED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_DEPRECATEDRESOURCEUSED = DiskList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DiskList_Warning_Code_DEPRECATEDTYPEUSED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_DEPRECATEDTYPEUSED = DiskList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DiskList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DiskList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DiskList_Warning_Code_EXPERIMENTALTYPEUSED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_EXPERIMENTALTYPEUSED = DiskList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DiskList_Warning_Code_EXTERNALAPIWARNING :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_EXTERNALAPIWARNING = DiskList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DiskList_Warning_Code_FIELDVALUEOVERRIDEN :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_FIELDVALUEOVERRIDEN = DiskList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DiskList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_INJECTEDKERNELSDEPRECATED = DiskList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DiskList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DiskList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DiskList_Warning_Code_LARGEDEPLOYMENTWARNING :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_LARGEDEPLOYMENTWARNING = DiskList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DiskList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DiskList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DiskList_Warning_Code_MISSINGTYPEDEPENDENCY :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_MISSINGTYPEDEPENDENCY = DiskList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DiskList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DiskList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DiskList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DiskList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DiskList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DiskList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DiskList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DiskList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DiskList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DiskList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DiskList_Warning_Code_NEXTHOPNOTRUNNING :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NEXTHOPNOTRUNNING = DiskList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DiskList_Warning_Code_NOTCRITICALERROR :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NOTCRITICALERROR = DiskList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DiskList_Warning_Code_NORESULTSONPAGE :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_NORESULTSONPAGE = DiskList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DiskList_Warning_Code_PARTIALSUCCESS :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_PARTIALSUCCESS = DiskList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DiskList_Warning_Code_QUOTAINFOUNAVAILABLE :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_QUOTAINFOUNAVAILABLE = DiskList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DiskList_Warning_Code_REQUIREDTOSAGREEMENT :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_REQUIREDTOSAGREEMENT = DiskList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DiskList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DiskList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DiskList_Warning_Code_RESOURCENOTDELETED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_RESOURCENOTDELETED = DiskList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DiskList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_SCHEMAVALIDATIONIGNORED = DiskList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DiskList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DiskList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DiskList_Warning_Code_UNDECLAREDPROPERTIES :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_UNDECLAREDPROPERTIES = DiskList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DiskList_Warning_Code_Unreachable :: DiskList_Warning_Code
  pattern DiskList_Warning_Code_Unreachable = DiskList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DiskList_Warning_Code_CLEANUPFAILED,
    DiskList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DiskList_Warning_Code_DEPRECATEDTYPEUSED,
    DiskList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DiskList_Warning_Code_EXPERIMENTALTYPEUSED,
    DiskList_Warning_Code_EXTERNALAPIWARNING,
    DiskList_Warning_Code_FIELDVALUEOVERRIDEN,
    DiskList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DiskList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DiskList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DiskList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DiskList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DiskList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DiskList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DiskList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DiskList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DiskList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DiskList_Warning_Code_NEXTHOPNOTRUNNING,
    DiskList_Warning_Code_NOTCRITICALERROR,
    DiskList_Warning_Code_NORESULTSONPAGE,
    DiskList_Warning_Code_PARTIALSUCCESS,
    DiskList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DiskList_Warning_Code_REQUIREDTOSAGREEMENT,
    DiskList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DiskList_Warning_Code_RESOURCENOTDELETED,
    DiskList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DiskList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DiskList_Warning_Code_UNDECLAREDPROPERTIES,
    DiskList_Warning_Code_Unreachable,
    DiskList_Warning_Code
    #-}
  
  newtype DiskResourceStatusAsyncReplicationStatus_State = DiskResourceStatusAsyncReplicationStatus_State {fromDiskResourceStatusAsyncReplicationStatus_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
      )
  
  -- | Replication is active.
  pattern DiskResourceStatusAsyncReplicationStatus_State_Active :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_Active = DiskResourceStatusAsyncReplicationStatus_State "ACTIVE"
  
  -- | Secondary disk is created and is waiting for replication to start.
  pattern DiskResourceStatusAsyncReplicationStatus_State_Created :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_Created = DiskResourceStatusAsyncReplicationStatus_State "CREATED"
  
  -- | Replication is starting.
  pattern DiskResourceStatusAsyncReplicationStatus_State_Starting :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_Starting = DiskResourceStatusAsyncReplicationStatus_State "STARTING"
  
  pattern DiskResourceStatusAsyncReplicationStatus_State_STATEUNSPECIFIED :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_STATEUNSPECIFIED = DiskResourceStatusAsyncReplicationStatus_State "STATE_UNSPECIFIED"
  
  -- | Replication is stopped.
  pattern DiskResourceStatusAsyncReplicationStatus_State_Stopped :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_Stopped = DiskResourceStatusAsyncReplicationStatus_State "STOPPED"
  
  -- | Replication is stopping.
  pattern DiskResourceStatusAsyncReplicationStatus_State_Stopping :: DiskResourceStatusAsyncReplicationStatus_State
  pattern DiskResourceStatusAsyncReplicationStatus_State_Stopping = DiskResourceStatusAsyncReplicationStatus_State "STOPPING"
  
  {-# COMPLETE
    DiskResourceStatusAsyncReplicationStatus_State_Active,
    DiskResourceStatusAsyncReplicationStatus_State_Created,
    DiskResourceStatusAsyncReplicationStatus_State_Starting,
    DiskResourceStatusAsyncReplicationStatus_State_STATEUNSPECIFIED,
    DiskResourceStatusAsyncReplicationStatus_State_Stopped,
    DiskResourceStatusAsyncReplicationStatus_State_Stopping,
    DiskResourceStatusAsyncReplicationStatus_State
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DiskTypeAggregatedList_Warning_Code = DiskTypeAggregatedList_Warning_Code {fromDiskTypeAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DiskTypeAggregatedList_Warning_Code_CLEANUPFAILED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_CLEANUPFAILED = DiskTypeAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DiskTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = DiskTypeAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DiskTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = DiskTypeAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DiskTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DiskTypeAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DiskTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = DiskTypeAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DiskTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING = DiskTypeAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DiskTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = DiskTypeAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DiskTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = DiskTypeAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DiskTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DiskTypeAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DiskTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = DiskTypeAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DiskTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DiskTypeAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DiskTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = DiskTypeAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = DiskTypeAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DiskTypeAggregatedList_Warning_Code_NOTCRITICALERROR :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NOTCRITICALERROR = DiskTypeAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DiskTypeAggregatedList_Warning_Code_NORESULTSONPAGE :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_NORESULTSONPAGE = DiskTypeAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DiskTypeAggregatedList_Warning_Code_PARTIALSUCCESS :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_PARTIALSUCCESS = DiskTypeAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DiskTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = DiskTypeAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DiskTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = DiskTypeAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DiskTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DiskTypeAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DiskTypeAggregatedList_Warning_Code_RESOURCENOTDELETED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_RESOURCENOTDELETED = DiskTypeAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DiskTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = DiskTypeAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DiskTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DiskTypeAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DiskTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = DiskTypeAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DiskTypeAggregatedList_Warning_Code_Unreachable :: DiskTypeAggregatedList_Warning_Code
  pattern DiskTypeAggregatedList_Warning_Code_Unreachable = DiskTypeAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DiskTypeAggregatedList_Warning_Code_CLEANUPFAILED,
    DiskTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DiskTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    DiskTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DiskTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    DiskTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    DiskTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    DiskTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DiskTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DiskTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DiskTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DiskTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DiskTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    DiskTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
    DiskTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
    DiskTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
    DiskTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DiskTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    DiskTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DiskTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
    DiskTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DiskTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DiskTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    DiskTypeAggregatedList_Warning_Code_Unreachable,
    DiskTypeAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DiskTypeList_Warning_Code = DiskTypeList_Warning_Code {fromDiskTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DiskTypeList_Warning_Code_CLEANUPFAILED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_CLEANUPFAILED = DiskTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = DiskTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DiskTypeList_Warning_Code_DEPRECATEDTYPEUSED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_DEPRECATEDTYPEUSED = DiskTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DiskTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED = DiskTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DiskTypeList_Warning_Code_EXTERNALAPIWARNING :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_EXTERNALAPIWARNING = DiskTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN = DiskTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = DiskTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DiskTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = DiskTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DiskTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = DiskTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DiskTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DiskTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DiskTypeList_Warning_Code_NEXTHOPNOTRUNNING :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NEXTHOPNOTRUNNING = DiskTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DiskTypeList_Warning_Code_NOTCRITICALERROR :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NOTCRITICALERROR = DiskTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DiskTypeList_Warning_Code_NORESULTSONPAGE :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_NORESULTSONPAGE = DiskTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DiskTypeList_Warning_Code_PARTIALSUCCESS :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_PARTIALSUCCESS = DiskTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = DiskTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT = DiskTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DiskTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DiskTypeList_Warning_Code_RESOURCENOTDELETED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_RESOURCENOTDELETED = DiskTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = DiskTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DiskTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DiskTypeList_Warning_Code_UNDECLAREDPROPERTIES :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_UNDECLAREDPROPERTIES = DiskTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DiskTypeList_Warning_Code_Unreachable :: DiskTypeList_Warning_Code
  pattern DiskTypeList_Warning_Code_Unreachable = DiskTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DiskTypeList_Warning_Code_CLEANUPFAILED,
    DiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DiskTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    DiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    DiskTypeList_Warning_Code_EXTERNALAPIWARNING,
    DiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    DiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DiskTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    DiskTypeList_Warning_Code_NOTCRITICALERROR,
    DiskTypeList_Warning_Code_NORESULTSONPAGE,
    DiskTypeList_Warning_Code_PARTIALSUCCESS,
    DiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    DiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DiskTypeList_Warning_Code_RESOURCENOTDELETED,
    DiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DiskTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    DiskTypeList_Warning_Code_Unreachable,
    DiskTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DiskTypesScopedList_Warning_Code = DiskTypesScopedList_Warning_Code {fromDiskTypesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DiskTypesScopedList_Warning_Code_CLEANUPFAILED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_CLEANUPFAILED = DiskTypesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DiskTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = DiskTypesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DiskTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED = DiskTypesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DiskTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DiskTypesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DiskTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = DiskTypesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DiskTypesScopedList_Warning_Code_EXTERNALAPIWARNING :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_EXTERNALAPIWARNING = DiskTypesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DiskTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = DiskTypesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DiskTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = DiskTypesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DiskTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DiskTypesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DiskTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = DiskTypesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DiskTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DiskTypesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DiskTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = DiskTypesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DiskTypesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DiskTypesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DiskTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DiskTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DiskTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING = DiskTypesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DiskTypesScopedList_Warning_Code_NOTCRITICALERROR :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NOTCRITICALERROR = DiskTypesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DiskTypesScopedList_Warning_Code_NORESULTSONPAGE :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_NORESULTSONPAGE = DiskTypesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DiskTypesScopedList_Warning_Code_PARTIALSUCCESS :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_PARTIALSUCCESS = DiskTypesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DiskTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = DiskTypesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DiskTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = DiskTypesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DiskTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DiskTypesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DiskTypesScopedList_Warning_Code_RESOURCENOTDELETED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_RESOURCENOTDELETED = DiskTypesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DiskTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = DiskTypesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DiskTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DiskTypesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DiskTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES = DiskTypesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DiskTypesScopedList_Warning_Code_Unreachable :: DiskTypesScopedList_Warning_Code
  pattern DiskTypesScopedList_Warning_Code_Unreachable = DiskTypesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DiskTypesScopedList_Warning_Code_CLEANUPFAILED,
    DiskTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DiskTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    DiskTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DiskTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    DiskTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
    DiskTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    DiskTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DiskTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DiskTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DiskTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DiskTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DiskTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DiskTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DiskTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DiskTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    DiskTypesScopedList_Warning_Code_NOTCRITICALERROR,
    DiskTypesScopedList_Warning_Code_NORESULTSONPAGE,
    DiskTypesScopedList_Warning_Code_PARTIALSUCCESS,
    DiskTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DiskTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    DiskTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DiskTypesScopedList_Warning_Code_RESOURCENOTDELETED,
    DiskTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DiskTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DiskTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    DiskTypesScopedList_Warning_Code_Unreachable,
    DiskTypesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype DisksScopedList_Warning_Code = DisksScopedList_Warning_Code {fromDisksScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern DisksScopedList_Warning_Code_CLEANUPFAILED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_CLEANUPFAILED = DisksScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern DisksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = DisksScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern DisksScopedList_Warning_Code_DEPRECATEDTYPEUSED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_DEPRECATEDTYPEUSED = DisksScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern DisksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = DisksScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern DisksScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_EXPERIMENTALTYPEUSED = DisksScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern DisksScopedList_Warning_Code_EXTERNALAPIWARNING :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_EXTERNALAPIWARNING = DisksScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern DisksScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_FIELDVALUEOVERRIDEN = DisksScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern DisksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = DisksScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern DisksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = DisksScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern DisksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = DisksScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern DisksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = DisksScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern DisksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = DisksScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern DisksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = DisksScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern DisksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = DisksScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = DisksScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = DisksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = DisksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern DisksScopedList_Warning_Code_NEXTHOPNOTRUNNING :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NEXTHOPNOTRUNNING = DisksScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern DisksScopedList_Warning_Code_NOTCRITICALERROR :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NOTCRITICALERROR = DisksScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern DisksScopedList_Warning_Code_NORESULTSONPAGE :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_NORESULTSONPAGE = DisksScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern DisksScopedList_Warning_Code_PARTIALSUCCESS :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_PARTIALSUCCESS = DisksScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern DisksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = DisksScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern DisksScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_REQUIREDTOSAGREEMENT = DisksScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern DisksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = DisksScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern DisksScopedList_Warning_Code_RESOURCENOTDELETED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_RESOURCENOTDELETED = DisksScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern DisksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = DisksScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern DisksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = DisksScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern DisksScopedList_Warning_Code_UNDECLAREDPROPERTIES :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_UNDECLAREDPROPERTIES = DisksScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern DisksScopedList_Warning_Code_Unreachable :: DisksScopedList_Warning_Code
  pattern DisksScopedList_Warning_Code_Unreachable = DisksScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    DisksScopedList_Warning_Code_CLEANUPFAILED,
    DisksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    DisksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    DisksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    DisksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    DisksScopedList_Warning_Code_EXTERNALAPIWARNING,
    DisksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    DisksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    DisksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    DisksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    DisksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    DisksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    DisksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    DisksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    DisksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    DisksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    DisksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    DisksScopedList_Warning_Code_NOTCRITICALERROR,
    DisksScopedList_Warning_Code_NORESULTSONPAGE,
    DisksScopedList_Warning_Code_PARTIALSUCCESS,
    DisksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    DisksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    DisksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    DisksScopedList_Warning_Code_RESOURCENOTDELETED,
    DisksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    DisksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    DisksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    DisksScopedList_Warning_Code_Unreachable,
    DisksScopedList_Warning_Code
    #-}
  
  -- | The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).
  newtype DistributionPolicy_TargetShape = DistributionPolicy_TargetShape {fromDistributionPolicy_TargetShape :: 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 group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.
  pattern DistributionPolicy_TargetShape_Any :: DistributionPolicy_TargetShape
  pattern DistributionPolicy_TargetShape_Any = DistributionPolicy_TargetShape "ANY"
  
  -- | The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.
  pattern DistributionPolicy_TargetShape_ANYSINGLEZONE :: DistributionPolicy_TargetShape
  pattern DistributionPolicy_TargetShape_ANYSINGLEZONE = DistributionPolicy_TargetShape "ANY_SINGLE_ZONE"
  
  -- | The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.
  pattern DistributionPolicy_TargetShape_Balanced :: DistributionPolicy_TargetShape
  pattern DistributionPolicy_TargetShape_Balanced = DistributionPolicy_TargetShape "BALANCED"
  
  -- | The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads.
  pattern DistributionPolicy_TargetShape_Even :: DistributionPolicy_TargetShape
  pattern DistributionPolicy_TargetShape_Even = DistributionPolicy_TargetShape "EVEN"
  
  {-# COMPLETE
    DistributionPolicy_TargetShape_Any,
    DistributionPolicy_TargetShape_ANYSINGLEZONE,
    DistributionPolicy_TargetShape_Balanced,
    DistributionPolicy_TargetShape_Even,
    DistributionPolicy_TargetShape
    #-}
  
  -- | The type of the peering route.
  newtype ExchangedPeeringRoute_Type = ExchangedPeeringRoute_Type {fromExchangedPeeringRoute_Type :: 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
      )
  
  -- | For routes exported from local network.
  pattern ExchangedPeeringRoute_Type_DYNAMICPEERINGROUTE :: ExchangedPeeringRoute_Type
  pattern ExchangedPeeringRoute_Type_DYNAMICPEERINGROUTE = ExchangedPeeringRoute_Type "DYNAMIC_PEERING_ROUTE"
  
  -- | The peering route.
  pattern ExchangedPeeringRoute_Type_STATICPEERINGROUTE :: ExchangedPeeringRoute_Type
  pattern ExchangedPeeringRoute_Type_STATICPEERINGROUTE = ExchangedPeeringRoute_Type "STATIC_PEERING_ROUTE"
  
  -- | The peering route corresponding to subnetwork range.
  pattern ExchangedPeeringRoute_Type_SUBNETPEERINGROUTE :: ExchangedPeeringRoute_Type
  pattern ExchangedPeeringRoute_Type_SUBNETPEERINGROUTE = ExchangedPeeringRoute_Type "SUBNET_PEERING_ROUTE"
  
  {-# COMPLETE
    ExchangedPeeringRoute_Type_DYNAMICPEERINGROUTE,
    ExchangedPeeringRoute_Type_STATICPEERINGROUTE,
    ExchangedPeeringRoute_Type_SUBNETPEERINGROUTE,
    ExchangedPeeringRoute_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ExchangedPeeringRoutesList_Warning_Code = ExchangedPeeringRoutesList_Warning_Code {fromExchangedPeeringRoutesList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ExchangedPeeringRoutesList_Warning_Code_CLEANUPFAILED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_CLEANUPFAILED = ExchangedPeeringRoutesList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDRESOURCEUSED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDRESOURCEUSED = ExchangedPeeringRoutesList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDTYPEUSED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDTYPEUSED = ExchangedPeeringRoutesList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ExchangedPeeringRoutesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ExchangedPeeringRoutesList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ExchangedPeeringRoutesList_Warning_Code_EXPERIMENTALTYPEUSED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_EXPERIMENTALTYPEUSED = ExchangedPeeringRoutesList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ExchangedPeeringRoutesList_Warning_Code_EXTERNALAPIWARNING :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_EXTERNALAPIWARNING = ExchangedPeeringRoutesList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ExchangedPeeringRoutesList_Warning_Code_FIELDVALUEOVERRIDEN :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_FIELDVALUEOVERRIDEN = ExchangedPeeringRoutesList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ExchangedPeeringRoutesList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_INJECTEDKERNELSDEPRECATED = ExchangedPeeringRoutesList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ExchangedPeeringRoutesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ExchangedPeeringRoutesList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ExchangedPeeringRoutesList_Warning_Code_LARGEDEPLOYMENTWARNING :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_LARGEDEPLOYMENTWARNING = ExchangedPeeringRoutesList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ExchangedPeeringRoutesList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ExchangedPeeringRoutesList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ExchangedPeeringRoutesList_Warning_Code_MISSINGTYPEDEPENDENCY :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_MISSINGTYPEDEPENDENCY = ExchangedPeeringRoutesList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPNOTRUNNING :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NEXTHOPNOTRUNNING = ExchangedPeeringRoutesList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ExchangedPeeringRoutesList_Warning_Code_NOTCRITICALERROR :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NOTCRITICALERROR = ExchangedPeeringRoutesList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ExchangedPeeringRoutesList_Warning_Code_NORESULTSONPAGE :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_NORESULTSONPAGE = ExchangedPeeringRoutesList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ExchangedPeeringRoutesList_Warning_Code_PARTIALSUCCESS :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_PARTIALSUCCESS = ExchangedPeeringRoutesList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ExchangedPeeringRoutesList_Warning_Code_QUOTAINFOUNAVAILABLE :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_QUOTAINFOUNAVAILABLE = ExchangedPeeringRoutesList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ExchangedPeeringRoutesList_Warning_Code_REQUIREDTOSAGREEMENT :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_REQUIREDTOSAGREEMENT = ExchangedPeeringRoutesList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ExchangedPeeringRoutesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ExchangedPeeringRoutesList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ExchangedPeeringRoutesList_Warning_Code_RESOURCENOTDELETED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_RESOURCENOTDELETED = ExchangedPeeringRoutesList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ExchangedPeeringRoutesList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_SCHEMAVALIDATIONIGNORED = ExchangedPeeringRoutesList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ExchangedPeeringRoutesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ExchangedPeeringRoutesList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ExchangedPeeringRoutesList_Warning_Code_UNDECLAREDPROPERTIES :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_UNDECLAREDPROPERTIES = ExchangedPeeringRoutesList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ExchangedPeeringRoutesList_Warning_Code_Unreachable :: ExchangedPeeringRoutesList_Warning_Code
  pattern ExchangedPeeringRoutesList_Warning_Code_Unreachable = ExchangedPeeringRoutesList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ExchangedPeeringRoutesList_Warning_Code_CLEANUPFAILED,
    ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ExchangedPeeringRoutesList_Warning_Code_DEPRECATEDTYPEUSED,
    ExchangedPeeringRoutesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ExchangedPeeringRoutesList_Warning_Code_EXPERIMENTALTYPEUSED,
    ExchangedPeeringRoutesList_Warning_Code_EXTERNALAPIWARNING,
    ExchangedPeeringRoutesList_Warning_Code_FIELDVALUEOVERRIDEN,
    ExchangedPeeringRoutesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ExchangedPeeringRoutesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ExchangedPeeringRoutesList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ExchangedPeeringRoutesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ExchangedPeeringRoutesList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ExchangedPeeringRoutesList_Warning_Code_NEXTHOPNOTRUNNING,
    ExchangedPeeringRoutesList_Warning_Code_NOTCRITICALERROR,
    ExchangedPeeringRoutesList_Warning_Code_NORESULTSONPAGE,
    ExchangedPeeringRoutesList_Warning_Code_PARTIALSUCCESS,
    ExchangedPeeringRoutesList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ExchangedPeeringRoutesList_Warning_Code_REQUIREDTOSAGREEMENT,
    ExchangedPeeringRoutesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ExchangedPeeringRoutesList_Warning_Code_RESOURCENOTDELETED,
    ExchangedPeeringRoutesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ExchangedPeeringRoutesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ExchangedPeeringRoutesList_Warning_Code_UNDECLAREDPROPERTIES,
    ExchangedPeeringRoutesList_Warning_Code_Unreachable,
    ExchangedPeeringRoutesList_Warning_Code
    #-}
  
  -- | Indicates the user-supplied redundancy type of this external VPN gateway.
  newtype ExternalVpnGateway_RedundancyType = ExternalVpnGateway_RedundancyType {fromExternalVpnGateway_RedundancyType :: 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 external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR/IPS/REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.
  pattern ExternalVpnGateway_RedundancyType_FOURIPSREDUNDANCY :: ExternalVpnGateway_RedundancyType
  pattern ExternalVpnGateway_RedundancyType_FOURIPSREDUNDANCY = ExternalVpnGateway_RedundancyType "FOUR_IPS_REDUNDANCY"
  
  -- | The external VPN gateway has only one public IP address which internally provide redundancy or failover.
  pattern ExternalVpnGateway_RedundancyType_SINGLEIPINTERNALLYREDUNDANT :: ExternalVpnGateway_RedundancyType
  pattern ExternalVpnGateway_RedundancyType_SINGLEIPINTERNALLYREDUNDANT = ExternalVpnGateway_RedundancyType "SINGLE_IP_INTERNALLY_REDUNDANT"
  
  -- | The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other.
  pattern ExternalVpnGateway_RedundancyType_TWOIPSREDUNDANCY :: ExternalVpnGateway_RedundancyType
  pattern ExternalVpnGateway_RedundancyType_TWOIPSREDUNDANCY = ExternalVpnGateway_RedundancyType "TWO_IPS_REDUNDANCY"
  
  {-# COMPLETE
    ExternalVpnGateway_RedundancyType_FOURIPSREDUNDANCY,
    ExternalVpnGateway_RedundancyType_SINGLEIPINTERNALLYREDUNDANT,
    ExternalVpnGateway_RedundancyType_TWOIPSREDUNDANCY,
    ExternalVpnGateway_RedundancyType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ExternalVpnGatewayList_Warning_Code = ExternalVpnGatewayList_Warning_Code {fromExternalVpnGatewayList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ExternalVpnGatewayList_Warning_Code_CLEANUPFAILED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_CLEANUPFAILED = ExternalVpnGatewayList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ExternalVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED = ExternalVpnGatewayList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ExternalVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED = ExternalVpnGatewayList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ExternalVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ExternalVpnGatewayList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ExternalVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED = ExternalVpnGatewayList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ExternalVpnGatewayList_Warning_Code_EXTERNALAPIWARNING :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_EXTERNALAPIWARNING = ExternalVpnGatewayList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ExternalVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN = ExternalVpnGatewayList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ExternalVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED = ExternalVpnGatewayList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ExternalVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ExternalVpnGatewayList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ExternalVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING = ExternalVpnGatewayList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ExternalVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ExternalVpnGatewayList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ExternalVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY = ExternalVpnGatewayList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING = ExternalVpnGatewayList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ExternalVpnGatewayList_Warning_Code_NOTCRITICALERROR :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NOTCRITICALERROR = ExternalVpnGatewayList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ExternalVpnGatewayList_Warning_Code_NORESULTSONPAGE :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_NORESULTSONPAGE = ExternalVpnGatewayList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ExternalVpnGatewayList_Warning_Code_PARTIALSUCCESS :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_PARTIALSUCCESS = ExternalVpnGatewayList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ExternalVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE = ExternalVpnGatewayList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ExternalVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT = ExternalVpnGatewayList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ExternalVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ExternalVpnGatewayList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ExternalVpnGatewayList_Warning_Code_RESOURCENOTDELETED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_RESOURCENOTDELETED = ExternalVpnGatewayList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ExternalVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED = ExternalVpnGatewayList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ExternalVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ExternalVpnGatewayList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ExternalVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES = ExternalVpnGatewayList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ExternalVpnGatewayList_Warning_Code_Unreachable :: ExternalVpnGatewayList_Warning_Code
  pattern ExternalVpnGatewayList_Warning_Code_Unreachable = ExternalVpnGatewayList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ExternalVpnGatewayList_Warning_Code_CLEANUPFAILED,
    ExternalVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ExternalVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
    ExternalVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ExternalVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
    ExternalVpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
    ExternalVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
    ExternalVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ExternalVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ExternalVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ExternalVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ExternalVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ExternalVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
    ExternalVpnGatewayList_Warning_Code_NOTCRITICALERROR,
    ExternalVpnGatewayList_Warning_Code_NORESULTSONPAGE,
    ExternalVpnGatewayList_Warning_Code_PARTIALSUCCESS,
    ExternalVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ExternalVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
    ExternalVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ExternalVpnGatewayList_Warning_Code_RESOURCENOTDELETED,
    ExternalVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ExternalVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ExternalVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
    ExternalVpnGatewayList_Warning_Code_Unreachable,
    ExternalVpnGatewayList_Warning_Code
    #-}
  
  -- | The file type of source file.
  newtype FileContentBuffer_FileType = FileContentBuffer_FileType {fromFileContentBuffer_FileType :: 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
      )
  
  pattern FileContentBuffer_FileType_Bin :: FileContentBuffer_FileType
  pattern FileContentBuffer_FileType_Bin = FileContentBuffer_FileType "BIN"
  
  pattern FileContentBuffer_FileType_Undefined :: FileContentBuffer_FileType
  pattern FileContentBuffer_FileType_Undefined = FileContentBuffer_FileType "UNDEFINED"
  
  pattern FileContentBuffer_FileType_X509 :: FileContentBuffer_FileType
  pattern FileContentBuffer_FileType_X509 = FileContentBuffer_FileType "X509"
  
  {-# COMPLETE
    FileContentBuffer_FileType_Bin,
    FileContentBuffer_FileType_Undefined,
    FileContentBuffer_FileType_X509,
    FileContentBuffer_FileType
    #-}
  
  -- | Direction of traffic to which this firewall applies, either @INGRESS@ or @EGRESS@. The default is @INGRESS@. For @EGRESS@ traffic, you cannot specify the sourceTags fields.
  newtype Firewall_Direction = Firewall_Direction {fromFirewall_Direction :: 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
      )
  
  -- | Indicates that firewall should apply to outgoing traffic.
  pattern Firewall_Direction_Egress :: Firewall_Direction
  pattern Firewall_Direction_Egress = Firewall_Direction "EGRESS"
  
  -- | Indicates that firewall should apply to incoming traffic.
  pattern Firewall_Direction_Ingress :: Firewall_Direction
  pattern Firewall_Direction_Ingress = Firewall_Direction "INGRESS"
  
  {-# COMPLETE
    Firewall_Direction_Egress,
    Firewall_Direction_Ingress,
    Firewall_Direction
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype FirewallList_Warning_Code = FirewallList_Warning_Code {fromFirewallList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern FirewallList_Warning_Code_CLEANUPFAILED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_CLEANUPFAILED = FirewallList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern FirewallList_Warning_Code_DEPRECATEDRESOURCEUSED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_DEPRECATEDRESOURCEUSED = FirewallList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern FirewallList_Warning_Code_DEPRECATEDTYPEUSED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_DEPRECATEDTYPEUSED = FirewallList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern FirewallList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = FirewallList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern FirewallList_Warning_Code_EXPERIMENTALTYPEUSED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_EXPERIMENTALTYPEUSED = FirewallList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern FirewallList_Warning_Code_EXTERNALAPIWARNING :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_EXTERNALAPIWARNING = FirewallList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern FirewallList_Warning_Code_FIELDVALUEOVERRIDEN :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_FIELDVALUEOVERRIDEN = FirewallList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern FirewallList_Warning_Code_INJECTEDKERNELSDEPRECATED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_INJECTEDKERNELSDEPRECATED = FirewallList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern FirewallList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = FirewallList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern FirewallList_Warning_Code_LARGEDEPLOYMENTWARNING :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_LARGEDEPLOYMENTWARNING = FirewallList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern FirewallList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_LISTOVERHEADQUOTAEXCEED = FirewallList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern FirewallList_Warning_Code_MISSINGTYPEDEPENDENCY :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_MISSINGTYPEDEPENDENCY = FirewallList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern FirewallList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = FirewallList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern FirewallList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPCANNOTIPFORWARD = FirewallList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = FirewallList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCENOTFOUND = FirewallList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = FirewallList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern FirewallList_Warning_Code_NEXTHOPNOTRUNNING :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NEXTHOPNOTRUNNING = FirewallList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern FirewallList_Warning_Code_NOTCRITICALERROR :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NOTCRITICALERROR = FirewallList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern FirewallList_Warning_Code_NORESULTSONPAGE :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_NORESULTSONPAGE = FirewallList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern FirewallList_Warning_Code_PARTIALSUCCESS :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_PARTIALSUCCESS = FirewallList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern FirewallList_Warning_Code_QUOTAINFOUNAVAILABLE :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_QUOTAINFOUNAVAILABLE = FirewallList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern FirewallList_Warning_Code_REQUIREDTOSAGREEMENT :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_REQUIREDTOSAGREEMENT = FirewallList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern FirewallList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = FirewallList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern FirewallList_Warning_Code_RESOURCENOTDELETED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_RESOURCENOTDELETED = FirewallList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern FirewallList_Warning_Code_SCHEMAVALIDATIONIGNORED :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_SCHEMAVALIDATIONIGNORED = FirewallList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern FirewallList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = FirewallList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern FirewallList_Warning_Code_UNDECLAREDPROPERTIES :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_UNDECLAREDPROPERTIES = FirewallList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern FirewallList_Warning_Code_Unreachable :: FirewallList_Warning_Code
  pattern FirewallList_Warning_Code_Unreachable = FirewallList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    FirewallList_Warning_Code_CLEANUPFAILED,
    FirewallList_Warning_Code_DEPRECATEDRESOURCEUSED,
    FirewallList_Warning_Code_DEPRECATEDTYPEUSED,
    FirewallList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    FirewallList_Warning_Code_EXPERIMENTALTYPEUSED,
    FirewallList_Warning_Code_EXTERNALAPIWARNING,
    FirewallList_Warning_Code_FIELDVALUEOVERRIDEN,
    FirewallList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    FirewallList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    FirewallList_Warning_Code_LARGEDEPLOYMENTWARNING,
    FirewallList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    FirewallList_Warning_Code_MISSINGTYPEDEPENDENCY,
    FirewallList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    FirewallList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    FirewallList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    FirewallList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    FirewallList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    FirewallList_Warning_Code_NEXTHOPNOTRUNNING,
    FirewallList_Warning_Code_NOTCRITICALERROR,
    FirewallList_Warning_Code_NORESULTSONPAGE,
    FirewallList_Warning_Code_PARTIALSUCCESS,
    FirewallList_Warning_Code_QUOTAINFOUNAVAILABLE,
    FirewallList_Warning_Code_REQUIREDTOSAGREEMENT,
    FirewallList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    FirewallList_Warning_Code_RESOURCENOTDELETED,
    FirewallList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    FirewallList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    FirewallList_Warning_Code_UNDECLAREDPROPERTIES,
    FirewallList_Warning_Code_Unreachable,
    FirewallList_Warning_Code
    #-}
  
  -- | This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.
  newtype FirewallLogConfig_Metadata = FirewallLogConfig_Metadata {fromFirewallLogConfig_Metadata :: 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
      )
  
  pattern FirewallLogConfig_Metadata_EXCLUDEALLMETADATA :: FirewallLogConfig_Metadata
  pattern FirewallLogConfig_Metadata_EXCLUDEALLMETADATA = FirewallLogConfig_Metadata "EXCLUDE_ALL_METADATA"
  
  pattern FirewallLogConfig_Metadata_INCLUDEALLMETADATA :: FirewallLogConfig_Metadata
  pattern FirewallLogConfig_Metadata_INCLUDEALLMETADATA = FirewallLogConfig_Metadata "INCLUDE_ALL_METADATA"
  
  {-# COMPLETE
    FirewallLogConfig_Metadata_EXCLUDEALLMETADATA,
    FirewallLogConfig_Metadata_INCLUDEALLMETADATA,
    FirewallLogConfig_Metadata
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype FirewallPoliciesScopedList_Warning_Code = FirewallPoliciesScopedList_Warning_Code {fromFirewallPoliciesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern FirewallPoliciesScopedList_Warning_Code_CLEANUPFAILED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_CLEANUPFAILED = FirewallPoliciesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern FirewallPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = FirewallPoliciesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern FirewallPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED = FirewallPoliciesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern FirewallPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = FirewallPoliciesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern FirewallPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = FirewallPoliciesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern FirewallPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING = FirewallPoliciesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern FirewallPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = FirewallPoliciesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern FirewallPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = FirewallPoliciesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern FirewallPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = FirewallPoliciesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern FirewallPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = FirewallPoliciesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern FirewallPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = FirewallPoliciesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern FirewallPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = FirewallPoliciesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING = FirewallPoliciesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern FirewallPoliciesScopedList_Warning_Code_NOTCRITICALERROR :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NOTCRITICALERROR = FirewallPoliciesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern FirewallPoliciesScopedList_Warning_Code_NORESULTSONPAGE :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_NORESULTSONPAGE = FirewallPoliciesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern FirewallPoliciesScopedList_Warning_Code_PARTIALSUCCESS :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_PARTIALSUCCESS = FirewallPoliciesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern FirewallPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = FirewallPoliciesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern FirewallPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = FirewallPoliciesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern FirewallPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = FirewallPoliciesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern FirewallPoliciesScopedList_Warning_Code_RESOURCENOTDELETED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_RESOURCENOTDELETED = FirewallPoliciesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern FirewallPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = FirewallPoliciesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern FirewallPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = FirewallPoliciesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern FirewallPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES = FirewallPoliciesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern FirewallPoliciesScopedList_Warning_Code_Unreachable :: FirewallPoliciesScopedList_Warning_Code
  pattern FirewallPoliciesScopedList_Warning_Code_Unreachable = FirewallPoliciesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    FirewallPoliciesScopedList_Warning_Code_CLEANUPFAILED,
    FirewallPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    FirewallPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    FirewallPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    FirewallPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    FirewallPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
    FirewallPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    FirewallPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    FirewallPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    FirewallPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    FirewallPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    FirewallPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    FirewallPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    FirewallPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
    FirewallPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
    FirewallPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
    FirewallPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    FirewallPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    FirewallPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    FirewallPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
    FirewallPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    FirewallPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    FirewallPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    FirewallPoliciesScopedList_Warning_Code_Unreachable,
    FirewallPoliciesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype FirewallPolicyList_Warning_Code = FirewallPolicyList_Warning_Code {fromFirewallPolicyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern FirewallPolicyList_Warning_Code_CLEANUPFAILED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_CLEANUPFAILED = FirewallPolicyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern FirewallPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED = FirewallPolicyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern FirewallPolicyList_Warning_Code_DEPRECATEDTYPEUSED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_DEPRECATEDTYPEUSED = FirewallPolicyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern FirewallPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = FirewallPolicyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern FirewallPolicyList_Warning_Code_EXPERIMENTALTYPEUSED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_EXPERIMENTALTYPEUSED = FirewallPolicyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern FirewallPolicyList_Warning_Code_EXTERNALAPIWARNING :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_EXTERNALAPIWARNING = FirewallPolicyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern FirewallPolicyList_Warning_Code_FIELDVALUEOVERRIDEN :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_FIELDVALUEOVERRIDEN = FirewallPolicyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern FirewallPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED = FirewallPolicyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern FirewallPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = FirewallPolicyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern FirewallPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING = FirewallPolicyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern FirewallPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = FirewallPolicyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern FirewallPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY = FirewallPolicyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = FirewallPolicyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = FirewallPolicyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = FirewallPolicyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = FirewallPolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = FirewallPolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern FirewallPolicyList_Warning_Code_NEXTHOPNOTRUNNING :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NEXTHOPNOTRUNNING = FirewallPolicyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern FirewallPolicyList_Warning_Code_NOTCRITICALERROR :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NOTCRITICALERROR = FirewallPolicyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern FirewallPolicyList_Warning_Code_NORESULTSONPAGE :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_NORESULTSONPAGE = FirewallPolicyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern FirewallPolicyList_Warning_Code_PARTIALSUCCESS :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_PARTIALSUCCESS = FirewallPolicyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern FirewallPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE = FirewallPolicyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern FirewallPolicyList_Warning_Code_REQUIREDTOSAGREEMENT :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_REQUIREDTOSAGREEMENT = FirewallPolicyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern FirewallPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = FirewallPolicyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern FirewallPolicyList_Warning_Code_RESOURCENOTDELETED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_RESOURCENOTDELETED = FirewallPolicyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern FirewallPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED = FirewallPolicyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern FirewallPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = FirewallPolicyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern FirewallPolicyList_Warning_Code_UNDECLAREDPROPERTIES :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_UNDECLAREDPROPERTIES = FirewallPolicyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern FirewallPolicyList_Warning_Code_Unreachable :: FirewallPolicyList_Warning_Code
  pattern FirewallPolicyList_Warning_Code_Unreachable = FirewallPolicyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    FirewallPolicyList_Warning_Code_CLEANUPFAILED,
    FirewallPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    FirewallPolicyList_Warning_Code_DEPRECATEDTYPEUSED,
    FirewallPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    FirewallPolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
    FirewallPolicyList_Warning_Code_EXTERNALAPIWARNING,
    FirewallPolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
    FirewallPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    FirewallPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    FirewallPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    FirewallPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    FirewallPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    FirewallPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    FirewallPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    FirewallPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    FirewallPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    FirewallPolicyList_Warning_Code_NEXTHOPNOTRUNNING,
    FirewallPolicyList_Warning_Code_NOTCRITICALERROR,
    FirewallPolicyList_Warning_Code_NORESULTSONPAGE,
    FirewallPolicyList_Warning_Code_PARTIALSUCCESS,
    FirewallPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    FirewallPolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
    FirewallPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    FirewallPolicyList_Warning_Code_RESOURCENOTDELETED,
    FirewallPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    FirewallPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    FirewallPolicyList_Warning_Code_UNDECLAREDPROPERTIES,
    FirewallPolicyList_Warning_Code_Unreachable,
    FirewallPolicyList_Warning_Code
    #-}
  
  -- | The direction in which this rule applies.
  newtype FirewallPolicyRule_Direction = FirewallPolicyRule_Direction {fromFirewallPolicyRule_Direction :: 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
      )
  
  pattern FirewallPolicyRule_Direction_Egress :: FirewallPolicyRule_Direction
  pattern FirewallPolicyRule_Direction_Egress = FirewallPolicyRule_Direction "EGRESS"
  
  pattern FirewallPolicyRule_Direction_Ingress :: FirewallPolicyRule_Direction
  pattern FirewallPolicyRule_Direction_Ingress = FirewallPolicyRule_Direction "INGRESS"
  
  {-# COMPLETE
    FirewallPolicyRule_Direction_Egress,
    FirewallPolicyRule_Direction_Ingress,
    FirewallPolicyRule_Direction
    #-}
  
  -- | [Output Only] State of the secure tag, either @EFFECTIVE@ or @INEFFECTIVE@. A secure tag is @INEFFECTIVE@ when it is deleted or its network is deleted.
  newtype FirewallPolicyRuleSecureTag_State = FirewallPolicyRuleSecureTag_State {fromFirewallPolicyRuleSecureTag_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
      )
  
  pattern FirewallPolicyRuleSecureTag_State_Effective :: FirewallPolicyRuleSecureTag_State
  pattern FirewallPolicyRuleSecureTag_State_Effective = FirewallPolicyRuleSecureTag_State "EFFECTIVE"
  
  pattern FirewallPolicyRuleSecureTag_State_Ineffective :: FirewallPolicyRuleSecureTag_State
  pattern FirewallPolicyRuleSecureTag_State_Ineffective = FirewallPolicyRuleSecureTag_State "INEFFECTIVE"
  
  {-# COMPLETE
    FirewallPolicyRuleSecureTag_State_Effective,
    FirewallPolicyRuleSecureTag_State_Ineffective,
    FirewallPolicyRuleSecureTag_State
    #-}
  
  -- | The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in <https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends Load balancing features>.
  newtype ForwardingRule_IPProtocol = ForwardingRule_IPProtocol {fromForwardingRule_IPProtocol :: 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
      )
  
  pattern ForwardingRule_IPProtocol_AH :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_AH = ForwardingRule_IPProtocol "AH"
  
  pattern ForwardingRule_IPProtocol_Esp :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_Esp = ForwardingRule_IPProtocol "ESP"
  
  pattern ForwardingRule_IPProtocol_Icmp :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_Icmp = ForwardingRule_IPProtocol "ICMP"
  
  pattern ForwardingRule_IPProtocol_L3DEFAULT :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_L3DEFAULT = ForwardingRule_IPProtocol "L3_DEFAULT"
  
  pattern ForwardingRule_IPProtocol_Sctp :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_Sctp = ForwardingRule_IPProtocol "SCTP"
  
  pattern ForwardingRule_IPProtocol_Tcp :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_Tcp = ForwardingRule_IPProtocol "TCP"
  
  pattern ForwardingRule_IPProtocol_Udp :: ForwardingRule_IPProtocol
  pattern ForwardingRule_IPProtocol_Udp = ForwardingRule_IPProtocol "UDP"
  
  {-# COMPLETE
    ForwardingRule_IPProtocol_AH,
    ForwardingRule_IPProtocol_Esp,
    ForwardingRule_IPProtocol_Icmp,
    ForwardingRule_IPProtocol_L3DEFAULT,
    ForwardingRule_IPProtocol_Sctp,
    ForwardingRule_IPProtocol_Tcp,
    ForwardingRule_IPProtocol_Udp,
    ForwardingRule_IPProtocol
    #-}
  
  -- | The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.
  newtype ForwardingRule_IpVersion = ForwardingRule_IpVersion {fromForwardingRule_IpVersion :: 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
      )
  
  pattern ForwardingRule_IpVersion_IPV4 :: ForwardingRule_IpVersion
  pattern ForwardingRule_IpVersion_IPV4 = ForwardingRule_IpVersion "IPV4"
  
  pattern ForwardingRule_IpVersion_IPV6 :: ForwardingRule_IpVersion
  pattern ForwardingRule_IpVersion_IPV6 = ForwardingRule_IpVersion "IPV6"
  
  pattern ForwardingRule_IpVersion_UNSPECIFIEDVERSION :: ForwardingRule_IpVersion
  pattern ForwardingRule_IpVersion_UNSPECIFIEDVERSION = ForwardingRule_IpVersion "UNSPECIFIED_VERSION"
  
  {-# COMPLETE
    ForwardingRule_IpVersion_IPV4,
    ForwardingRule_IpVersion_IPV6,
    ForwardingRule_IpVersion_UNSPECIFIEDVERSION,
    ForwardingRule_IpVersion
    #-}
  
  -- | Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.
  newtype ForwardingRule_LoadBalancingScheme = ForwardingRule_LoadBalancingScheme {fromForwardingRule_LoadBalancingScheme :: 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
      )
  
  pattern ForwardingRule_LoadBalancingScheme_External :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_External = ForwardingRule_LoadBalancingScheme "EXTERNAL"
  
  pattern ForwardingRule_LoadBalancingScheme_EXTERNALMANAGED :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_EXTERNALMANAGED = ForwardingRule_LoadBalancingScheme "EXTERNAL_MANAGED"
  
  pattern ForwardingRule_LoadBalancingScheme_Internal :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_Internal = ForwardingRule_LoadBalancingScheme "INTERNAL"
  
  pattern ForwardingRule_LoadBalancingScheme_INTERNALMANAGED :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_INTERNALMANAGED = ForwardingRule_LoadBalancingScheme "INTERNAL_MANAGED"
  
  pattern ForwardingRule_LoadBalancingScheme_INTERNALSELFMANAGED :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_INTERNALSELFMANAGED = ForwardingRule_LoadBalancingScheme "INTERNAL_SELF_MANAGED"
  
  pattern ForwardingRule_LoadBalancingScheme_Invalid :: ForwardingRule_LoadBalancingScheme
  pattern ForwardingRule_LoadBalancingScheme_Invalid = ForwardingRule_LoadBalancingScheme "INVALID"
  
  {-# COMPLETE
    ForwardingRule_LoadBalancingScheme_External,
    ForwardingRule_LoadBalancingScheme_EXTERNALMANAGED,
    ForwardingRule_LoadBalancingScheme_Internal,
    ForwardingRule_LoadBalancingScheme_INTERNALMANAGED,
    ForwardingRule_LoadBalancingScheme_INTERNALSELFMANAGED,
    ForwardingRule_LoadBalancingScheme_Invalid,
    ForwardingRule_LoadBalancingScheme
    #-}
  
  -- | This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.
  newtype ForwardingRule_NetworkTier = ForwardingRule_NetworkTier {fromForwardingRule_NetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern ForwardingRule_NetworkTier_FIXEDSTANDARD :: ForwardingRule_NetworkTier
  pattern ForwardingRule_NetworkTier_FIXEDSTANDARD = ForwardingRule_NetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern ForwardingRule_NetworkTier_Premium :: ForwardingRule_NetworkTier
  pattern ForwardingRule_NetworkTier_Premium = ForwardingRule_NetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern ForwardingRule_NetworkTier_Standard :: ForwardingRule_NetworkTier
  pattern ForwardingRule_NetworkTier_Standard = ForwardingRule_NetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern ForwardingRule_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: ForwardingRule_NetworkTier
  pattern ForwardingRule_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = ForwardingRule_NetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    ForwardingRule_NetworkTier_FIXEDSTANDARD,
    ForwardingRule_NetworkTier_Premium,
    ForwardingRule_NetworkTier_Standard,
    ForwardingRule_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    ForwardingRule_NetworkTier
    #-}
  
  newtype ForwardingRule_PscConnectionStatus = ForwardingRule_PscConnectionStatus {fromForwardingRule_PscConnectionStatus :: 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 connection has been accepted by the producer.
  pattern ForwardingRule_PscConnectionStatus_Accepted :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_Accepted = ForwardingRule_PscConnectionStatus "ACCEPTED"
  
  -- | The connection has been closed by the producer and will not serve traffic going forward.
  pattern ForwardingRule_PscConnectionStatus_Closed :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_Closed = ForwardingRule_PscConnectionStatus "CLOSED"
  
  -- | The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.
  pattern ForwardingRule_PscConnectionStatus_NEEDSATTENTION :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_NEEDSATTENTION = ForwardingRule_PscConnectionStatus "NEEDS_ATTENTION"
  
  -- | The connection is pending acceptance by the producer.
  pattern ForwardingRule_PscConnectionStatus_Pending :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_Pending = ForwardingRule_PscConnectionStatus "PENDING"
  
  -- | The connection has been rejected by the producer.
  pattern ForwardingRule_PscConnectionStatus_Rejected :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_Rejected = ForwardingRule_PscConnectionStatus "REJECTED"
  
  pattern ForwardingRule_PscConnectionStatus_STATUSUNSPECIFIED :: ForwardingRule_PscConnectionStatus
  pattern ForwardingRule_PscConnectionStatus_STATUSUNSPECIFIED = ForwardingRule_PscConnectionStatus "STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    ForwardingRule_PscConnectionStatus_Accepted,
    ForwardingRule_PscConnectionStatus_Closed,
    ForwardingRule_PscConnectionStatus_NEEDSATTENTION,
    ForwardingRule_PscConnectionStatus_Pending,
    ForwardingRule_PscConnectionStatus_Rejected,
    ForwardingRule_PscConnectionStatus_STATUSUNSPECIFIED,
    ForwardingRule_PscConnectionStatus
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ForwardingRuleAggregatedList_Warning_Code = ForwardingRuleAggregatedList_Warning_Code {fromForwardingRuleAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ForwardingRuleAggregatedList_Warning_Code_CLEANUPFAILED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_CLEANUPFAILED = ForwardingRuleAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = ForwardingRuleAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = ForwardingRuleAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ForwardingRuleAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ForwardingRuleAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ForwardingRuleAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = ForwardingRuleAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ForwardingRuleAggregatedList_Warning_Code_EXTERNALAPIWARNING :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_EXTERNALAPIWARNING = ForwardingRuleAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ForwardingRuleAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = ForwardingRuleAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ForwardingRuleAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ForwardingRuleAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ForwardingRuleAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ForwardingRuleAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ForwardingRuleAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = ForwardingRuleAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ForwardingRuleAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ForwardingRuleAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ForwardingRuleAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = ForwardingRuleAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = ForwardingRuleAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ForwardingRuleAggregatedList_Warning_Code_NOTCRITICALERROR :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NOTCRITICALERROR = ForwardingRuleAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ForwardingRuleAggregatedList_Warning_Code_NORESULTSONPAGE :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_NORESULTSONPAGE = ForwardingRuleAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ForwardingRuleAggregatedList_Warning_Code_PARTIALSUCCESS :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_PARTIALSUCCESS = ForwardingRuleAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ForwardingRuleAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = ForwardingRuleAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ForwardingRuleAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = ForwardingRuleAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ForwardingRuleAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ForwardingRuleAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ForwardingRuleAggregatedList_Warning_Code_RESOURCENOTDELETED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_RESOURCENOTDELETED = ForwardingRuleAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ForwardingRuleAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ForwardingRuleAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ForwardingRuleAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ForwardingRuleAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ForwardingRuleAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = ForwardingRuleAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ForwardingRuleAggregatedList_Warning_Code_Unreachable :: ForwardingRuleAggregatedList_Warning_Code
  pattern ForwardingRuleAggregatedList_Warning_Code_Unreachable = ForwardingRuleAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ForwardingRuleAggregatedList_Warning_Code_CLEANUPFAILED,
    ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ForwardingRuleAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    ForwardingRuleAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ForwardingRuleAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ForwardingRuleAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    ForwardingRuleAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ForwardingRuleAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ForwardingRuleAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ForwardingRuleAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ForwardingRuleAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ForwardingRuleAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ForwardingRuleAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    ForwardingRuleAggregatedList_Warning_Code_NOTCRITICALERROR,
    ForwardingRuleAggregatedList_Warning_Code_NORESULTSONPAGE,
    ForwardingRuleAggregatedList_Warning_Code_PARTIALSUCCESS,
    ForwardingRuleAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ForwardingRuleAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ForwardingRuleAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ForwardingRuleAggregatedList_Warning_Code_RESOURCENOTDELETED,
    ForwardingRuleAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ForwardingRuleAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ForwardingRuleAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    ForwardingRuleAggregatedList_Warning_Code_Unreachable,
    ForwardingRuleAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ForwardingRuleList_Warning_Code = ForwardingRuleList_Warning_Code {fromForwardingRuleList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ForwardingRuleList_Warning_Code_CLEANUPFAILED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_CLEANUPFAILED = ForwardingRuleList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ForwardingRuleList_Warning_Code_DEPRECATEDRESOURCEUSED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_DEPRECATEDRESOURCEUSED = ForwardingRuleList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ForwardingRuleList_Warning_Code_DEPRECATEDTYPEUSED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_DEPRECATEDTYPEUSED = ForwardingRuleList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ForwardingRuleList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ForwardingRuleList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ForwardingRuleList_Warning_Code_EXPERIMENTALTYPEUSED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_EXPERIMENTALTYPEUSED = ForwardingRuleList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ForwardingRuleList_Warning_Code_EXTERNALAPIWARNING :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_EXTERNALAPIWARNING = ForwardingRuleList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ForwardingRuleList_Warning_Code_FIELDVALUEOVERRIDEN :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_FIELDVALUEOVERRIDEN = ForwardingRuleList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ForwardingRuleList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_INJECTEDKERNELSDEPRECATED = ForwardingRuleList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ForwardingRuleList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ForwardingRuleList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ForwardingRuleList_Warning_Code_LARGEDEPLOYMENTWARNING :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_LARGEDEPLOYMENTWARNING = ForwardingRuleList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ForwardingRuleList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ForwardingRuleList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ForwardingRuleList_Warning_Code_MISSINGTYPEDEPENDENCY :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_MISSINGTYPEDEPENDENCY = ForwardingRuleList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ForwardingRuleList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ForwardingRuleList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ForwardingRuleList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ForwardingRuleList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ForwardingRuleList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ForwardingRuleList_Warning_Code_NEXTHOPNOTRUNNING :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NEXTHOPNOTRUNNING = ForwardingRuleList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ForwardingRuleList_Warning_Code_NOTCRITICALERROR :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NOTCRITICALERROR = ForwardingRuleList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ForwardingRuleList_Warning_Code_NORESULTSONPAGE :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_NORESULTSONPAGE = ForwardingRuleList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ForwardingRuleList_Warning_Code_PARTIALSUCCESS :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_PARTIALSUCCESS = ForwardingRuleList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ForwardingRuleList_Warning_Code_QUOTAINFOUNAVAILABLE :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_QUOTAINFOUNAVAILABLE = ForwardingRuleList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ForwardingRuleList_Warning_Code_REQUIREDTOSAGREEMENT :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_REQUIREDTOSAGREEMENT = ForwardingRuleList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ForwardingRuleList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ForwardingRuleList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ForwardingRuleList_Warning_Code_RESOURCENOTDELETED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_RESOURCENOTDELETED = ForwardingRuleList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ForwardingRuleList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_SCHEMAVALIDATIONIGNORED = ForwardingRuleList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ForwardingRuleList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ForwardingRuleList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ForwardingRuleList_Warning_Code_UNDECLAREDPROPERTIES :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_UNDECLAREDPROPERTIES = ForwardingRuleList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ForwardingRuleList_Warning_Code_Unreachable :: ForwardingRuleList_Warning_Code
  pattern ForwardingRuleList_Warning_Code_Unreachable = ForwardingRuleList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ForwardingRuleList_Warning_Code_CLEANUPFAILED,
    ForwardingRuleList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ForwardingRuleList_Warning_Code_DEPRECATEDTYPEUSED,
    ForwardingRuleList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ForwardingRuleList_Warning_Code_EXPERIMENTALTYPEUSED,
    ForwardingRuleList_Warning_Code_EXTERNALAPIWARNING,
    ForwardingRuleList_Warning_Code_FIELDVALUEOVERRIDEN,
    ForwardingRuleList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ForwardingRuleList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ForwardingRuleList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ForwardingRuleList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ForwardingRuleList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ForwardingRuleList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ForwardingRuleList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ForwardingRuleList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ForwardingRuleList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ForwardingRuleList_Warning_Code_NEXTHOPNOTRUNNING,
    ForwardingRuleList_Warning_Code_NOTCRITICALERROR,
    ForwardingRuleList_Warning_Code_NORESULTSONPAGE,
    ForwardingRuleList_Warning_Code_PARTIALSUCCESS,
    ForwardingRuleList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ForwardingRuleList_Warning_Code_REQUIREDTOSAGREEMENT,
    ForwardingRuleList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ForwardingRuleList_Warning_Code_RESOURCENOTDELETED,
    ForwardingRuleList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ForwardingRuleList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ForwardingRuleList_Warning_Code_UNDECLAREDPROPERTIES,
    ForwardingRuleList_Warning_Code_Unreachable,
    ForwardingRuleList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ForwardingRulesScopedList_Warning_Code = ForwardingRulesScopedList_Warning_Code {fromForwardingRulesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ForwardingRulesScopedList_Warning_Code_CLEANUPFAILED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_CLEANUPFAILED = ForwardingRulesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ForwardingRulesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = ForwardingRulesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ForwardingRulesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_DEPRECATEDTYPEUSED = ForwardingRulesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ForwardingRulesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ForwardingRulesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ForwardingRulesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = ForwardingRulesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ForwardingRulesScopedList_Warning_Code_EXTERNALAPIWARNING :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_EXTERNALAPIWARNING = ForwardingRulesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ForwardingRulesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = ForwardingRulesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ForwardingRulesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ForwardingRulesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ForwardingRulesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ForwardingRulesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ForwardingRulesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = ForwardingRulesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ForwardingRulesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ForwardingRulesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ForwardingRulesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = ForwardingRulesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NEXTHOPNOTRUNNING = ForwardingRulesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ForwardingRulesScopedList_Warning_Code_NOTCRITICALERROR :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NOTCRITICALERROR = ForwardingRulesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ForwardingRulesScopedList_Warning_Code_NORESULTSONPAGE :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_NORESULTSONPAGE = ForwardingRulesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ForwardingRulesScopedList_Warning_Code_PARTIALSUCCESS :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_PARTIALSUCCESS = ForwardingRulesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ForwardingRulesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = ForwardingRulesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ForwardingRulesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = ForwardingRulesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ForwardingRulesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ForwardingRulesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ForwardingRulesScopedList_Warning_Code_RESOURCENOTDELETED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_RESOURCENOTDELETED = ForwardingRulesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ForwardingRulesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ForwardingRulesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ForwardingRulesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ForwardingRulesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ForwardingRulesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_UNDECLAREDPROPERTIES = ForwardingRulesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ForwardingRulesScopedList_Warning_Code_Unreachable :: ForwardingRulesScopedList_Warning_Code
  pattern ForwardingRulesScopedList_Warning_Code_Unreachable = ForwardingRulesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ForwardingRulesScopedList_Warning_Code_CLEANUPFAILED,
    ForwardingRulesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ForwardingRulesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    ForwardingRulesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ForwardingRulesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ForwardingRulesScopedList_Warning_Code_EXTERNALAPIWARNING,
    ForwardingRulesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ForwardingRulesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ForwardingRulesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ForwardingRulesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ForwardingRulesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ForwardingRulesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ForwardingRulesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    ForwardingRulesScopedList_Warning_Code_NOTCRITICALERROR,
    ForwardingRulesScopedList_Warning_Code_NORESULTSONPAGE,
    ForwardingRulesScopedList_Warning_Code_PARTIALSUCCESS,
    ForwardingRulesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ForwardingRulesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ForwardingRulesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ForwardingRulesScopedList_Warning_Code_RESOURCENOTDELETED,
    ForwardingRulesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ForwardingRulesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ForwardingRulesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    ForwardingRulesScopedList_Warning_Code_Unreachable,
    ForwardingRulesScopedList_Warning_Code
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group backends. For GCE/VM/IP_PORT network
  -- endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype GRPCHealthCheck_PortSpecification = GRPCHealthCheck_PortSpecification {fromGRPCHealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern GRPCHealthCheck_PortSpecification_USEFIXEDPORT :: GRPCHealthCheck_PortSpecification
  pattern GRPCHealthCheck_PortSpecification_USEFIXEDPORT = GRPCHealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern GRPCHealthCheck_PortSpecification_USENAMEDPORT :: GRPCHealthCheck_PortSpecification
  pattern GRPCHealthCheck_PortSpecification_USENAMEDPORT = GRPCHealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern GRPCHealthCheck_PortSpecification_USESERVINGPORT :: GRPCHealthCheck_PortSpecification
  pattern GRPCHealthCheck_PortSpecification_USESERVINGPORT = GRPCHealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    GRPCHealthCheck_PortSpecification_USEFIXEDPORT,
    GRPCHealthCheck_PortSpecification_USENAMEDPORT,
    GRPCHealthCheck_PortSpecification_USESERVINGPORT,
    GRPCHealthCheck_PortSpecification
    #-}
  
  -- | The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO/SCSI/MULTIQUEUE - WINDOWS - MULTI/IP/SUBNET - UEFI/COMPATIBLE - GVNIC - SEV/CAPABLE - SUSPEND/RESUME/COMPATIBLE - SEV/LIVE/MIGRATABLE/V2 - SEV/SNP/CAPABLE - TDX/CAPABLE - IDPF For more information, see Enabling guest operating system features.
  newtype GuestOsFeature_Type = GuestOsFeature_Type {fromGuestOsFeature_Type :: 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
      )
  
  pattern GuestOsFeature_Type_FEATURETYPEUNSPECIFIED :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_FEATURETYPEUNSPECIFIED = GuestOsFeature_Type "FEATURE_TYPE_UNSPECIFIED"
  
  pattern GuestOsFeature_Type_Gvnic :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_Gvnic = GuestOsFeature_Type "GVNIC"
  
  pattern GuestOsFeature_Type_Idpf :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_Idpf = GuestOsFeature_Type "IDPF"
  
  pattern GuestOsFeature_Type_MULTIIPSUBNET :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_MULTIIPSUBNET = GuestOsFeature_Type "MULTI_IP_SUBNET"
  
  pattern GuestOsFeature_Type_SECUREBOOT :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_SECUREBOOT = GuestOsFeature_Type "SECURE_BOOT"
  
  pattern GuestOsFeature_Type_SEVCAPABLE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_SEVCAPABLE = GuestOsFeature_Type "SEV_CAPABLE"
  
  pattern GuestOsFeature_Type_SEVLIVEMIGRATABLE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_SEVLIVEMIGRATABLE = GuestOsFeature_Type "SEV_LIVE_MIGRATABLE"
  
  pattern GuestOsFeature_Type_SEV_LIVE_MIGRATABLE_V2 :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_SEV_LIVE_MIGRATABLE_V2 = GuestOsFeature_Type "SEV_LIVE_MIGRATABLE_V2"
  
  pattern GuestOsFeature_Type_SEVSNPCAPABLE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_SEVSNPCAPABLE = GuestOsFeature_Type "SEV_SNP_CAPABLE"
  
  pattern GuestOsFeature_Type_TDXCAPABLE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_TDXCAPABLE = GuestOsFeature_Type "TDX_CAPABLE"
  
  pattern GuestOsFeature_Type_UEFICOMPATIBLE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_UEFICOMPATIBLE = GuestOsFeature_Type "UEFI_COMPATIBLE"
  
  pattern GuestOsFeature_Type_VIRTIOSCSIMULTIQUEUE :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_VIRTIOSCSIMULTIQUEUE = GuestOsFeature_Type "VIRTIO_SCSI_MULTIQUEUE"
  
  pattern GuestOsFeature_Type_Windows :: GuestOsFeature_Type
  pattern GuestOsFeature_Type_Windows = GuestOsFeature_Type "WINDOWS"
  
  {-# COMPLETE
    GuestOsFeature_Type_FEATURETYPEUNSPECIFIED,
    GuestOsFeature_Type_Gvnic,
    GuestOsFeature_Type_Idpf,
    GuestOsFeature_Type_MULTIIPSUBNET,
    GuestOsFeature_Type_SECUREBOOT,
    GuestOsFeature_Type_SEVCAPABLE,
    GuestOsFeature_Type_SEVLIVEMIGRATABLE,
    GuestOsFeature_Type_SEV_LIVE_MIGRATABLE_V2,
    GuestOsFeature_Type_SEVSNPCAPABLE,
    GuestOsFeature_Type_TDXCAPABLE,
    GuestOsFeature_Type_UEFICOMPATIBLE,
    GuestOsFeature_Type_VIRTIOSCSIMULTIQUEUE,
    GuestOsFeature_Type_Windows,
    GuestOsFeature_Type
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group backends. For GCE/VM/IP_PORT network
  -- endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype HTTP2HealthCheck_PortSpecification = HTTP2HealthCheck_PortSpecification {fromHTTP2HealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern HTTP2HealthCheck_PortSpecification_USEFIXEDPORT :: HTTP2HealthCheck_PortSpecification
  pattern HTTP2HealthCheck_PortSpecification_USEFIXEDPORT = HTTP2HealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern HTTP2HealthCheck_PortSpecification_USENAMEDPORT :: HTTP2HealthCheck_PortSpecification
  pattern HTTP2HealthCheck_PortSpecification_USENAMEDPORT = HTTP2HealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern HTTP2HealthCheck_PortSpecification_USESERVINGPORT :: HTTP2HealthCheck_PortSpecification
  pattern HTTP2HealthCheck_PortSpecification_USESERVINGPORT = HTTP2HealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    HTTP2HealthCheck_PortSpecification_USEFIXEDPORT,
    HTTP2HealthCheck_PortSpecification_USENAMEDPORT,
    HTTP2HealthCheck_PortSpecification_USESERVINGPORT,
    HTTP2HealthCheck_PortSpecification
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype HTTP2HealthCheck_ProxyHeader = HTTP2HealthCheck_ProxyHeader {fromHTTP2HealthCheck_ProxyHeader :: 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
      )
  
  pattern HTTP2HealthCheck_ProxyHeader_None :: HTTP2HealthCheck_ProxyHeader
  pattern HTTP2HealthCheck_ProxyHeader_None = HTTP2HealthCheck_ProxyHeader "NONE"
  
  pattern HTTP2HealthCheck_ProxyHeader_PROXY_V1 :: HTTP2HealthCheck_ProxyHeader
  pattern HTTP2HealthCheck_ProxyHeader_PROXY_V1 = HTTP2HealthCheck_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    HTTP2HealthCheck_ProxyHeader_None,
    HTTP2HealthCheck_ProxyHeader_PROXY_V1,
    HTTP2HealthCheck_ProxyHeader
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group
  -- backends. For GCE/VM/IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype HTTPHealthCheck_PortSpecification = HTTPHealthCheck_PortSpecification {fromHTTPHealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern HTTPHealthCheck_PortSpecification_USEFIXEDPORT :: HTTPHealthCheck_PortSpecification
  pattern HTTPHealthCheck_PortSpecification_USEFIXEDPORT = HTTPHealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern HTTPHealthCheck_PortSpecification_USENAMEDPORT :: HTTPHealthCheck_PortSpecification
  pattern HTTPHealthCheck_PortSpecification_USENAMEDPORT = HTTPHealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern HTTPHealthCheck_PortSpecification_USESERVINGPORT :: HTTPHealthCheck_PortSpecification
  pattern HTTPHealthCheck_PortSpecification_USESERVINGPORT = HTTPHealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    HTTPHealthCheck_PortSpecification_USEFIXEDPORT,
    HTTPHealthCheck_PortSpecification_USENAMEDPORT,
    HTTPHealthCheck_PortSpecification_USESERVINGPORT,
    HTTPHealthCheck_PortSpecification
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype HTTPHealthCheck_ProxyHeader = HTTPHealthCheck_ProxyHeader {fromHTTPHealthCheck_ProxyHeader :: 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
      )
  
  pattern HTTPHealthCheck_ProxyHeader_None :: HTTPHealthCheck_ProxyHeader
  pattern HTTPHealthCheck_ProxyHeader_None = HTTPHealthCheck_ProxyHeader "NONE"
  
  pattern HTTPHealthCheck_ProxyHeader_PROXY_V1 :: HTTPHealthCheck_ProxyHeader
  pattern HTTPHealthCheck_ProxyHeader_PROXY_V1 = HTTPHealthCheck_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    HTTPHealthCheck_ProxyHeader_None,
    HTTPHealthCheck_ProxyHeader_PROXY_V1,
    HTTPHealthCheck_ProxyHeader
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group backends. For GCE/VM/IP_PORT network
  -- endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype HTTPSHealthCheck_PortSpecification = HTTPSHealthCheck_PortSpecification {fromHTTPSHealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern HTTPSHealthCheck_PortSpecification_USEFIXEDPORT :: HTTPSHealthCheck_PortSpecification
  pattern HTTPSHealthCheck_PortSpecification_USEFIXEDPORT = HTTPSHealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern HTTPSHealthCheck_PortSpecification_USENAMEDPORT :: HTTPSHealthCheck_PortSpecification
  pattern HTTPSHealthCheck_PortSpecification_USENAMEDPORT = HTTPSHealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern HTTPSHealthCheck_PortSpecification_USESERVINGPORT :: HTTPSHealthCheck_PortSpecification
  pattern HTTPSHealthCheck_PortSpecification_USESERVINGPORT = HTTPSHealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    HTTPSHealthCheck_PortSpecification_USEFIXEDPORT,
    HTTPSHealthCheck_PortSpecification_USENAMEDPORT,
    HTTPSHealthCheck_PortSpecification_USESERVINGPORT,
    HTTPSHealthCheck_PortSpecification
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype HTTPSHealthCheck_ProxyHeader = HTTPSHealthCheck_ProxyHeader {fromHTTPSHealthCheck_ProxyHeader :: 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
      )
  
  pattern HTTPSHealthCheck_ProxyHeader_None :: HTTPSHealthCheck_ProxyHeader
  pattern HTTPSHealthCheck_ProxyHeader_None = HTTPSHealthCheck_ProxyHeader "NONE"
  
  pattern HTTPSHealthCheck_ProxyHeader_PROXY_V1 :: HTTPSHealthCheck_ProxyHeader
  pattern HTTPSHealthCheck_ProxyHeader_PROXY_V1 = HTTPSHealthCheck_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    HTTPSHealthCheck_ProxyHeader_None,
    HTTPSHealthCheck_ProxyHeader_PROXY_V1,
    HTTPSHealthCheck_ProxyHeader
    #-}
  
  -- | Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.
  newtype HealthCheck_Type = HealthCheck_Type {fromHealthCheck_Type :: 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
      )
  
  pattern HealthCheck_Type_Grpc :: HealthCheck_Type
  pattern HealthCheck_Type_Grpc = HealthCheck_Type "GRPC"
  
  pattern HealthCheck_Type_Http :: HealthCheck_Type
  pattern HealthCheck_Type_Http = HealthCheck_Type "HTTP"
  
  pattern HealthCheck_Type_HTTP2 :: HealthCheck_Type
  pattern HealthCheck_Type_HTTP2 = HealthCheck_Type "HTTP2"
  
  pattern HealthCheck_Type_Https :: HealthCheck_Type
  pattern HealthCheck_Type_Https = HealthCheck_Type "HTTPS"
  
  pattern HealthCheck_Type_Invalid :: HealthCheck_Type
  pattern HealthCheck_Type_Invalid = HealthCheck_Type "INVALID"
  
  pattern HealthCheck_Type_Ssl :: HealthCheck_Type
  pattern HealthCheck_Type_Ssl = HealthCheck_Type "SSL"
  
  pattern HealthCheck_Type_Tcp :: HealthCheck_Type
  pattern HealthCheck_Type_Tcp = HealthCheck_Type "TCP"
  
  {-# COMPLETE
    HealthCheck_Type_Grpc,
    HealthCheck_Type_Http,
    HealthCheck_Type_HTTP2,
    HealthCheck_Type_Https,
    HealthCheck_Type_Invalid,
    HealthCheck_Type_Ssl,
    HealthCheck_Type_Tcp,
    HealthCheck_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HealthCheckList_Warning_Code = HealthCheckList_Warning_Code {fromHealthCheckList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HealthCheckList_Warning_Code_CLEANUPFAILED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_CLEANUPFAILED = HealthCheckList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED = HealthCheckList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HealthCheckList_Warning_Code_DEPRECATEDTYPEUSED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_DEPRECATEDTYPEUSED = HealthCheckList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HealthCheckList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED = HealthCheckList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HealthCheckList_Warning_Code_EXTERNALAPIWARNING :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_EXTERNALAPIWARNING = HealthCheckList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN = HealthCheckList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED = HealthCheckList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HealthCheckList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING = HealthCheckList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HealthCheckList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY = HealthCheckList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HealthCheckList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HealthCheckList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HealthCheckList_Warning_Code_NEXTHOPNOTRUNNING :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NEXTHOPNOTRUNNING = HealthCheckList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HealthCheckList_Warning_Code_NOTCRITICALERROR :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NOTCRITICALERROR = HealthCheckList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HealthCheckList_Warning_Code_NORESULTSONPAGE :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_NORESULTSONPAGE = HealthCheckList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HealthCheckList_Warning_Code_PARTIALSUCCESS :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_PARTIALSUCCESS = HealthCheckList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE = HealthCheckList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT = HealthCheckList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HealthCheckList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HealthCheckList_Warning_Code_RESOURCENOTDELETED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_RESOURCENOTDELETED = HealthCheckList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED = HealthCheckList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HealthCheckList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HealthCheckList_Warning_Code_UNDECLAREDPROPERTIES :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_UNDECLAREDPROPERTIES = HealthCheckList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HealthCheckList_Warning_Code_Unreachable :: HealthCheckList_Warning_Code
  pattern HealthCheckList_Warning_Code_Unreachable = HealthCheckList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HealthCheckList_Warning_Code_CLEANUPFAILED,
    HealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
    HealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
    HealthCheckList_Warning_Code_EXTERNALAPIWARNING,
    HealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
    HealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
    HealthCheckList_Warning_Code_NOTCRITICALERROR,
    HealthCheckList_Warning_Code_NORESULTSONPAGE,
    HealthCheckList_Warning_Code_PARTIALSUCCESS,
    HealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
    HealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HealthCheckList_Warning_Code_RESOURCENOTDELETED,
    HealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
    HealthCheckList_Warning_Code_Unreachable,
    HealthCheckList_Warning_Code
    #-}
  
  -- | Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO/AGGREGATION if unspecified. - NO/AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.
  newtype HealthCheckService_HealthStatusAggregationPolicy = HealthCheckService_HealthStatusAggregationPolicy {fromHealthCheckService_HealthStatusAggregationPolicy :: 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
      )
  
  -- | If any backend\'s health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend\'s are healthy, the HealthState of the health check service is HEALTHY.
  pattern HealthCheckService_HealthStatusAggregationPolicy_And :: HealthCheckService_HealthStatusAggregationPolicy
  pattern HealthCheckService_HealthStatusAggregationPolicy_And = HealthCheckService_HealthStatusAggregationPolicy "AND"
  
  -- | An EndpointHealth message is returned for each backend in the health check service.
  pattern HealthCheckService_HealthStatusAggregationPolicy_NOAGGREGATION :: HealthCheckService_HealthStatusAggregationPolicy
  pattern HealthCheckService_HealthStatusAggregationPolicy_NOAGGREGATION = HealthCheckService_HealthStatusAggregationPolicy "NO_AGGREGATION"
  
  {-# COMPLETE
    HealthCheckService_HealthStatusAggregationPolicy_And,
    HealthCheckService_HealthStatusAggregationPolicy_NOAGGREGATION,
    HealthCheckService_HealthStatusAggregationPolicy
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HealthCheckServicesList_Warning_Code = HealthCheckServicesList_Warning_Code {fromHealthCheckServicesList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HealthCheckServicesList_Warning_Code_CLEANUPFAILED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_CLEANUPFAILED = HealthCheckServicesList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HealthCheckServicesList_Warning_Code_DEPRECATEDRESOURCEUSED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_DEPRECATEDRESOURCEUSED = HealthCheckServicesList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HealthCheckServicesList_Warning_Code_DEPRECATEDTYPEUSED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_DEPRECATEDTYPEUSED = HealthCheckServicesList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HealthCheckServicesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HealthCheckServicesList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HealthCheckServicesList_Warning_Code_EXPERIMENTALTYPEUSED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_EXPERIMENTALTYPEUSED = HealthCheckServicesList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HealthCheckServicesList_Warning_Code_EXTERNALAPIWARNING :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_EXTERNALAPIWARNING = HealthCheckServicesList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HealthCheckServicesList_Warning_Code_FIELDVALUEOVERRIDEN :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_FIELDVALUEOVERRIDEN = HealthCheckServicesList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HealthCheckServicesList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_INJECTEDKERNELSDEPRECATED = HealthCheckServicesList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HealthCheckServicesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HealthCheckServicesList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HealthCheckServicesList_Warning_Code_LARGEDEPLOYMENTWARNING :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_LARGEDEPLOYMENTWARNING = HealthCheckServicesList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HealthCheckServicesList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HealthCheckServicesList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HealthCheckServicesList_Warning_Code_MISSINGTYPEDEPENDENCY :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_MISSINGTYPEDEPENDENCY = HealthCheckServicesList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HealthCheckServicesList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HealthCheckServicesList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HealthCheckServicesList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HealthCheckServicesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HealthCheckServicesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPNOTRUNNING :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NEXTHOPNOTRUNNING = HealthCheckServicesList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HealthCheckServicesList_Warning_Code_NOTCRITICALERROR :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NOTCRITICALERROR = HealthCheckServicesList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HealthCheckServicesList_Warning_Code_NORESULTSONPAGE :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_NORESULTSONPAGE = HealthCheckServicesList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HealthCheckServicesList_Warning_Code_PARTIALSUCCESS :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_PARTIALSUCCESS = HealthCheckServicesList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HealthCheckServicesList_Warning_Code_QUOTAINFOUNAVAILABLE :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_QUOTAINFOUNAVAILABLE = HealthCheckServicesList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HealthCheckServicesList_Warning_Code_REQUIREDTOSAGREEMENT :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_REQUIREDTOSAGREEMENT = HealthCheckServicesList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HealthCheckServicesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HealthCheckServicesList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HealthCheckServicesList_Warning_Code_RESOURCENOTDELETED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_RESOURCENOTDELETED = HealthCheckServicesList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HealthCheckServicesList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_SCHEMAVALIDATIONIGNORED = HealthCheckServicesList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HealthCheckServicesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HealthCheckServicesList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HealthCheckServicesList_Warning_Code_UNDECLAREDPROPERTIES :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_UNDECLAREDPROPERTIES = HealthCheckServicesList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HealthCheckServicesList_Warning_Code_Unreachable :: HealthCheckServicesList_Warning_Code
  pattern HealthCheckServicesList_Warning_Code_Unreachable = HealthCheckServicesList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HealthCheckServicesList_Warning_Code_CLEANUPFAILED,
    HealthCheckServicesList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HealthCheckServicesList_Warning_Code_DEPRECATEDTYPEUSED,
    HealthCheckServicesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HealthCheckServicesList_Warning_Code_EXPERIMENTALTYPEUSED,
    HealthCheckServicesList_Warning_Code_EXTERNALAPIWARNING,
    HealthCheckServicesList_Warning_Code_FIELDVALUEOVERRIDEN,
    HealthCheckServicesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HealthCheckServicesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HealthCheckServicesList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HealthCheckServicesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HealthCheckServicesList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HealthCheckServicesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HealthCheckServicesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HealthCheckServicesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HealthCheckServicesList_Warning_Code_NEXTHOPNOTRUNNING,
    HealthCheckServicesList_Warning_Code_NOTCRITICALERROR,
    HealthCheckServicesList_Warning_Code_NORESULTSONPAGE,
    HealthCheckServicesList_Warning_Code_PARTIALSUCCESS,
    HealthCheckServicesList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HealthCheckServicesList_Warning_Code_REQUIREDTOSAGREEMENT,
    HealthCheckServicesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HealthCheckServicesList_Warning_Code_RESOURCENOTDELETED,
    HealthCheckServicesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HealthCheckServicesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HealthCheckServicesList_Warning_Code_UNDECLAREDPROPERTIES,
    HealthCheckServicesList_Warning_Code_Unreachable,
    HealthCheckServicesList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HealthChecksAggregatedList_Warning_Code = HealthChecksAggregatedList_Warning_Code {fromHealthChecksAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HealthChecksAggregatedList_Warning_Code_CLEANUPFAILED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_CLEANUPFAILED = HealthChecksAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HealthChecksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = HealthChecksAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HealthChecksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = HealthChecksAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HealthChecksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HealthChecksAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HealthChecksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = HealthChecksAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HealthChecksAggregatedList_Warning_Code_EXTERNALAPIWARNING :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_EXTERNALAPIWARNING = HealthChecksAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HealthChecksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = HealthChecksAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HealthChecksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = HealthChecksAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HealthChecksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HealthChecksAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HealthChecksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = HealthChecksAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HealthChecksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HealthChecksAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HealthChecksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = HealthChecksAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = HealthChecksAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HealthChecksAggregatedList_Warning_Code_NOTCRITICALERROR :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NOTCRITICALERROR = HealthChecksAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HealthChecksAggregatedList_Warning_Code_NORESULTSONPAGE :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_NORESULTSONPAGE = HealthChecksAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HealthChecksAggregatedList_Warning_Code_PARTIALSUCCESS :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_PARTIALSUCCESS = HealthChecksAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HealthChecksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = HealthChecksAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HealthChecksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = HealthChecksAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HealthChecksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HealthChecksAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HealthChecksAggregatedList_Warning_Code_RESOURCENOTDELETED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_RESOURCENOTDELETED = HealthChecksAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HealthChecksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = HealthChecksAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HealthChecksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HealthChecksAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HealthChecksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = HealthChecksAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HealthChecksAggregatedList_Warning_Code_Unreachable :: HealthChecksAggregatedList_Warning_Code
  pattern HealthChecksAggregatedList_Warning_Code_Unreachable = HealthChecksAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HealthChecksAggregatedList_Warning_Code_CLEANUPFAILED,
    HealthChecksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HealthChecksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    HealthChecksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HealthChecksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    HealthChecksAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    HealthChecksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    HealthChecksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HealthChecksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HealthChecksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HealthChecksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HealthChecksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HealthChecksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    HealthChecksAggregatedList_Warning_Code_NOTCRITICALERROR,
    HealthChecksAggregatedList_Warning_Code_NORESULTSONPAGE,
    HealthChecksAggregatedList_Warning_Code_PARTIALSUCCESS,
    HealthChecksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HealthChecksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    HealthChecksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HealthChecksAggregatedList_Warning_Code_RESOURCENOTDELETED,
    HealthChecksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HealthChecksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HealthChecksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    HealthChecksAggregatedList_Warning_Code_Unreachable,
    HealthChecksAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HealthChecksScopedList_Warning_Code = HealthChecksScopedList_Warning_Code {fromHealthChecksScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HealthChecksScopedList_Warning_Code_CLEANUPFAILED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_CLEANUPFAILED = HealthChecksScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HealthChecksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = HealthChecksScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HealthChecksScopedList_Warning_Code_DEPRECATEDTYPEUSED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_DEPRECATEDTYPEUSED = HealthChecksScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HealthChecksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HealthChecksScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HealthChecksScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_EXPERIMENTALTYPEUSED = HealthChecksScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HealthChecksScopedList_Warning_Code_EXTERNALAPIWARNING :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_EXTERNALAPIWARNING = HealthChecksScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HealthChecksScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_FIELDVALUEOVERRIDEN = HealthChecksScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HealthChecksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = HealthChecksScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HealthChecksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HealthChecksScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HealthChecksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = HealthChecksScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HealthChecksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HealthChecksScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HealthChecksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = HealthChecksScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HealthChecksScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HealthChecksScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HealthChecksScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HealthChecksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HealthChecksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPNOTRUNNING :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NEXTHOPNOTRUNNING = HealthChecksScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HealthChecksScopedList_Warning_Code_NOTCRITICALERROR :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NOTCRITICALERROR = HealthChecksScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HealthChecksScopedList_Warning_Code_NORESULTSONPAGE :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_NORESULTSONPAGE = HealthChecksScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HealthChecksScopedList_Warning_Code_PARTIALSUCCESS :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_PARTIALSUCCESS = HealthChecksScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HealthChecksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = HealthChecksScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HealthChecksScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_REQUIREDTOSAGREEMENT = HealthChecksScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HealthChecksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HealthChecksScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HealthChecksScopedList_Warning_Code_RESOURCENOTDELETED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_RESOURCENOTDELETED = HealthChecksScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HealthChecksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = HealthChecksScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HealthChecksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HealthChecksScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HealthChecksScopedList_Warning_Code_UNDECLAREDPROPERTIES :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_UNDECLAREDPROPERTIES = HealthChecksScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HealthChecksScopedList_Warning_Code_Unreachable :: HealthChecksScopedList_Warning_Code
  pattern HealthChecksScopedList_Warning_Code_Unreachable = HealthChecksScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HealthChecksScopedList_Warning_Code_CLEANUPFAILED,
    HealthChecksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HealthChecksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    HealthChecksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HealthChecksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    HealthChecksScopedList_Warning_Code_EXTERNALAPIWARNING,
    HealthChecksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    HealthChecksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HealthChecksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HealthChecksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HealthChecksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HealthChecksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HealthChecksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HealthChecksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HealthChecksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HealthChecksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    HealthChecksScopedList_Warning_Code_NOTCRITICALERROR,
    HealthChecksScopedList_Warning_Code_NORESULTSONPAGE,
    HealthChecksScopedList_Warning_Code_PARTIALSUCCESS,
    HealthChecksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HealthChecksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    HealthChecksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HealthChecksScopedList_Warning_Code_RESOURCENOTDELETED,
    HealthChecksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HealthChecksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HealthChecksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    HealthChecksScopedList_Warning_Code_Unreachable,
    HealthChecksScopedList_Warning_Code
    #-}
  
  -- | Health state of the IPv4 address of the instance.
  newtype HealthStatus_HealthState = HealthStatus_HealthState {fromHealthStatus_HealthState :: 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
      )
  
  pattern HealthStatus_HealthState_Healthy :: HealthStatus_HealthState
  pattern HealthStatus_HealthState_Healthy = HealthStatus_HealthState "HEALTHY"
  
  pattern HealthStatus_HealthState_Unhealthy :: HealthStatus_HealthState
  pattern HealthStatus_HealthState_Unhealthy = HealthStatus_HealthState "UNHEALTHY"
  
  {-# COMPLETE
    HealthStatus_HealthState_Healthy,
    HealthStatus_HealthState_Unhealthy,
    HealthStatus_HealthState
    #-}
  
  -- | Health state of the IPv6 address of the instance.
  newtype HealthStatus_Ipv6HealthState = HealthStatus_Ipv6HealthState {fromHealthStatus_Ipv6HealthState :: 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
      )
  
  pattern HealthStatus_Ipv6HealthState_Healthy :: HealthStatus_Ipv6HealthState
  pattern HealthStatus_Ipv6HealthState_Healthy = HealthStatus_Ipv6HealthState "HEALTHY"
  
  pattern HealthStatus_Ipv6HealthState_Unhealthy :: HealthStatus_Ipv6HealthState
  pattern HealthStatus_Ipv6HealthState_Unhealthy = HealthStatus_Ipv6HealthState "UNHEALTHY"
  
  {-# COMPLETE
    HealthStatus_Ipv6HealthState_Healthy,
    HealthStatus_Ipv6HealthState_Unhealthy,
    HealthStatus_Ipv6HealthState
    #-}
  
  newtype HealthStatus_WeightError = HealthStatus_WeightError {fromHealthStatus_WeightError :: 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 response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).
  pattern HealthStatus_WeightError_INVALIDWEIGHT :: HealthStatus_WeightError
  pattern HealthStatus_WeightError_INVALIDWEIGHT = HealthStatus_WeightError "INVALID_WEIGHT"
  
  -- | The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.
  pattern HealthStatus_WeightError_MISSINGWEIGHT :: HealthStatus_WeightError
  pattern HealthStatus_WeightError_MISSINGWEIGHT = HealthStatus_WeightError "MISSING_WEIGHT"
  
  -- | This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.
  pattern HealthStatus_WeightError_UNAVAILABLEWEIGHT :: HealthStatus_WeightError
  pattern HealthStatus_WeightError_UNAVAILABLEWEIGHT = HealthStatus_WeightError "UNAVAILABLE_WEIGHT"
  
  -- | This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight.
  pattern HealthStatus_WeightError_WEIGHTNONE :: HealthStatus_WeightError
  pattern HealthStatus_WeightError_WEIGHTNONE = HealthStatus_WeightError "WEIGHT_NONE"
  
  {-# COMPLETE
    HealthStatus_WeightError_INVALIDWEIGHT,
    HealthStatus_WeightError_MISSINGWEIGHT,
    HealthStatus_WeightError_UNAVAILABLEWEIGHT,
    HealthStatus_WeightError_WEIGHTNONE,
    HealthStatus_WeightError
    #-}
  
  -- | Health state of the network endpoint determined based on the health checks configured.
  newtype HealthStatusForNetworkEndpoint_HealthState = HealthStatusForNetworkEndpoint_HealthState {fromHealthStatusForNetworkEndpoint_HealthState :: 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
      )
  
  -- | Endpoint is being drained.
  pattern HealthStatusForNetworkEndpoint_HealthState_Draining :: HealthStatusForNetworkEndpoint_HealthState
  pattern HealthStatusForNetworkEndpoint_HealthState_Draining = HealthStatusForNetworkEndpoint_HealthState "DRAINING"
  
  -- | Endpoint is healthy.
  pattern HealthStatusForNetworkEndpoint_HealthState_Healthy :: HealthStatusForNetworkEndpoint_HealthState
  pattern HealthStatusForNetworkEndpoint_HealthState_Healthy = HealthStatusForNetworkEndpoint_HealthState "HEALTHY"
  
  -- | Endpoint is unhealthy.
  pattern HealthStatusForNetworkEndpoint_HealthState_Unhealthy :: HealthStatusForNetworkEndpoint_HealthState
  pattern HealthStatusForNetworkEndpoint_HealthState_Unhealthy = HealthStatusForNetworkEndpoint_HealthState "UNHEALTHY"
  
  -- | Health status of the endpoint is unknown.
  pattern HealthStatusForNetworkEndpoint_HealthState_Unknown :: HealthStatusForNetworkEndpoint_HealthState
  pattern HealthStatusForNetworkEndpoint_HealthState_Unknown = HealthStatusForNetworkEndpoint_HealthState "UNKNOWN"
  
  {-# COMPLETE
    HealthStatusForNetworkEndpoint_HealthState_Draining,
    HealthStatusForNetworkEndpoint_HealthState_Healthy,
    HealthStatusForNetworkEndpoint_HealthState_Unhealthy,
    HealthStatusForNetworkEndpoint_HealthState_Unknown,
    HealthStatusForNetworkEndpoint_HealthState
    #-}
  
  -- | Health state of the ipv6 network endpoint determined based on the health checks configured.
  newtype HealthStatusForNetworkEndpoint_Ipv6HealthState = HealthStatusForNetworkEndpoint_Ipv6HealthState {fromHealthStatusForNetworkEndpoint_Ipv6HealthState :: 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
      )
  
  -- | Endpoint is being drained.
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Draining :: HealthStatusForNetworkEndpoint_Ipv6HealthState
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Draining = HealthStatusForNetworkEndpoint_Ipv6HealthState "DRAINING"
  
  -- | Endpoint is healthy.
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Healthy :: HealthStatusForNetworkEndpoint_Ipv6HealthState
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Healthy = HealthStatusForNetworkEndpoint_Ipv6HealthState "HEALTHY"
  
  -- | Endpoint is unhealthy.
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Unhealthy :: HealthStatusForNetworkEndpoint_Ipv6HealthState
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Unhealthy = HealthStatusForNetworkEndpoint_Ipv6HealthState "UNHEALTHY"
  
  -- | Health status of the endpoint is unknown.
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Unknown :: HealthStatusForNetworkEndpoint_Ipv6HealthState
  pattern HealthStatusForNetworkEndpoint_Ipv6HealthState_Unknown = HealthStatusForNetworkEndpoint_Ipv6HealthState "UNKNOWN"
  
  {-# COMPLETE
    HealthStatusForNetworkEndpoint_Ipv6HealthState_Draining,
    HealthStatusForNetworkEndpoint_Ipv6HealthState_Healthy,
    HealthStatusForNetworkEndpoint_Ipv6HealthState_Unhealthy,
    HealthStatusForNetworkEndpoint_Ipv6HealthState_Unknown,
    HealthStatusForNetworkEndpoint_Ipv6HealthState
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HttpHealthCheckList_Warning_Code = HttpHealthCheckList_Warning_Code {fromHttpHealthCheckList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HttpHealthCheckList_Warning_Code_CLEANUPFAILED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_CLEANUPFAILED = HttpHealthCheckList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HttpHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED = HttpHealthCheckList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HttpHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED = HttpHealthCheckList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HttpHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HttpHealthCheckList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HttpHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED = HttpHealthCheckList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HttpHealthCheckList_Warning_Code_EXTERNALAPIWARNING :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_EXTERNALAPIWARNING = HttpHealthCheckList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HttpHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN = HttpHealthCheckList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HttpHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED = HttpHealthCheckList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HttpHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HttpHealthCheckList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HttpHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING = HttpHealthCheckList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HttpHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HttpHealthCheckList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HttpHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY = HttpHealthCheckList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HttpHealthCheckList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HttpHealthCheckList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HttpHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HttpHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HttpHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING = HttpHealthCheckList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HttpHealthCheckList_Warning_Code_NOTCRITICALERROR :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NOTCRITICALERROR = HttpHealthCheckList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HttpHealthCheckList_Warning_Code_NORESULTSONPAGE :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_NORESULTSONPAGE = HttpHealthCheckList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HttpHealthCheckList_Warning_Code_PARTIALSUCCESS :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_PARTIALSUCCESS = HttpHealthCheckList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HttpHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE = HttpHealthCheckList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HttpHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT = HttpHealthCheckList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HttpHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HttpHealthCheckList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HttpHealthCheckList_Warning_Code_RESOURCENOTDELETED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_RESOURCENOTDELETED = HttpHealthCheckList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HttpHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED = HttpHealthCheckList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HttpHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HttpHealthCheckList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HttpHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES = HttpHealthCheckList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HttpHealthCheckList_Warning_Code_Unreachable :: HttpHealthCheckList_Warning_Code
  pattern HttpHealthCheckList_Warning_Code_Unreachable = HttpHealthCheckList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HttpHealthCheckList_Warning_Code_CLEANUPFAILED,
    HttpHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HttpHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
    HttpHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HttpHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
    HttpHealthCheckList_Warning_Code_EXTERNALAPIWARNING,
    HttpHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
    HttpHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HttpHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HttpHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HttpHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HttpHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HttpHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HttpHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HttpHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HttpHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
    HttpHealthCheckList_Warning_Code_NOTCRITICALERROR,
    HttpHealthCheckList_Warning_Code_NORESULTSONPAGE,
    HttpHealthCheckList_Warning_Code_PARTIALSUCCESS,
    HttpHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HttpHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
    HttpHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HttpHealthCheckList_Warning_Code_RESOURCENOTDELETED,
    HttpHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HttpHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HttpHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
    HttpHealthCheckList_Warning_Code_Unreachable,
    HttpHealthCheckList_Warning_Code
    #-}
  
  -- | The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED/PERMANENTLY/DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE/OTHER which corresponds to 303. - TEMPORARY/REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained.
  newtype HttpRedirectAction_RedirectResponseCode = HttpRedirectAction_RedirectResponseCode {fromHttpRedirectAction_RedirectResponseCode :: 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
      )
  
  -- | Http Status Code 302 - Found.
  pattern HttpRedirectAction_RedirectResponseCode_Found :: HttpRedirectAction_RedirectResponseCode
  pattern HttpRedirectAction_RedirectResponseCode_Found = HttpRedirectAction_RedirectResponseCode "FOUND"
  
  -- | Http Status Code 301 - Moved Permanently.
  pattern HttpRedirectAction_RedirectResponseCode_MOVEDPERMANENTLYDEFAULT :: HttpRedirectAction_RedirectResponseCode
  pattern HttpRedirectAction_RedirectResponseCode_MOVEDPERMANENTLYDEFAULT = HttpRedirectAction_RedirectResponseCode "MOVED_PERMANENTLY_DEFAULT"
  
  -- | Http Status Code 308 - Permanent Redirect maintaining HTTP method.
  pattern HttpRedirectAction_RedirectResponseCode_PERMANENTREDIRECT :: HttpRedirectAction_RedirectResponseCode
  pattern HttpRedirectAction_RedirectResponseCode_PERMANENTREDIRECT = HttpRedirectAction_RedirectResponseCode "PERMANENT_REDIRECT"
  
  -- | Http Status Code 303 - See Other.
  pattern HttpRedirectAction_RedirectResponseCode_SEEOTHER :: HttpRedirectAction_RedirectResponseCode
  pattern HttpRedirectAction_RedirectResponseCode_SEEOTHER = HttpRedirectAction_RedirectResponseCode "SEE_OTHER"
  
  -- | Http Status Code 307 - Temporary Redirect maintaining HTTP method.
  pattern HttpRedirectAction_RedirectResponseCode_TEMPORARYREDIRECT :: HttpRedirectAction_RedirectResponseCode
  pattern HttpRedirectAction_RedirectResponseCode_TEMPORARYREDIRECT = HttpRedirectAction_RedirectResponseCode "TEMPORARY_REDIRECT"
  
  {-# COMPLETE
    HttpRedirectAction_RedirectResponseCode_Found,
    HttpRedirectAction_RedirectResponseCode_MOVEDPERMANENTLYDEFAULT,
    HttpRedirectAction_RedirectResponseCode_PERMANENTREDIRECT,
    HttpRedirectAction_RedirectResponseCode_SEEOTHER,
    HttpRedirectAction_RedirectResponseCode_TEMPORARYREDIRECT,
    HttpRedirectAction_RedirectResponseCode
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype HttpsHealthCheckList_Warning_Code = HttpsHealthCheckList_Warning_Code {fromHttpsHealthCheckList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern HttpsHealthCheckList_Warning_Code_CLEANUPFAILED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_CLEANUPFAILED = HttpsHealthCheckList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern HttpsHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED = HttpsHealthCheckList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern HttpsHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED = HttpsHealthCheckList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern HttpsHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = HttpsHealthCheckList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern HttpsHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED = HttpsHealthCheckList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern HttpsHealthCheckList_Warning_Code_EXTERNALAPIWARNING :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_EXTERNALAPIWARNING = HttpsHealthCheckList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern HttpsHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN = HttpsHealthCheckList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern HttpsHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED = HttpsHealthCheckList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern HttpsHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = HttpsHealthCheckList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern HttpsHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING = HttpsHealthCheckList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern HttpsHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED = HttpsHealthCheckList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern HttpsHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY = HttpsHealthCheckList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = HttpsHealthCheckList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD = HttpsHealthCheckList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = HttpsHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND = HttpsHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = HttpsHealthCheckList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING = HttpsHealthCheckList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern HttpsHealthCheckList_Warning_Code_NOTCRITICALERROR :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NOTCRITICALERROR = HttpsHealthCheckList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern HttpsHealthCheckList_Warning_Code_NORESULTSONPAGE :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_NORESULTSONPAGE = HttpsHealthCheckList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern HttpsHealthCheckList_Warning_Code_PARTIALSUCCESS :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_PARTIALSUCCESS = HttpsHealthCheckList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern HttpsHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE = HttpsHealthCheckList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern HttpsHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT = HttpsHealthCheckList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern HttpsHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = HttpsHealthCheckList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern HttpsHealthCheckList_Warning_Code_RESOURCENOTDELETED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_RESOURCENOTDELETED = HttpsHealthCheckList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern HttpsHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED = HttpsHealthCheckList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern HttpsHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = HttpsHealthCheckList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern HttpsHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES = HttpsHealthCheckList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern HttpsHealthCheckList_Warning_Code_Unreachable :: HttpsHealthCheckList_Warning_Code
  pattern HttpsHealthCheckList_Warning_Code_Unreachable = HttpsHealthCheckList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    HttpsHealthCheckList_Warning_Code_CLEANUPFAILED,
    HttpsHealthCheckList_Warning_Code_DEPRECATEDRESOURCEUSED,
    HttpsHealthCheckList_Warning_Code_DEPRECATEDTYPEUSED,
    HttpsHealthCheckList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    HttpsHealthCheckList_Warning_Code_EXPERIMENTALTYPEUSED,
    HttpsHealthCheckList_Warning_Code_EXTERNALAPIWARNING,
    HttpsHealthCheckList_Warning_Code_FIELDVALUEOVERRIDEN,
    HttpsHealthCheckList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    HttpsHealthCheckList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    HttpsHealthCheckList_Warning_Code_LARGEDEPLOYMENTWARNING,
    HttpsHealthCheckList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    HttpsHealthCheckList_Warning_Code_MISSINGTYPEDEPENDENCY,
    HttpsHealthCheckList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    HttpsHealthCheckList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    HttpsHealthCheckList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    HttpsHealthCheckList_Warning_Code_NEXTHOPNOTRUNNING,
    HttpsHealthCheckList_Warning_Code_NOTCRITICALERROR,
    HttpsHealthCheckList_Warning_Code_NORESULTSONPAGE,
    HttpsHealthCheckList_Warning_Code_PARTIALSUCCESS,
    HttpsHealthCheckList_Warning_Code_QUOTAINFOUNAVAILABLE,
    HttpsHealthCheckList_Warning_Code_REQUIREDTOSAGREEMENT,
    HttpsHealthCheckList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    HttpsHealthCheckList_Warning_Code_RESOURCENOTDELETED,
    HttpsHealthCheckList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    HttpsHealthCheckList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    HttpsHealthCheckList_Warning_Code_UNDECLAREDPROPERTIES,
    HttpsHealthCheckList_Warning_Code_Unreachable,
    HttpsHealthCheckList_Warning_Code
    #-}
  
  -- | The architecture of the image. Valid values are ARM64 or X86_64.
  newtype Image_Architecture = Image_Architecture {fromImage_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern Image_Architecture_ARCHITECTUREUNSPECIFIED :: Image_Architecture
  pattern Image_Architecture_ARCHITECTUREUNSPECIFIED = Image_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern Image_Architecture_ARM64 :: Image_Architecture
  pattern Image_Architecture_ARM64 = Image_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern Image_Architecture_X86_64 :: Image_Architecture
  pattern Image_Architecture_X86_64 = Image_Architecture "X86_64"
  
  {-# COMPLETE
    Image_Architecture_ARCHITECTUREUNSPECIFIED,
    Image_Architecture_ARM64,
    Image_Architecture_X86_64,
    Image_Architecture
    #-}
  
  -- | The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.
  newtype Image_RawDisk_ContainerType = Image_RawDisk_ContainerType {fromImage_RawDisk_ContainerType :: 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
      )
  
  pattern Image_RawDisk_ContainerType_Tar :: Image_RawDisk_ContainerType
  pattern Image_RawDisk_ContainerType_Tar = Image_RawDisk_ContainerType "TAR"
  
  {-# COMPLETE
    Image_RawDisk_ContainerType_Tar,
    Image_RawDisk_ContainerType
    #-}
  
  -- | The type of the image used to create this disk. The default and only valid value is RAW.
  newtype Image_SourceType = Image_SourceType {fromImage_SourceType :: 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
      )
  
  pattern Image_SourceType_Raw :: Image_SourceType
  pattern Image_SourceType_Raw = Image_SourceType "RAW"
  
  {-# COMPLETE
    Image_SourceType_Raw,
    Image_SourceType
    #-}
  
  -- | [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.
  newtype Image_Status = Image_Status {fromImage_Status :: 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
      )
  
  -- | Image is deleting.
  pattern Image_Status_Deleting :: Image_Status
  pattern Image_Status_Deleting = Image_Status "DELETING"
  
  -- | Image creation failed due to an error.
  pattern Image_Status_Failed :: Image_Status
  pattern Image_Status_Failed = Image_Status "FAILED"
  
  -- | Image hasn\'t been created as yet.
  pattern Image_Status_Pending :: Image_Status
  pattern Image_Status_Pending = Image_Status "PENDING"
  
  -- | Image has been successfully created.
  pattern Image_Status_Ready :: Image_Status
  pattern Image_Status_Ready = Image_Status "READY"
  
  {-# COMPLETE
    Image_Status_Deleting,
    Image_Status_Failed,
    Image_Status_Pending,
    Image_Status_Ready,
    Image_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ImageList_Warning_Code = ImageList_Warning_Code {fromImageList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ImageList_Warning_Code_CLEANUPFAILED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_CLEANUPFAILED = ImageList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ImageList_Warning_Code_DEPRECATEDRESOURCEUSED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_DEPRECATEDRESOURCEUSED = ImageList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ImageList_Warning_Code_DEPRECATEDTYPEUSED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_DEPRECATEDTYPEUSED = ImageList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ImageList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ImageList_Warning_Code_EXPERIMENTALTYPEUSED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_EXPERIMENTALTYPEUSED = ImageList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ImageList_Warning_Code_EXTERNALAPIWARNING :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_EXTERNALAPIWARNING = ImageList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ImageList_Warning_Code_FIELDVALUEOVERRIDEN :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_FIELDVALUEOVERRIDEN = ImageList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ImageList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_INJECTEDKERNELSDEPRECATED = ImageList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ImageList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ImageList_Warning_Code_LARGEDEPLOYMENTWARNING :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_LARGEDEPLOYMENTWARNING = ImageList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ImageList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ImageList_Warning_Code_MISSINGTYPEDEPENDENCY :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_MISSINGTYPEDEPENDENCY = ImageList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ImageList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ImageList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ImageList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ImageList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ImageList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ImageList_Warning_Code_NEXTHOPNOTRUNNING :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NEXTHOPNOTRUNNING = ImageList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ImageList_Warning_Code_NOTCRITICALERROR :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NOTCRITICALERROR = ImageList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ImageList_Warning_Code_NORESULTSONPAGE :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_NORESULTSONPAGE = ImageList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ImageList_Warning_Code_PARTIALSUCCESS :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_PARTIALSUCCESS = ImageList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ImageList_Warning_Code_QUOTAINFOUNAVAILABLE :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_QUOTAINFOUNAVAILABLE = ImageList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ImageList_Warning_Code_REQUIREDTOSAGREEMENT :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_REQUIREDTOSAGREEMENT = ImageList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ImageList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ImageList_Warning_Code_RESOURCENOTDELETED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_RESOURCENOTDELETED = ImageList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ImageList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_SCHEMAVALIDATIONIGNORED = ImageList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ImageList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ImageList_Warning_Code_UNDECLAREDPROPERTIES :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_UNDECLAREDPROPERTIES = ImageList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ImageList_Warning_Code_Unreachable :: ImageList_Warning_Code
  pattern ImageList_Warning_Code_Unreachable = ImageList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ImageList_Warning_Code_CLEANUPFAILED,
    ImageList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ImageList_Warning_Code_DEPRECATEDTYPEUSED,
    ImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ImageList_Warning_Code_EXPERIMENTALTYPEUSED,
    ImageList_Warning_Code_EXTERNALAPIWARNING,
    ImageList_Warning_Code_FIELDVALUEOVERRIDEN,
    ImageList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ImageList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ImageList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ImageList_Warning_Code_NEXTHOPNOTRUNNING,
    ImageList_Warning_Code_NOTCRITICALERROR,
    ImageList_Warning_Code_NORESULTSONPAGE,
    ImageList_Warning_Code_PARTIALSUCCESS,
    ImageList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ImageList_Warning_Code_REQUIREDTOSAGREEMENT,
    ImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ImageList_Warning_Code_RESOURCENOTDELETED,
    ImageList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ImageList_Warning_Code_UNDECLAREDPROPERTIES,
    ImageList_Warning_Code_Unreachable,
    ImageList_Warning_Code
    #-}
  
  -- | KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.
  newtype Instance_KeyRevocationActionType = Instance_KeyRevocationActionType {fromInstance_KeyRevocationActionType :: 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
      )
  
  -- | Default value. This value is unused.
  pattern Instance_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED :: Instance_KeyRevocationActionType
  pattern Instance_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED = Instance_KeyRevocationActionType "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED"
  
  -- | Indicates user chose no operation.
  pattern Instance_KeyRevocationActionType_None :: Instance_KeyRevocationActionType
  pattern Instance_KeyRevocationActionType_None = Instance_KeyRevocationActionType "NONE"
  
  -- | Indicates user chose to opt for VM shutdown on key revocation.
  pattern Instance_KeyRevocationActionType_Stop :: Instance_KeyRevocationActionType
  pattern Instance_KeyRevocationActionType_Stop = Instance_KeyRevocationActionType "STOP"
  
  {-# COMPLETE
    Instance_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
    Instance_KeyRevocationActionType_None,
    Instance_KeyRevocationActionType_Stop,
    Instance_KeyRevocationActionType
    #-}
  
  -- | The private IPv6 google access type for the VM. If not specified, use INHERIT/FROM/SUBNETWORK as default.
  newtype Instance_PrivateIpv6GoogleAccess = Instance_PrivateIpv6GoogleAccess {fromInstance_PrivateIpv6GoogleAccess :: 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
      )
  
  -- | Bidirectional private IPv6 access to\/from Google services. If specified, the subnetwork who is attached to the instance\'s default network interface will be assigned an internal IPv6 prefix if it doesn\'t have before.
  pattern Instance_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE :: Instance_PrivateIpv6GoogleAccess
  pattern Instance_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE = Instance_PrivateIpv6GoogleAccess "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE"
  
  -- | Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance\'s default network interface will be assigned an internal IPv6 prefix if it doesn\'t have before.
  pattern Instance_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE :: Instance_PrivateIpv6GoogleAccess
  pattern Instance_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE = Instance_PrivateIpv6GoogleAccess "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE"
  
  -- | Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.
  pattern Instance_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK :: Instance_PrivateIpv6GoogleAccess
  pattern Instance_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK = Instance_PrivateIpv6GoogleAccess "INHERIT_FROM_SUBNETWORK"
  
  {-# COMPLETE
    Instance_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
    Instance_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
    Instance_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK,
    Instance_PrivateIpv6GoogleAccess
    #-}
  
  -- | [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
  newtype Instance_Status = Instance_Status {fromInstance_Status :: 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 instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
  pattern Instance_Status_Deprovisioning :: Instance_Status
  pattern Instance_Status_Deprovisioning = Instance_Status "DEPROVISIONING"
  
  -- | Resources are being allocated for the instance.
  pattern Instance_Status_Provisioning :: Instance_Status
  pattern Instance_Status_Provisioning = Instance_Status "PROVISIONING"
  
  -- | The instance is in repair.
  pattern Instance_Status_Repairing :: Instance_Status
  pattern Instance_Status_Repairing = Instance_Status "REPAIRING"
  
  -- | The instance is running.
  pattern Instance_Status_Running :: Instance_Status
  pattern Instance_Status_Running = Instance_Status "RUNNING"
  
  -- | All required resources have been allocated and the instance is being started.
  pattern Instance_Status_Staging :: Instance_Status
  pattern Instance_Status_Staging = Instance_Status "STAGING"
  
  -- | The instance has stopped successfully.
  pattern Instance_Status_Stopped :: Instance_Status
  pattern Instance_Status_Stopped = Instance_Status "STOPPED"
  
  -- | The instance is currently stopping (either being deleted or killed).
  pattern Instance_Status_Stopping :: Instance_Status
  pattern Instance_Status_Stopping = Instance_Status "STOPPING"
  
  -- | The instance has suspended.
  pattern Instance_Status_Suspended :: Instance_Status
  pattern Instance_Status_Suspended = Instance_Status "SUSPENDED"
  
  -- | The instance is suspending.
  pattern Instance_Status_Suspending :: Instance_Status
  pattern Instance_Status_Suspending = Instance_Status "SUSPENDING"
  
  -- | The instance has stopped (either by explicit action or underlying failure).
  pattern Instance_Status_Terminated :: Instance_Status
  pattern Instance_Status_Terminated = Instance_Status "TERMINATED"
  
  {-# COMPLETE
    Instance_Status_Deprovisioning,
    Instance_Status_Provisioning,
    Instance_Status_Repairing,
    Instance_Status_Running,
    Instance_Status_Staging,
    Instance_Status_Stopped,
    Instance_Status_Stopping,
    Instance_Status_Suspended,
    Instance_Status_Suspending,
    Instance_Status_Terminated,
    Instance_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceAggregatedList_Warning_Code = InstanceAggregatedList_Warning_Code {fromInstanceAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceAggregatedList_Warning_Code_CLEANUPFAILED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_CLEANUPFAILED = InstanceAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING = InstanceAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceAggregatedList_Warning_Code_NOTCRITICALERROR :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NOTCRITICALERROR = InstanceAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceAggregatedList_Warning_Code_NORESULTSONPAGE :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_NORESULTSONPAGE = InstanceAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceAggregatedList_Warning_Code_PARTIALSUCCESS :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_PARTIALSUCCESS = InstanceAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceAggregatedList_Warning_Code_RESOURCENOTDELETED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_RESOURCENOTDELETED = InstanceAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceAggregatedList_Warning_Code_Unreachable :: InstanceAggregatedList_Warning_Code
  pattern InstanceAggregatedList_Warning_Code_Unreachable = InstanceAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceAggregatedList_Warning_Code_CLEANUPFAILED,
    InstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceAggregatedList_Warning_Code_NOTCRITICALERROR,
    InstanceAggregatedList_Warning_Code_NORESULTSONPAGE,
    InstanceAggregatedList_Warning_Code_PARTIALSUCCESS,
    InstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceAggregatedList_Warning_Code_Unreachable,
    InstanceAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupAggregatedList_Warning_Code = InstanceGroupAggregatedList_Warning_Code {fromInstanceGroupAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupAggregatedList_Warning_Code_CLEANUPFAILED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_CLEANUPFAILED = InstanceGroupAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupAggregatedList_Warning_Code_NOTCRITICALERROR :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NOTCRITICALERROR = InstanceGroupAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupAggregatedList_Warning_Code_NORESULTSONPAGE :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_NORESULTSONPAGE = InstanceGroupAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupAggregatedList_Warning_Code_PARTIALSUCCESS :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_PARTIALSUCCESS = InstanceGroupAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupAggregatedList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_RESOURCENOTDELETED = InstanceGroupAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupAggregatedList_Warning_Code_Unreachable :: InstanceGroupAggregatedList_Warning_Code
  pattern InstanceGroupAggregatedList_Warning_Code_Unreachable = InstanceGroupAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupAggregatedList_Warning_Code_CLEANUPFAILED,
    InstanceGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupAggregatedList_Warning_Code_Unreachable,
    InstanceGroupAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupList_Warning_Code = InstanceGroupList_Warning_Code {fromInstanceGroupList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupList_Warning_Code_CLEANUPFAILED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_CLEANUPFAILED = InstanceGroupList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupList_Warning_Code_NOTCRITICALERROR :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NOTCRITICALERROR = InstanceGroupList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupList_Warning_Code_NORESULTSONPAGE :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_NORESULTSONPAGE = InstanceGroupList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupList_Warning_Code_PARTIALSUCCESS :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_PARTIALSUCCESS = InstanceGroupList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_RESOURCENOTDELETED = InstanceGroupList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupList_Warning_Code_Unreachable :: InstanceGroupList_Warning_Code
  pattern InstanceGroupList_Warning_Code_Unreachable = InstanceGroupList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupList_Warning_Code_CLEANUPFAILED,
    InstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupList_Warning_Code_Unreachable,
    InstanceGroupList_Warning_Code
    #-}
  
  -- | Pagination behavior of the listManagedInstances API method for this managed instance group.
  newtype InstanceGroupManager_ListManagedInstancesResults = InstanceGroupManager_ListManagedInstancesResults {fromInstanceGroupManager_ListManagedInstancesResults :: 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
      )
  
  -- | (Default) Pagination is disabled for the group\'s listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.
  pattern InstanceGroupManager_ListManagedInstancesResults_Pageless :: InstanceGroupManager_ListManagedInstancesResults
  pattern InstanceGroupManager_ListManagedInstancesResults_Pageless = InstanceGroupManager_ListManagedInstancesResults "PAGELESS"
  
  -- | Pagination is enabled for the group\'s listManagedInstances API method. maxResults and pageToken query parameters are respected.
  pattern InstanceGroupManager_ListManagedInstancesResults_Paginated :: InstanceGroupManager_ListManagedInstancesResults
  pattern InstanceGroupManager_ListManagedInstancesResults_Paginated = InstanceGroupManager_ListManagedInstancesResults "PAGINATED"
  
  {-# COMPLETE
    InstanceGroupManager_ListManagedInstancesResults_Pageless,
    InstanceGroupManager_ListManagedInstancesResults_Paginated,
    InstanceGroupManager_ListManagedInstancesResults
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupManagerAggregatedList_Warning_Code = InstanceGroupManagerAggregatedList_Warning_Code {fromInstanceGroupManagerAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_CLEANUPFAILED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_CLEANUPFAILED = InstanceGroupManagerAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupManagerAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupManagerAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupManagerAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupManagerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupManagerAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupManagerAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupManagerAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupManagerAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupManagerAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupManagerAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupManagerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupManagerAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupManagerAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupManagerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupManagerAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupManagerAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NOTCRITICALERROR :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NOTCRITICALERROR = InstanceGroupManagerAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NORESULTSONPAGE :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_NORESULTSONPAGE = InstanceGroupManagerAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupManagerAggregatedList_Warning_Code_PARTIALSUCCESS :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_PARTIALSUCCESS = InstanceGroupManagerAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupManagerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupManagerAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupManagerAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupManagerAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_RESOURCENOTDELETED = InstanceGroupManagerAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupManagerAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupManagerAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupManagerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupManagerAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupManagerAggregatedList_Warning_Code_Unreachable :: InstanceGroupManagerAggregatedList_Warning_Code
  pattern InstanceGroupManagerAggregatedList_Warning_Code_Unreachable = InstanceGroupManagerAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupManagerAggregatedList_Warning_Code_CLEANUPFAILED,
    InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupManagerAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupManagerAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupManagerAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupManagerAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupManagerAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupManagerAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupManagerAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupManagerAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupManagerAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupManagerAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupManagerAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupManagerAggregatedList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupManagerAggregatedList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupManagerAggregatedList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupManagerAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupManagerAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupManagerAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupManagerAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupManagerAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupManagerAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupManagerAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupManagerAggregatedList_Warning_Code_Unreachable,
    InstanceGroupManagerAggregatedList_Warning_Code
    #-}
  
  -- | The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
  newtype InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure = InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure {fromInstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure :: 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
      )
  
  -- | MIG does not repair a failed or an unhealthy VM.
  pattern InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_DONOTHING :: InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure
  pattern InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_DONOTHING = InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure "DO_NOTHING"
  
  -- | (Default) MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG.
  pattern InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_Repair :: InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure
  pattern InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_Repair = InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure "REPAIR"
  
  {-# COMPLETE
    InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_DONOTHING,
    InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure_Repair,
    InstanceGroupManagerInstanceLifecyclePolicy_DefaultActionOnFailure
    #-}
  
  -- | A bit indicating whether to forcefully apply the group\'s latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group\'s update policy. - YES: If configuration updates are available, they are applied during repair.
  newtype InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair = InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair {fromInstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair :: 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
      )
  
  pattern InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_NO :: InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair
  pattern InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_NO = InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair "NO"
  
  pattern InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_Yes :: InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair
  pattern InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_Yes = InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair "YES"
  
  {-# COMPLETE
    InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_NO,
    InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair_Yes,
    InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupManagerList_Warning_Code = InstanceGroupManagerList_Warning_Code {fromInstanceGroupManagerList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupManagerList_Warning_Code_CLEANUPFAILED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_CLEANUPFAILED = InstanceGroupManagerList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupManagerList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupManagerList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupManagerList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupManagerList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupManagerList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupManagerList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupManagerList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupManagerList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupManagerList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupManagerList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupManagerList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupManagerList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupManagerList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupManagerList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupManagerList_Warning_Code_NOTCRITICALERROR :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NOTCRITICALERROR = InstanceGroupManagerList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupManagerList_Warning_Code_NORESULTSONPAGE :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_NORESULTSONPAGE = InstanceGroupManagerList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupManagerList_Warning_Code_PARTIALSUCCESS :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_PARTIALSUCCESS = InstanceGroupManagerList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupManagerList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupManagerList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupManagerList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED = InstanceGroupManagerList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupManagerList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupManagerList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupManagerList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupManagerList_Warning_Code_Unreachable :: InstanceGroupManagerList_Warning_Code
  pattern InstanceGroupManagerList_Warning_Code_Unreachable = InstanceGroupManagerList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupManagerList_Warning_Code_CLEANUPFAILED,
    InstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupManagerList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupManagerList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupManagerList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupManagerList_Warning_Code_Unreachable,
    InstanceGroupManagerList_Warning_Code
    #-}
  
  -- | [Output only] Current state of the request.
  newtype InstanceGroupManagerResizeRequest_State = InstanceGroupManagerResizeRequest_State {fromInstanceGroupManagerResizeRequest_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
      )
  
  -- | The request was created successfully and was accepted for provisioning when the capacity becomes available.
  pattern InstanceGroupManagerResizeRequest_State_Accepted :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_Accepted = InstanceGroupManagerResizeRequest_State "ACCEPTED"
  
  -- | The request is cancelled.
  pattern InstanceGroupManagerResizeRequest_State_Cancelled :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_Cancelled = InstanceGroupManagerResizeRequest_State "CANCELLED"
  
  -- | Resize request is being created and may still fail creation.
  pattern InstanceGroupManagerResizeRequest_State_Creating :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_Creating = InstanceGroupManagerResizeRequest_State "CREATING"
  
  -- | The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.
  pattern InstanceGroupManagerResizeRequest_State_Failed :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_Failed = InstanceGroupManagerResizeRequest_State "FAILED"
  
  -- | Default value. This value should never be returned.
  pattern InstanceGroupManagerResizeRequest_State_STATEUNSPECIFIED :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_STATEUNSPECIFIED = InstanceGroupManagerResizeRequest_State "STATE_UNSPECIFIED"
  
  -- | The request succeeded.
  pattern InstanceGroupManagerResizeRequest_State_Succeeded :: InstanceGroupManagerResizeRequest_State
  pattern InstanceGroupManagerResizeRequest_State_Succeeded = InstanceGroupManagerResizeRequest_State "SUCCEEDED"
  
  {-# COMPLETE
    InstanceGroupManagerResizeRequest_State_Accepted,
    InstanceGroupManagerResizeRequest_State_Cancelled,
    InstanceGroupManagerResizeRequest_State_Creating,
    InstanceGroupManagerResizeRequest_State_Failed,
    InstanceGroupManagerResizeRequest_State_STATEUNSPECIFIED,
    InstanceGroupManagerResizeRequest_State_Succeeded,
    InstanceGroupManagerResizeRequest_State
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupManagerResizeRequestsListResponse_Warning_Code = InstanceGroupManagerResizeRequestsListResponse_Warning_Code {fromInstanceGroupManagerResizeRequestsListResponse_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_CLEANUPFAILED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_CLEANUPFAILED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXTERNALAPIWARNING = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NOTCRITICALERROR :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NOTCRITICALERROR = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NORESULTSONPAGE :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NORESULTSONPAGE = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_PARTIALSUCCESS :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_PARTIALSUCCESS = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCENOTDELETED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCENOTDELETED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_Unreachable :: InstanceGroupManagerResizeRequestsListResponse_Warning_Code
  pattern InstanceGroupManagerResizeRequestsListResponse_Warning_Code_Unreachable = InstanceGroupManagerResizeRequestsListResponse_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_CLEANUPFAILED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NOTCRITICALERROR,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_NORESULTSONPAGE,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_PARTIALSUCCESS,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code_Unreachable,
    InstanceGroupManagerResizeRequestsListResponse_Warning_Code
    #-}
  
  -- | Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is @MANUAL@.
  newtype InstanceGroupManagerStandbyPolicy_Mode = InstanceGroupManagerStandbyPolicy_Mode {fromInstanceGroupManagerStandbyPolicy_Mode :: 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
      )
  
  -- | MIG does not automatically resume or start VMs in the standby pool when the group scales out.
  pattern InstanceGroupManagerStandbyPolicy_Mode_Manual :: InstanceGroupManagerStandbyPolicy_Mode
  pattern InstanceGroupManagerStandbyPolicy_Mode_Manual = InstanceGroupManagerStandbyPolicy_Mode "MANUAL"
  
  -- | MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards.
  pattern InstanceGroupManagerStandbyPolicy_Mode_SCALEOUTPOOL :: InstanceGroupManagerStandbyPolicy_Mode
  pattern InstanceGroupManagerStandbyPolicy_Mode_SCALEOUTPOOL = InstanceGroupManagerStandbyPolicy_Mode "SCALE_OUT_POOL"
  
  {-# COMPLETE
    InstanceGroupManagerStandbyPolicy_Mode_Manual,
    InstanceGroupManagerStandbyPolicy_Mode_SCALEOUTPOOL,
    InstanceGroupManagerStandbyPolicy_Mode
    #-}
  
  -- | The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled.
  newtype InstanceGroupManagerUpdatePolicy_InstanceRedistributionType = InstanceGroupManagerUpdatePolicy_InstanceRedistributionType {fromInstanceGroupManagerUpdatePolicy_InstanceRedistributionType :: 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
      )
  
  -- | No action is being proactively performed in order to bring this IGM to its target instance distribution.
  pattern InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_None :: InstanceGroupManagerUpdatePolicy_InstanceRedistributionType
  pattern InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_None = InstanceGroupManagerUpdatePolicy_InstanceRedistributionType "NONE"
  
  -- | This IGM will actively converge to its target instance distribution.
  pattern InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_Proactive :: InstanceGroupManagerUpdatePolicy_InstanceRedistributionType
  pattern InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_Proactive = InstanceGroupManagerUpdatePolicy_InstanceRedistributionType "PROACTIVE"
  
  {-# COMPLETE
    InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_None,
    InstanceGroupManagerUpdatePolicy_InstanceRedistributionType_Proactive,
    InstanceGroupManagerUpdatePolicy_InstanceRedistributionType
    #-}
  
  -- | Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes.
  newtype InstanceGroupManagerUpdatePolicy_MinimalAction = InstanceGroupManagerUpdatePolicy_MinimalAction {fromInstanceGroupManagerUpdatePolicy_MinimalAction :: 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
      )
  
  -- | Do not perform any action.
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_None :: InstanceGroupManagerUpdatePolicy_MinimalAction
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_None = InstanceGroupManagerUpdatePolicy_MinimalAction "NONE"
  
  -- | Do not stop the instance.
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Refresh :: InstanceGroupManagerUpdatePolicy_MinimalAction
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Refresh = InstanceGroupManagerUpdatePolicy_MinimalAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Replace :: InstanceGroupManagerUpdatePolicy_MinimalAction
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Replace = InstanceGroupManagerUpdatePolicy_MinimalAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Restart :: InstanceGroupManagerUpdatePolicy_MinimalAction
  pattern InstanceGroupManagerUpdatePolicy_MinimalAction_Restart = InstanceGroupManagerUpdatePolicy_MinimalAction "RESTART"
  
  {-# COMPLETE
    InstanceGroupManagerUpdatePolicy_MinimalAction_None,
    InstanceGroupManagerUpdatePolicy_MinimalAction_Refresh,
    InstanceGroupManagerUpdatePolicy_MinimalAction_Replace,
    InstanceGroupManagerUpdatePolicy_MinimalAction_Restart,
    InstanceGroupManagerUpdatePolicy_MinimalAction
    #-}
  
  -- | Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.
  newtype InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction = InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction {fromInstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction :: 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
      )
  
  -- | Do not perform any action.
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_None :: InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_None = InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction "NONE"
  
  -- | Do not stop the instance.
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Refresh :: InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Refresh = InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Replace :: InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Replace = InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Restart :: InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
  pattern InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Restart = InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction "RESTART"
  
  {-# COMPLETE
    InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_None,
    InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Refresh,
    InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Replace,
    InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction_Restart,
    InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction
    #-}
  
  -- | What action should be used to replace instances. See minimal_action.REPLACE
  newtype InstanceGroupManagerUpdatePolicy_ReplacementMethod = InstanceGroupManagerUpdatePolicy_ReplacementMethod {fromInstanceGroupManagerUpdatePolicy_ReplacementMethod :: 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
      )
  
  -- | Instances will be recreated (with the same name)
  pattern InstanceGroupManagerUpdatePolicy_ReplacementMethod_Recreate :: InstanceGroupManagerUpdatePolicy_ReplacementMethod
  pattern InstanceGroupManagerUpdatePolicy_ReplacementMethod_Recreate = InstanceGroupManagerUpdatePolicy_ReplacementMethod "RECREATE"
  
  -- | Default option: instances will be deleted and created (with a new name)
  pattern InstanceGroupManagerUpdatePolicy_ReplacementMethod_Substitute :: InstanceGroupManagerUpdatePolicy_ReplacementMethod
  pattern InstanceGroupManagerUpdatePolicy_ReplacementMethod_Substitute = InstanceGroupManagerUpdatePolicy_ReplacementMethod "SUBSTITUTE"
  
  {-# COMPLETE
    InstanceGroupManagerUpdatePolicy_ReplacementMethod_Recreate,
    InstanceGroupManagerUpdatePolicy_ReplacementMethod_Substitute,
    InstanceGroupManagerUpdatePolicy_ReplacementMethod
    #-}
  
  -- | The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.
  newtype InstanceGroupManagerUpdatePolicy_Type = InstanceGroupManagerUpdatePolicy_Type {fromInstanceGroupManagerUpdatePolicy_Type :: 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
      )
  
  -- | MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.
  pattern InstanceGroupManagerUpdatePolicy_Type_Opportunistic :: InstanceGroupManagerUpdatePolicy_Type
  pattern InstanceGroupManagerUpdatePolicy_Type_Opportunistic = InstanceGroupManagerUpdatePolicy_Type "OPPORTUNISTIC"
  
  -- | MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group.
  pattern InstanceGroupManagerUpdatePolicy_Type_Proactive :: InstanceGroupManagerUpdatePolicy_Type
  pattern InstanceGroupManagerUpdatePolicy_Type_Proactive = InstanceGroupManagerUpdatePolicy_Type "PROACTIVE"
  
  {-# COMPLETE
    InstanceGroupManagerUpdatePolicy_Type_Opportunistic,
    InstanceGroupManagerUpdatePolicy_Type_Proactive,
    InstanceGroupManagerUpdatePolicy_Type
    #-}
  
  -- | The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
  newtype InstanceGroupManagersApplyUpdatesRequest_MinimalAction = InstanceGroupManagersApplyUpdatesRequest_MinimalAction {fromInstanceGroupManagersApplyUpdatesRequest_MinimalAction :: 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
      )
  
  -- | Do not perform any action.
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_None :: InstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_None = InstanceGroupManagersApplyUpdatesRequest_MinimalAction "NONE"
  
  -- | Do not stop the instance.
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh :: InstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh = InstanceGroupManagersApplyUpdatesRequest_MinimalAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace :: InstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace = InstanceGroupManagersApplyUpdatesRequest_MinimalAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart :: InstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart = InstanceGroupManagersApplyUpdatesRequest_MinimalAction "RESTART"
  
  {-# COMPLETE
    InstanceGroupManagersApplyUpdatesRequest_MinimalAction_None,
    InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh,
    InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace,
    InstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart,
    InstanceGroupManagersApplyUpdatesRequest_MinimalAction
    #-}
  
  -- | The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
  newtype InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction = InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction {fromInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction :: 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
      )
  
  -- | Do not perform any action.
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None :: InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None = InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "NONE"
  
  -- | Do not stop the instance.
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh :: InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh = InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace :: InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace = InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart :: InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart = InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "RESTART"
  
  {-# COMPLETE
    InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None,
    InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh,
    InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace,
    InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart,
    InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code {fromInstanceGroupManagersListPerInstanceConfigsResp_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_CLEANUPFAILED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_CLEANUPFAILED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NOTCRITICALERROR :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NOTCRITICALERROR = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NORESULTSONPAGE :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NORESULTSONPAGE = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_PARTIALSUCCESS :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_PARTIALSUCCESS = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_Unreachable :: InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
  pattern InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_Unreachable = InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_CLEANUPFAILED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NOTCRITICALERROR,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_NORESULTSONPAGE,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_PARTIALSUCCESS,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code_Unreachable,
    InstanceGroupManagersListPerInstanceConfigsResp_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupManagersScopedList_Warning_Code = InstanceGroupManagersScopedList_Warning_Code {fromInstanceGroupManagersScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupManagersScopedList_Warning_Code_CLEANUPFAILED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_CLEANUPFAILED = InstanceGroupManagersScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupManagersScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupManagersScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupManagersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupManagersScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupManagersScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupManagersScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupManagersScopedList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupManagersScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupManagersScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupManagersScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupManagersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupManagersScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupManagersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupManagersScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupManagersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupManagersScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupManagersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupManagersScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupManagersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupManagersScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupManagersScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupManagersScopedList_Warning_Code_NOTCRITICALERROR :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NOTCRITICALERROR = InstanceGroupManagersScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupManagersScopedList_Warning_Code_NORESULTSONPAGE :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_NORESULTSONPAGE = InstanceGroupManagersScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupManagersScopedList_Warning_Code_PARTIALSUCCESS :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_PARTIALSUCCESS = InstanceGroupManagersScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupManagersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupManagersScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupManagersScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupManagersScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupManagersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupManagersScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupManagersScopedList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_RESOURCENOTDELETED = InstanceGroupManagersScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupManagersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupManagersScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupManagersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupManagersScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupManagersScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupManagersScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupManagersScopedList_Warning_Code_Unreachable :: InstanceGroupManagersScopedList_Warning_Code
  pattern InstanceGroupManagersScopedList_Warning_Code_Unreachable = InstanceGroupManagersScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupManagersScopedList_Warning_Code_CLEANUPFAILED,
    InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupManagersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupManagersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupManagersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupManagersScopedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupManagersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupManagersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupManagersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupManagersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupManagersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupManagersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupManagersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupManagersScopedList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupManagersScopedList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupManagersScopedList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupManagersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupManagersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupManagersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupManagersScopedList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupManagersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupManagersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupManagersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupManagersScopedList_Warning_Code_Unreachable,
    InstanceGroupManagersScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupsListInstances_Warning_Code = InstanceGroupsListInstances_Warning_Code {fromInstanceGroupsListInstances_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupsListInstances_Warning_Code_CLEANUPFAILED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_CLEANUPFAILED = InstanceGroupsListInstances_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupsListInstances_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupsListInstances_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupsListInstances_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupsListInstances_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING = InstanceGroupsListInstances_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupsListInstances_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupsListInstances_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupsListInstances_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupsListInstances_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupsListInstances_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupsListInstances_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupsListInstances_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR = InstanceGroupsListInstances_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE = InstanceGroupsListInstances_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS = InstanceGroupsListInstances_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupsListInstances_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupsListInstances_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupsListInstances_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED = InstanceGroupsListInstances_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupsListInstances_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupsListInstances_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupsListInstances_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupsListInstances_Warning_Code_Unreachable :: InstanceGroupsListInstances_Warning_Code
  pattern InstanceGroupsListInstances_Warning_Code_Unreachable = InstanceGroupsListInstances_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupsListInstances_Warning_Code_CLEANUPFAILED,
    InstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR,
    InstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE,
    InstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS,
    InstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupsListInstances_Warning_Code_Unreachable,
    InstanceGroupsListInstances_Warning_Code
    #-}
  
  -- | A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.
  newtype InstanceGroupsListInstancesRequest_InstanceState = InstanceGroupsListInstancesRequest_InstanceState {fromInstanceGroupsListInstancesRequest_InstanceState :: 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
      )
  
  -- | Includes all instances in the generated list regardless of their state.
  pattern InstanceGroupsListInstancesRequest_InstanceState_All :: InstanceGroupsListInstancesRequest_InstanceState
  pattern InstanceGroupsListInstancesRequest_InstanceState_All = InstanceGroupsListInstancesRequest_InstanceState "ALL"
  
  -- | Includes instances in the generated list only if they have a RUNNING state.
  pattern InstanceGroupsListInstancesRequest_InstanceState_Running :: InstanceGroupsListInstancesRequest_InstanceState
  pattern InstanceGroupsListInstancesRequest_InstanceState_Running = InstanceGroupsListInstancesRequest_InstanceState "RUNNING"
  
  {-# COMPLETE
    InstanceGroupsListInstancesRequest_InstanceState_All,
    InstanceGroupsListInstancesRequest_InstanceState_Running,
    InstanceGroupsListInstancesRequest_InstanceState
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceGroupsScopedList_Warning_Code = InstanceGroupsScopedList_Warning_Code {fromInstanceGroupsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceGroupsScopedList_Warning_Code_CLEANUPFAILED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_CLEANUPFAILED = InstanceGroupsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceGroupsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceGroupsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceGroupsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceGroupsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceGroupsScopedList_Warning_Code_EXTERNALAPIWARNING :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_EXTERNALAPIWARNING = InstanceGroupsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceGroupsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceGroupsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceGroupsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceGroupsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceGroupsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceGroupsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceGroupsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceGroupsScopedList_Warning_Code_NOTCRITICALERROR :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NOTCRITICALERROR = InstanceGroupsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceGroupsScopedList_Warning_Code_NORESULTSONPAGE :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_NORESULTSONPAGE = InstanceGroupsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceGroupsScopedList_Warning_Code_PARTIALSUCCESS :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_PARTIALSUCCESS = InstanceGroupsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceGroupsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceGroupsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceGroupsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceGroupsScopedList_Warning_Code_RESOURCENOTDELETED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_RESOURCENOTDELETED = InstanceGroupsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceGroupsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceGroupsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceGroupsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceGroupsScopedList_Warning_Code_Unreachable :: InstanceGroupsScopedList_Warning_Code
  pattern InstanceGroupsScopedList_Warning_Code_Unreachable = InstanceGroupsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceGroupsScopedList_Warning_Code_CLEANUPFAILED,
    InstanceGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceGroupsScopedList_Warning_Code_NOTCRITICALERROR,
    InstanceGroupsScopedList_Warning_Code_NORESULTSONPAGE,
    InstanceGroupsScopedList_Warning_Code_PARTIALSUCCESS,
    InstanceGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
    InstanceGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceGroupsScopedList_Warning_Code_Unreachable,
    InstanceGroupsScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceList_Warning_Code = InstanceList_Warning_Code {fromInstanceList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceList_Warning_Code_CLEANUPFAILED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_CLEANUPFAILED = InstanceList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_DEPRECATEDTYPEUSED = InstanceList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceList_Warning_Code_EXTERNALAPIWARNING :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_EXTERNALAPIWARNING = InstanceList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NEXTHOPNOTRUNNING = InstanceList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceList_Warning_Code_NOTCRITICALERROR :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NOTCRITICALERROR = InstanceList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceList_Warning_Code_NORESULTSONPAGE :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_NORESULTSONPAGE = InstanceList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceList_Warning_Code_PARTIALSUCCESS :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_PARTIALSUCCESS = InstanceList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceList_Warning_Code_RESOURCENOTDELETED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_RESOURCENOTDELETED = InstanceList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_UNDECLAREDPROPERTIES = InstanceList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceList_Warning_Code_Unreachable :: InstanceList_Warning_Code
  pattern InstanceList_Warning_Code_Unreachable = InstanceList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceList_Warning_Code_CLEANUPFAILED,
    InstanceList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceList_Warning_Code_EXTERNALAPIWARNING,
    InstanceList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceList_Warning_Code_NOTCRITICALERROR,
    InstanceList_Warning_Code_NORESULTSONPAGE,
    InstanceList_Warning_Code_PARTIALSUCCESS,
    InstanceList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceList_Warning_Code_RESOURCENOTDELETED,
    InstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceList_Warning_Code_Unreachable,
    InstanceList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceListReferrers_Warning_Code = InstanceListReferrers_Warning_Code {fromInstanceListReferrers_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceListReferrers_Warning_Code_CLEANUPFAILED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_CLEANUPFAILED = InstanceListReferrers_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceListReferrers_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceListReferrers_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceListReferrers_Warning_Code_DEPRECATEDTYPEUSED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_DEPRECATEDTYPEUSED = InstanceListReferrers_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceListReferrers_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceListReferrers_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceListReferrers_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_EXPERIMENTALTYPEUSED = InstanceListReferrers_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceListReferrers_Warning_Code_EXTERNALAPIWARNING :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_EXTERNALAPIWARNING = InstanceListReferrers_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceListReferrers_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_FIELDVALUEOVERRIDEN = InstanceListReferrers_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceListReferrers_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceListReferrers_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceListReferrers_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceListReferrers_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceListReferrers_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceListReferrers_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceListReferrers_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceListReferrers_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceListReferrers_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceListReferrers_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceListReferrers_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceListReferrers_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceListReferrers_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceListReferrers_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceListReferrers_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceListReferrers_Warning_Code_NEXTHOPNOTRUNNING :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NEXTHOPNOTRUNNING = InstanceListReferrers_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceListReferrers_Warning_Code_NOTCRITICALERROR :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NOTCRITICALERROR = InstanceListReferrers_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceListReferrers_Warning_Code_NORESULTSONPAGE :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_NORESULTSONPAGE = InstanceListReferrers_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceListReferrers_Warning_Code_PARTIALSUCCESS :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_PARTIALSUCCESS = InstanceListReferrers_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceListReferrers_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceListReferrers_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceListReferrers_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_REQUIREDTOSAGREEMENT = InstanceListReferrers_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceListReferrers_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceListReferrers_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceListReferrers_Warning_Code_RESOURCENOTDELETED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_RESOURCENOTDELETED = InstanceListReferrers_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceListReferrers_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceListReferrers_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceListReferrers_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceListReferrers_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceListReferrers_Warning_Code_UNDECLAREDPROPERTIES :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_UNDECLAREDPROPERTIES = InstanceListReferrers_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceListReferrers_Warning_Code_Unreachable :: InstanceListReferrers_Warning_Code
  pattern InstanceListReferrers_Warning_Code_Unreachable = InstanceListReferrers_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceListReferrers_Warning_Code_CLEANUPFAILED,
    InstanceListReferrers_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceListReferrers_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceListReferrers_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceListReferrers_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceListReferrers_Warning_Code_EXTERNALAPIWARNING,
    InstanceListReferrers_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceListReferrers_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceListReferrers_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceListReferrers_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceListReferrers_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceListReferrers_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceListReferrers_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceListReferrers_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceListReferrers_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceListReferrers_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceListReferrers_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceListReferrers_Warning_Code_NOTCRITICALERROR,
    InstanceListReferrers_Warning_Code_NORESULTSONPAGE,
    InstanceListReferrers_Warning_Code_PARTIALSUCCESS,
    InstanceListReferrers_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceListReferrers_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceListReferrers_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceListReferrers_Warning_Code_RESOURCENOTDELETED,
    InstanceListReferrers_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceListReferrers_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceListReferrers_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceListReferrers_Warning_Code_Unreachable,
    InstanceListReferrers_Warning_Code
    #-}
  
  -- | [Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:
  newtype InstanceManagedByIgmErrorInstanceActionDetails_Action = InstanceManagedByIgmErrorInstanceActionDetails_Action {fromInstanceManagedByIgmErrorInstanceActionDetails_Action :: 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 managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Abandoning :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Abandoning = InstanceManagedByIgmErrorInstanceActionDetails_Action "ABANDONING"
  
  -- | The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Creating :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Creating = InstanceManagedByIgmErrorInstanceActionDetails_Action "CREATING"
  
  -- | The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group\'s targetSize value is decreased.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_CREATINGWITHOUTRETRIES :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_CREATINGWITHOUTRETRIES = InstanceManagedByIgmErrorInstanceActionDetails_Action "CREATING_WITHOUT_RETRIES"
  
  -- | The managed instance group is permanently deleting this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Deleting :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Deleting = InstanceManagedByIgmErrorInstanceActionDetails_Action "DELETING"
  
  -- | The managed instance group has not scheduled any actions for this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_None :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_None = InstanceManagedByIgmErrorInstanceActionDetails_Action "NONE"
  
  -- | The managed instance group is recreating this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Recreating :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Recreating = InstanceManagedByIgmErrorInstanceActionDetails_Action "RECREATING"
  
  -- | The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Refreshing :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Refreshing = InstanceManagedByIgmErrorInstanceActionDetails_Action "REFRESHING"
  
  -- | The managed instance group is restarting this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Restarting :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Restarting = InstanceManagedByIgmErrorInstanceActionDetails_Action "RESTARTING"
  
  -- | The managed instance group is resuming this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Resuming :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Resuming = InstanceManagedByIgmErrorInstanceActionDetails_Action "RESUMING"
  
  -- | The managed instance group is starting this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Starting :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Starting = InstanceManagedByIgmErrorInstanceActionDetails_Action "STARTING"
  
  -- | The managed instance group is stopping this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Stopping :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Stopping = InstanceManagedByIgmErrorInstanceActionDetails_Action "STOPPING"
  
  -- | The managed instance group is suspending this instance.
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Suspending :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Suspending = InstanceManagedByIgmErrorInstanceActionDetails_Action "SUSPENDING"
  
  -- | The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group\'s autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions).
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Verifying :: InstanceManagedByIgmErrorInstanceActionDetails_Action
  pattern InstanceManagedByIgmErrorInstanceActionDetails_Action_Verifying = InstanceManagedByIgmErrorInstanceActionDetails_Action "VERIFYING"
  
  {-# COMPLETE
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Abandoning,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Creating,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_CREATINGWITHOUTRETRIES,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Deleting,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_None,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Recreating,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Refreshing,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Restarting,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Resuming,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Starting,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Stopping,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Suspending,
    InstanceManagedByIgmErrorInstanceActionDetails_Action_Verifying,
    InstanceManagedByIgmErrorInstanceActionDetails_Action
    #-}
  
  -- | KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.
  newtype InstanceProperties_KeyRevocationActionType = InstanceProperties_KeyRevocationActionType {fromInstanceProperties_KeyRevocationActionType :: 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
      )
  
  -- | Default value. This value is unused.
  pattern InstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED :: InstanceProperties_KeyRevocationActionType
  pattern InstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED = InstanceProperties_KeyRevocationActionType "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED"
  
  -- | Indicates user chose no operation.
  pattern InstanceProperties_KeyRevocationActionType_None :: InstanceProperties_KeyRevocationActionType
  pattern InstanceProperties_KeyRevocationActionType_None = InstanceProperties_KeyRevocationActionType "NONE"
  
  -- | Indicates user chose to opt for VM shutdown on key revocation.
  pattern InstanceProperties_KeyRevocationActionType_Stop :: InstanceProperties_KeyRevocationActionType
  pattern InstanceProperties_KeyRevocationActionType_Stop = InstanceProperties_KeyRevocationActionType "STOP"
  
  {-# COMPLETE
    InstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
    InstanceProperties_KeyRevocationActionType_None,
    InstanceProperties_KeyRevocationActionType_Stop,
    InstanceProperties_KeyRevocationActionType
    #-}
  
  -- | The private IPv6 google access type for VMs. If not specified, use INHERIT/FROM/SUBNETWORK as default. Note that for MachineImage, this is not supported yet.
  newtype InstanceProperties_PrivateIpv6GoogleAccess = InstanceProperties_PrivateIpv6GoogleAccess {fromInstanceProperties_PrivateIpv6GoogleAccess :: 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
      )
  
  -- | Bidirectional private IPv6 access to\/from Google services. If specified, the subnetwork who is attached to the instance\'s default network interface will be assigned an internal IPv6 prefix if it doesn\'t have before.
  pattern InstanceProperties_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE :: InstanceProperties_PrivateIpv6GoogleAccess
  pattern InstanceProperties_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE = InstanceProperties_PrivateIpv6GoogleAccess "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE"
  
  -- | Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance\'s default network interface will be assigned an internal IPv6 prefix if it doesn\'t have before.
  pattern InstanceProperties_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE :: InstanceProperties_PrivateIpv6GoogleAccess
  pattern InstanceProperties_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE = InstanceProperties_PrivateIpv6GoogleAccess "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE"
  
  -- | Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork.
  pattern InstanceProperties_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK :: InstanceProperties_PrivateIpv6GoogleAccess
  pattern InstanceProperties_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK = InstanceProperties_PrivateIpv6GoogleAccess "INHERIT_FROM_SUBNETWORK"
  
  {-# COMPLETE
    InstanceProperties_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
    InstanceProperties_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
    InstanceProperties_PrivateIpv6GoogleAccess_INHERITFROMSUBNETWORK,
    InstanceProperties_PrivateIpv6GoogleAccess
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceTemplateAggregatedList_Warning_Code = InstanceTemplateAggregatedList_Warning_Code {fromInstanceTemplateAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceTemplateAggregatedList_Warning_Code_CLEANUPFAILED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_CLEANUPFAILED = InstanceTemplateAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceTemplateAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceTemplateAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceTemplateAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceTemplateAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING = InstanceTemplateAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceTemplateAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceTemplateAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceTemplateAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceTemplateAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceTemplateAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceTemplateAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceTemplateAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceTemplateAggregatedList_Warning_Code_NOTCRITICALERROR :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NOTCRITICALERROR = InstanceTemplateAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceTemplateAggregatedList_Warning_Code_NORESULTSONPAGE :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_NORESULTSONPAGE = InstanceTemplateAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceTemplateAggregatedList_Warning_Code_PARTIALSUCCESS :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_PARTIALSUCCESS = InstanceTemplateAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceTemplateAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceTemplateAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceTemplateAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED = InstanceTemplateAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceTemplateAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceTemplateAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceTemplateAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceTemplateAggregatedList_Warning_Code_Unreachable :: InstanceTemplateAggregatedList_Warning_Code
  pattern InstanceTemplateAggregatedList_Warning_Code_Unreachable = InstanceTemplateAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceTemplateAggregatedList_Warning_Code_CLEANUPFAILED,
    InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceTemplateAggregatedList_Warning_Code_NOTCRITICALERROR,
    InstanceTemplateAggregatedList_Warning_Code_NORESULTSONPAGE,
    InstanceTemplateAggregatedList_Warning_Code_PARTIALSUCCESS,
    InstanceTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InstanceTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceTemplateAggregatedList_Warning_Code_Unreachable,
    InstanceTemplateAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceTemplateList_Warning_Code = InstanceTemplateList_Warning_Code {fromInstanceTemplateList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceTemplateList_Warning_Code_CLEANUPFAILED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_CLEANUPFAILED = InstanceTemplateList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceTemplateList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceTemplateList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_DEPRECATEDTYPEUSED = InstanceTemplateList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceTemplateList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceTemplateList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceTemplateList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceTemplateList_Warning_Code_EXTERNALAPIWARNING :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_EXTERNALAPIWARNING = InstanceTemplateList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceTemplateList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceTemplateList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceTemplateList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceTemplateList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceTemplateList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceTemplateList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceTemplateList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceTemplateList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceTemplateList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceTemplateList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceTemplateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceTemplateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceTemplateList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NEXTHOPNOTRUNNING = InstanceTemplateList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceTemplateList_Warning_Code_NOTCRITICALERROR :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NOTCRITICALERROR = InstanceTemplateList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceTemplateList_Warning_Code_NORESULTSONPAGE :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_NORESULTSONPAGE = InstanceTemplateList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceTemplateList_Warning_Code_PARTIALSUCCESS :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_PARTIALSUCCESS = InstanceTemplateList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceTemplateList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceTemplateList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceTemplateList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceTemplateList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceTemplateList_Warning_Code_RESOURCENOTDELETED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_RESOURCENOTDELETED = InstanceTemplateList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceTemplateList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceTemplateList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceTemplateList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_UNDECLAREDPROPERTIES = InstanceTemplateList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceTemplateList_Warning_Code_Unreachable :: InstanceTemplateList_Warning_Code
  pattern InstanceTemplateList_Warning_Code_Unreachable = InstanceTemplateList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceTemplateList_Warning_Code_CLEANUPFAILED,
    InstanceTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceTemplateList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceTemplateList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceTemplateList_Warning_Code_EXTERNALAPIWARNING,
    InstanceTemplateList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceTemplateList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceTemplateList_Warning_Code_NOTCRITICALERROR,
    InstanceTemplateList_Warning_Code_NORESULTSONPAGE,
    InstanceTemplateList_Warning_Code_PARTIALSUCCESS,
    InstanceTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceTemplateList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceTemplateList_Warning_Code_RESOURCENOTDELETED,
    InstanceTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceTemplateList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceTemplateList_Warning_Code_Unreachable,
    InstanceTemplateList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstanceTemplatesScopedList_Warning_Code = InstanceTemplatesScopedList_Warning_Code {fromInstanceTemplatesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstanceTemplatesScopedList_Warning_Code_CLEANUPFAILED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_CLEANUPFAILED = InstanceTemplatesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstanceTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstanceTemplatesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstanceTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED = InstanceTemplatesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstanceTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstanceTemplatesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstanceTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InstanceTemplatesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstanceTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING = InstanceTemplatesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstanceTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InstanceTemplatesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstanceTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstanceTemplatesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstanceTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstanceTemplatesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstanceTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstanceTemplatesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstanceTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstanceTemplatesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstanceTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstanceTemplatesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING = InstanceTemplatesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstanceTemplatesScopedList_Warning_Code_NOTCRITICALERROR :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NOTCRITICALERROR = InstanceTemplatesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstanceTemplatesScopedList_Warning_Code_NORESULTSONPAGE :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_NORESULTSONPAGE = InstanceTemplatesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstanceTemplatesScopedList_Warning_Code_PARTIALSUCCESS :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_PARTIALSUCCESS = InstanceTemplatesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstanceTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstanceTemplatesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstanceTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InstanceTemplatesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstanceTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstanceTemplatesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstanceTemplatesScopedList_Warning_Code_RESOURCENOTDELETED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_RESOURCENOTDELETED = InstanceTemplatesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstanceTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstanceTemplatesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstanceTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstanceTemplatesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstanceTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES = InstanceTemplatesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstanceTemplatesScopedList_Warning_Code_Unreachable :: InstanceTemplatesScopedList_Warning_Code
  pattern InstanceTemplatesScopedList_Warning_Code_Unreachable = InstanceTemplatesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstanceTemplatesScopedList_Warning_Code_CLEANUPFAILED,
    InstanceTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstanceTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstanceTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstanceTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstanceTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING,
    InstanceTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstanceTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstanceTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstanceTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstanceTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstanceTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstanceTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstanceTemplatesScopedList_Warning_Code_NOTCRITICALERROR,
    InstanceTemplatesScopedList_Warning_Code_NORESULTSONPAGE,
    InstanceTemplatesScopedList_Warning_Code_PARTIALSUCCESS,
    InstanceTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstanceTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstanceTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstanceTemplatesScopedList_Warning_Code_RESOURCENOTDELETED,
    InstanceTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstanceTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstanceTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstanceTemplatesScopedList_Warning_Code_Unreachable,
    InstanceTemplatesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] The status of the instance.
  newtype InstanceWithNamedPorts_Status = InstanceWithNamedPorts_Status {fromInstanceWithNamedPorts_Status :: 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 instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
  pattern InstanceWithNamedPorts_Status_Deprovisioning :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Deprovisioning = InstanceWithNamedPorts_Status "DEPROVISIONING"
  
  -- | Resources are being allocated for the instance.
  pattern InstanceWithNamedPorts_Status_Provisioning :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Provisioning = InstanceWithNamedPorts_Status "PROVISIONING"
  
  -- | The instance is in repair.
  pattern InstanceWithNamedPorts_Status_Repairing :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Repairing = InstanceWithNamedPorts_Status "REPAIRING"
  
  -- | The instance is running.
  pattern InstanceWithNamedPorts_Status_Running :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Running = InstanceWithNamedPorts_Status "RUNNING"
  
  -- | All required resources have been allocated and the instance is being started.
  pattern InstanceWithNamedPorts_Status_Staging :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Staging = InstanceWithNamedPorts_Status "STAGING"
  
  -- | The instance has stopped successfully.
  pattern InstanceWithNamedPorts_Status_Stopped :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Stopped = InstanceWithNamedPorts_Status "STOPPED"
  
  -- | The instance is currently stopping (either being deleted or killed).
  pattern InstanceWithNamedPorts_Status_Stopping :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Stopping = InstanceWithNamedPorts_Status "STOPPING"
  
  -- | The instance has suspended.
  pattern InstanceWithNamedPorts_Status_Suspended :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Suspended = InstanceWithNamedPorts_Status "SUSPENDED"
  
  -- | The instance is suspending.
  pattern InstanceWithNamedPorts_Status_Suspending :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Suspending = InstanceWithNamedPorts_Status "SUSPENDING"
  
  -- | The instance has stopped (either by explicit action or underlying failure).
  pattern InstanceWithNamedPorts_Status_Terminated :: InstanceWithNamedPorts_Status
  pattern InstanceWithNamedPorts_Status_Terminated = InstanceWithNamedPorts_Status "TERMINATED"
  
  {-# COMPLETE
    InstanceWithNamedPorts_Status_Deprovisioning,
    InstanceWithNamedPorts_Status_Provisioning,
    InstanceWithNamedPorts_Status_Repairing,
    InstanceWithNamedPorts_Status_Running,
    InstanceWithNamedPorts_Status_Staging,
    InstanceWithNamedPorts_Status_Stopped,
    InstanceWithNamedPorts_Status_Stopping,
    InstanceWithNamedPorts_Status_Suspended,
    InstanceWithNamedPorts_Status_Suspending,
    InstanceWithNamedPorts_Status_Terminated,
    InstanceWithNamedPorts_Status
    #-}
  
  -- | [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK/REGIONAL, SYSTEM/GLOBAL, SYSTEM_REGIONAL.
  newtype InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type {fromInstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type :: 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
      )
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "HIERARCHY"
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "NETWORK"
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "NETWORK_REGIONAL"
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "SYSTEM_GLOBAL"
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "SYSTEM_REGIONAL"
  
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified :: InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "UNSPECIFIED"
  
  {-# COMPLETE
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
    InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
    #-}
  
  -- | The disruption schedule for the VM. Default to IMMEDIATE.
  newtype InstancesReportHostAsFaultyRequest_DisruptionSchedule = InstancesReportHostAsFaultyRequest_DisruptionSchedule {fromInstancesReportHostAsFaultyRequest_DisruptionSchedule :: 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 used. Required as per aip\/126.
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_DISRUPTIONSCHEDULEUNSPECIFIED :: InstancesReportHostAsFaultyRequest_DisruptionSchedule
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_DISRUPTIONSCHEDULEUNSPECIFIED = InstancesReportHostAsFaultyRequest_DisruptionSchedule "DISRUPTION_SCHEDULE_UNSPECIFIED"
  
  -- | Delay disruption for caller control. Will be default soon.
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_Future :: InstancesReportHostAsFaultyRequest_DisruptionSchedule
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_Future = InstancesReportHostAsFaultyRequest_DisruptionSchedule "FUTURE"
  
  -- | Default value. Disrupt the VM immediately.
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_Immediate :: InstancesReportHostAsFaultyRequest_DisruptionSchedule
  pattern InstancesReportHostAsFaultyRequest_DisruptionSchedule_Immediate = InstancesReportHostAsFaultyRequest_DisruptionSchedule "IMMEDIATE"
  
  {-# COMPLETE
    InstancesReportHostAsFaultyRequest_DisruptionSchedule_DISRUPTIONSCHEDULEUNSPECIFIED,
    InstancesReportHostAsFaultyRequest_DisruptionSchedule_Future,
    InstancesReportHostAsFaultyRequest_DisruptionSchedule_Immediate,
    InstancesReportHostAsFaultyRequest_DisruptionSchedule
    #-}
  
  newtype InstancesReportHostAsFaultyRequestFaultReason_Behavior = InstancesReportHostAsFaultyRequestFaultReason_Behavior {fromInstancesReportHostAsFaultyRequestFaultReason_Behavior :: 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
      )
  
  -- | Public reportable behaviors
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_BEHAVIORUNSPECIFIED :: InstancesReportHostAsFaultyRequestFaultReason_Behavior
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_BEHAVIORUNSPECIFIED = InstancesReportHostAsFaultyRequestFaultReason_Behavior "BEHAVIOR_UNSPECIFIED"
  
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_Performance :: InstancesReportHostAsFaultyRequestFaultReason_Behavior
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_Performance = InstancesReportHostAsFaultyRequestFaultReason_Behavior "PERFORMANCE"
  
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_SILENTDATACORRUPTION :: InstancesReportHostAsFaultyRequestFaultReason_Behavior
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_SILENTDATACORRUPTION = InstancesReportHostAsFaultyRequestFaultReason_Behavior "SILENT_DATA_CORRUPTION"
  
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_UNRECOVERABLEGPUERROR :: InstancesReportHostAsFaultyRequestFaultReason_Behavior
  pattern InstancesReportHostAsFaultyRequestFaultReason_Behavior_UNRECOVERABLEGPUERROR = InstancesReportHostAsFaultyRequestFaultReason_Behavior "UNRECOVERABLE_GPU_ERROR"
  
  {-# COMPLETE
    InstancesReportHostAsFaultyRequestFaultReason_Behavior_BEHAVIORUNSPECIFIED,
    InstancesReportHostAsFaultyRequestFaultReason_Behavior_Performance,
    InstancesReportHostAsFaultyRequestFaultReason_Behavior_SILENTDATACORRUPTION,
    InstancesReportHostAsFaultyRequestFaultReason_Behavior_UNRECOVERABLEGPUERROR,
    InstancesReportHostAsFaultyRequestFaultReason_Behavior
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstancesScopedList_Warning_Code = InstancesScopedList_Warning_Code {fromInstancesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstancesScopedList_Warning_Code_CLEANUPFAILED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_CLEANUPFAILED = InstancesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstancesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED = InstancesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstancesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InstancesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstancesScopedList_Warning_Code_EXTERNALAPIWARNING :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_EXTERNALAPIWARNING = InstancesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InstancesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstancesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstancesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstancesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstancesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstancesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstancesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstancesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING = InstancesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstancesScopedList_Warning_Code_NOTCRITICALERROR :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NOTCRITICALERROR = InstancesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstancesScopedList_Warning_Code_NORESULTSONPAGE :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_NORESULTSONPAGE = InstancesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstancesScopedList_Warning_Code_PARTIALSUCCESS :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_PARTIALSUCCESS = InstancesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstancesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InstancesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstancesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstancesScopedList_Warning_Code_RESOURCENOTDELETED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_RESOURCENOTDELETED = InstancesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstancesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstancesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES = InstancesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstancesScopedList_Warning_Code_Unreachable :: InstancesScopedList_Warning_Code
  pattern InstancesScopedList_Warning_Code_Unreachable = InstancesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstancesScopedList_Warning_Code_CLEANUPFAILED,
    InstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstancesScopedList_Warning_Code_EXTERNALAPIWARNING,
    InstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstancesScopedList_Warning_Code_NOTCRITICALERROR,
    InstancesScopedList_Warning_Code_NORESULTSONPAGE,
    InstancesScopedList_Warning_Code_PARTIALSUCCESS,
    InstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstancesScopedList_Warning_Code_RESOURCENOTDELETED,
    InstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstancesScopedList_Warning_Code_Unreachable,
    InstancesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.
  newtype InstantSnapshot_Architecture = InstantSnapshot_Architecture {fromInstantSnapshot_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern InstantSnapshot_Architecture_ARCHITECTUREUNSPECIFIED :: InstantSnapshot_Architecture
  pattern InstantSnapshot_Architecture_ARCHITECTUREUNSPECIFIED = InstantSnapshot_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern InstantSnapshot_Architecture_ARM64 :: InstantSnapshot_Architecture
  pattern InstantSnapshot_Architecture_ARM64 = InstantSnapshot_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern InstantSnapshot_Architecture_X86_64 :: InstantSnapshot_Architecture
  pattern InstantSnapshot_Architecture_X86_64 = InstantSnapshot_Architecture "X86_64"
  
  {-# COMPLETE
    InstantSnapshot_Architecture_ARCHITECTUREUNSPECIFIED,
    InstantSnapshot_Architecture_ARM64,
    InstantSnapshot_Architecture_X86_64,
    InstantSnapshot_Architecture
    #-}
  
  -- | [Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.
  newtype InstantSnapshot_Status = InstantSnapshot_Status {fromInstantSnapshot_Status :: 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
      )
  
  -- | InstantSnapshot creation is in progress.
  pattern InstantSnapshot_Status_Creating :: InstantSnapshot_Status
  pattern InstantSnapshot_Status_Creating = InstantSnapshot_Status "CREATING"
  
  -- | InstantSnapshot is currently being deleted.
  pattern InstantSnapshot_Status_Deleting :: InstantSnapshot_Status
  pattern InstantSnapshot_Status_Deleting = InstantSnapshot_Status "DELETING"
  
  -- | InstantSnapshot creation failed.
  pattern InstantSnapshot_Status_Failed :: InstantSnapshot_Status
  pattern InstantSnapshot_Status_Failed = InstantSnapshot_Status "FAILED"
  
  -- | InstantSnapshot has been created successfully.
  pattern InstantSnapshot_Status_Ready :: InstantSnapshot_Status
  pattern InstantSnapshot_Status_Ready = InstantSnapshot_Status "READY"
  
  -- | InstantSnapshot is currently unavailable and cannot be used for Disk restoration
  pattern InstantSnapshot_Status_Unavailable :: InstantSnapshot_Status
  pattern InstantSnapshot_Status_Unavailable = InstantSnapshot_Status "UNAVAILABLE"
  
  {-# COMPLETE
    InstantSnapshot_Status_Creating,
    InstantSnapshot_Status_Deleting,
    InstantSnapshot_Status_Failed,
    InstantSnapshot_Status_Ready,
    InstantSnapshot_Status_Unavailable,
    InstantSnapshot_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstantSnapshotAggregatedList_Warning_Code = InstantSnapshotAggregatedList_Warning_Code {fromInstantSnapshotAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstantSnapshotAggregatedList_Warning_Code_CLEANUPFAILED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_CLEANUPFAILED = InstantSnapshotAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstantSnapshotAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InstantSnapshotAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstantSnapshotAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstantSnapshotAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstantSnapshotAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InstantSnapshotAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstantSnapshotAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_EXTERNALAPIWARNING = InstantSnapshotAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstantSnapshotAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InstantSnapshotAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstantSnapshotAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstantSnapshotAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstantSnapshotAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstantSnapshotAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstantSnapshotAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstantSnapshotAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstantSnapshotAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstantSnapshotAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstantSnapshotAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstantSnapshotAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InstantSnapshotAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstantSnapshotAggregatedList_Warning_Code_NOTCRITICALERROR :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NOTCRITICALERROR = InstantSnapshotAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstantSnapshotAggregatedList_Warning_Code_NORESULTSONPAGE :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_NORESULTSONPAGE = InstantSnapshotAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstantSnapshotAggregatedList_Warning_Code_PARTIALSUCCESS :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_PARTIALSUCCESS = InstantSnapshotAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstantSnapshotAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstantSnapshotAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstantSnapshotAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InstantSnapshotAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstantSnapshotAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstantSnapshotAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstantSnapshotAggregatedList_Warning_Code_RESOURCENOTDELETED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_RESOURCENOTDELETED = InstantSnapshotAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstantSnapshotAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstantSnapshotAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstantSnapshotAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstantSnapshotAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstantSnapshotAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InstantSnapshotAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstantSnapshotAggregatedList_Warning_Code_Unreachable :: InstantSnapshotAggregatedList_Warning_Code
  pattern InstantSnapshotAggregatedList_Warning_Code_Unreachable = InstantSnapshotAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstantSnapshotAggregatedList_Warning_Code_CLEANUPFAILED,
    InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstantSnapshotAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstantSnapshotAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstantSnapshotAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstantSnapshotAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InstantSnapshotAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstantSnapshotAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstantSnapshotAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstantSnapshotAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstantSnapshotAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstantSnapshotAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstantSnapshotAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstantSnapshotAggregatedList_Warning_Code_NOTCRITICALERROR,
    InstantSnapshotAggregatedList_Warning_Code_NORESULTSONPAGE,
    InstantSnapshotAggregatedList_Warning_Code_PARTIALSUCCESS,
    InstantSnapshotAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstantSnapshotAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstantSnapshotAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstantSnapshotAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InstantSnapshotAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstantSnapshotAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstantSnapshotAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstantSnapshotAggregatedList_Warning_Code_Unreachable,
    InstantSnapshotAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstantSnapshotList_Warning_Code = InstantSnapshotList_Warning_Code {fromInstantSnapshotList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstantSnapshotList_Warning_Code_CLEANUPFAILED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_CLEANUPFAILED = InstantSnapshotList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstantSnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED = InstantSnapshotList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstantSnapshotList_Warning_Code_DEPRECATEDTYPEUSED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_DEPRECATEDTYPEUSED = InstantSnapshotList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstantSnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstantSnapshotList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstantSnapshotList_Warning_Code_EXPERIMENTALTYPEUSED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_EXPERIMENTALTYPEUSED = InstantSnapshotList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstantSnapshotList_Warning_Code_EXTERNALAPIWARNING :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_EXTERNALAPIWARNING = InstantSnapshotList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstantSnapshotList_Warning_Code_FIELDVALUEOVERRIDEN :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_FIELDVALUEOVERRIDEN = InstantSnapshotList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstantSnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstantSnapshotList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstantSnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstantSnapshotList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstantSnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING = InstantSnapshotList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstantSnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstantSnapshotList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstantSnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY = InstantSnapshotList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstantSnapshotList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstantSnapshotList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstantSnapshotList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstantSnapshotList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstantSnapshotList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstantSnapshotList_Warning_Code_NEXTHOPNOTRUNNING :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NEXTHOPNOTRUNNING = InstantSnapshotList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstantSnapshotList_Warning_Code_NOTCRITICALERROR :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NOTCRITICALERROR = InstantSnapshotList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstantSnapshotList_Warning_Code_NORESULTSONPAGE :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_NORESULTSONPAGE = InstantSnapshotList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstantSnapshotList_Warning_Code_PARTIALSUCCESS :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_PARTIALSUCCESS = InstantSnapshotList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstantSnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE = InstantSnapshotList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstantSnapshotList_Warning_Code_REQUIREDTOSAGREEMENT :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_REQUIREDTOSAGREEMENT = InstantSnapshotList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstantSnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstantSnapshotList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstantSnapshotList_Warning_Code_RESOURCENOTDELETED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_RESOURCENOTDELETED = InstantSnapshotList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstantSnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstantSnapshotList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstantSnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstantSnapshotList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstantSnapshotList_Warning_Code_UNDECLAREDPROPERTIES :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_UNDECLAREDPROPERTIES = InstantSnapshotList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstantSnapshotList_Warning_Code_Unreachable :: InstantSnapshotList_Warning_Code
  pattern InstantSnapshotList_Warning_Code_Unreachable = InstantSnapshotList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstantSnapshotList_Warning_Code_CLEANUPFAILED,
    InstantSnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstantSnapshotList_Warning_Code_DEPRECATEDTYPEUSED,
    InstantSnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstantSnapshotList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstantSnapshotList_Warning_Code_EXTERNALAPIWARNING,
    InstantSnapshotList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstantSnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstantSnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstantSnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstantSnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstantSnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstantSnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstantSnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstantSnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstantSnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstantSnapshotList_Warning_Code_NEXTHOPNOTRUNNING,
    InstantSnapshotList_Warning_Code_NOTCRITICALERROR,
    InstantSnapshotList_Warning_Code_NORESULTSONPAGE,
    InstantSnapshotList_Warning_Code_PARTIALSUCCESS,
    InstantSnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstantSnapshotList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstantSnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstantSnapshotList_Warning_Code_RESOURCENOTDELETED,
    InstantSnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstantSnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstantSnapshotList_Warning_Code_UNDECLAREDPROPERTIES,
    InstantSnapshotList_Warning_Code_Unreachable,
    InstantSnapshotList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InstantSnapshotsScopedList_Warning_Code = InstantSnapshotsScopedList_Warning_Code {fromInstantSnapshotsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InstantSnapshotsScopedList_Warning_Code_CLEANUPFAILED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_CLEANUPFAILED = InstantSnapshotsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InstantSnapshotsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InstantSnapshotsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InstantSnapshotsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_DEPRECATEDTYPEUSED = InstantSnapshotsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InstantSnapshotsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InstantSnapshotsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InstantSnapshotsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InstantSnapshotsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InstantSnapshotsScopedList_Warning_Code_EXTERNALAPIWARNING :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_EXTERNALAPIWARNING = InstantSnapshotsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InstantSnapshotsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InstantSnapshotsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InstantSnapshotsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InstantSnapshotsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InstantSnapshotsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InstantSnapshotsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InstantSnapshotsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InstantSnapshotsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InstantSnapshotsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InstantSnapshotsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InstantSnapshotsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InstantSnapshotsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NEXTHOPNOTRUNNING = InstantSnapshotsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InstantSnapshotsScopedList_Warning_Code_NOTCRITICALERROR :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NOTCRITICALERROR = InstantSnapshotsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InstantSnapshotsScopedList_Warning_Code_NORESULTSONPAGE :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_NORESULTSONPAGE = InstantSnapshotsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InstantSnapshotsScopedList_Warning_Code_PARTIALSUCCESS :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_PARTIALSUCCESS = InstantSnapshotsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InstantSnapshotsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InstantSnapshotsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InstantSnapshotsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InstantSnapshotsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InstantSnapshotsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InstantSnapshotsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InstantSnapshotsScopedList_Warning_Code_RESOURCENOTDELETED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_RESOURCENOTDELETED = InstantSnapshotsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InstantSnapshotsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InstantSnapshotsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InstantSnapshotsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InstantSnapshotsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InstantSnapshotsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_UNDECLAREDPROPERTIES = InstantSnapshotsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InstantSnapshotsScopedList_Warning_Code_Unreachable :: InstantSnapshotsScopedList_Warning_Code
  pattern InstantSnapshotsScopedList_Warning_Code_Unreachable = InstantSnapshotsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InstantSnapshotsScopedList_Warning_Code_CLEANUPFAILED,
    InstantSnapshotsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InstantSnapshotsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InstantSnapshotsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InstantSnapshotsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InstantSnapshotsScopedList_Warning_Code_EXTERNALAPIWARNING,
    InstantSnapshotsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InstantSnapshotsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InstantSnapshotsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InstantSnapshotsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InstantSnapshotsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InstantSnapshotsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InstantSnapshotsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InstantSnapshotsScopedList_Warning_Code_NOTCRITICALERROR,
    InstantSnapshotsScopedList_Warning_Code_NORESULTSONPAGE,
    InstantSnapshotsScopedList_Warning_Code_PARTIALSUCCESS,
    InstantSnapshotsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InstantSnapshotsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InstantSnapshotsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InstantSnapshotsScopedList_Warning_Code_RESOURCENOTDELETED,
    InstantSnapshotsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InstantSnapshotsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InstantSnapshotsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InstantSnapshotsScopedList_Warning_Code_Unreachable,
    InstantSnapshotsScopedList_Warning_Code
    #-}
  
  newtype Interconnect_AvailableFeaturesItem = Interconnect_AvailableFeaturesItem {fromInterconnect_AvailableFeaturesItem :: 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
      )
  
  -- | Media Access Control security (MACsec)
  pattern Interconnect_AvailableFeaturesItem_IFMACSEC :: Interconnect_AvailableFeaturesItem
  pattern Interconnect_AvailableFeaturesItem_IFMACSEC = Interconnect_AvailableFeaturesItem "IF_MACSEC"
  
  {-# COMPLETE
    Interconnect_AvailableFeaturesItem_IFMACSEC,
    Interconnect_AvailableFeaturesItem
    #-}
  
  -- | Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.
  newtype Interconnect_InterconnectType = Interconnect_InterconnectType {fromInterconnect_InterconnectType :: 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
      )
  
  -- | A dedicated physical interconnection with the customer.
  pattern Interconnect_InterconnectType_Dedicated :: Interconnect_InterconnectType
  pattern Interconnect_InterconnectType_Dedicated = Interconnect_InterconnectType "DEDICATED"
  
  -- | [Deprecated] A private, physical interconnection with the customer.
  pattern Interconnect_InterconnectType_ITPRIVATE :: Interconnect_InterconnectType
  pattern Interconnect_InterconnectType_ITPRIVATE = Interconnect_InterconnectType "IT_PRIVATE"
  
  -- | A partner-managed interconnection shared between customers via partner.
  pattern Interconnect_InterconnectType_Partner :: Interconnect_InterconnectType
  pattern Interconnect_InterconnectType_Partner = Interconnect_InterconnectType "PARTNER"
  
  {-# COMPLETE
    Interconnect_InterconnectType_Dedicated,
    Interconnect_InterconnectType_ITPRIVATE,
    Interconnect_InterconnectType_Partner,
    Interconnect_InterconnectType
    #-}
  
  -- | Type of link requested, which can take one of the following values: - LINK/TYPE/ETHERNET/10G/LR: A 10G Ethernet with LR optics - LINK/TYPE/ETHERNET/100G/LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.
  newtype Interconnect_LinkType = Interconnect_LinkType {fromInterconnect_LinkType :: 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
      )
  
  -- | 100G Ethernet, LR Optics.
  pattern Interconnect_LinkType_LINKTYPEETHERNET100GLR :: Interconnect_LinkType
  pattern Interconnect_LinkType_LINKTYPEETHERNET100GLR = Interconnect_LinkType "LINK_TYPE_ETHERNET_100G_LR"
  
  -- | 10G Ethernet, LR Optics. [(rate_bps) = 10000000000];
  pattern Interconnect_LinkType_LINKTYPEETHERNET10GLR :: Interconnect_LinkType
  pattern Interconnect_LinkType_LINKTYPEETHERNET10GLR = Interconnect_LinkType "LINK_TYPE_ETHERNET_10G_LR"
  
  {-# COMPLETE
    Interconnect_LinkType_LINKTYPEETHERNET100GLR,
    Interconnect_LinkType_LINKTYPEETHERNET10GLR,
    Interconnect_LinkType
    #-}
  
  -- | [Output Only] The current status of this Interconnect\'s functionality, which can take one of the following values: - OS/ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS/UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS/UNDER/MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect.
  newtype Interconnect_OperationalStatus = Interconnect_OperationalStatus {fromInterconnect_OperationalStatus :: 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 interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.
  pattern Interconnect_OperationalStatus_OSACTIVE :: Interconnect_OperationalStatus
  pattern Interconnect_OperationalStatus_OSACTIVE = Interconnect_OperationalStatus "OS_ACTIVE"
  
  -- | The interconnect has not completed turnup. No attachments may be provisioned on this interconnect.
  pattern Interconnect_OperationalStatus_OSUNPROVISIONED :: Interconnect_OperationalStatus
  pattern Interconnect_OperationalStatus_OSUNPROVISIONED = Interconnect_OperationalStatus "OS_UNPROVISIONED"
  
  {-# COMPLETE
    Interconnect_OperationalStatus_OSACTIVE,
    Interconnect_OperationalStatus_OSUNPROVISIONED,
    Interconnect_OperationalStatus
    #-}
  
  newtype Interconnect_RequestedFeaturesItem = Interconnect_RequestedFeaturesItem {fromInterconnect_RequestedFeaturesItem :: 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
      )
  
  -- | Media Access Control security (MACsec)
  pattern Interconnect_RequestedFeaturesItem_IFMACSEC :: Interconnect_RequestedFeaturesItem
  pattern Interconnect_RequestedFeaturesItem_IFMACSEC = Interconnect_RequestedFeaturesItem "IF_MACSEC"
  
  {-# COMPLETE
    Interconnect_RequestedFeaturesItem_IFMACSEC,
    Interconnect_RequestedFeaturesItem
    #-}
  
  -- | [Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect.
  newtype Interconnect_State = Interconnect_State {fromInterconnect_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
      )
  
  -- | The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.
  pattern Interconnect_State_Active :: Interconnect_State
  pattern Interconnect_State_Active = Interconnect_State "ACTIVE"
  
  -- | The interconnect has not completed turnup. No attachments may be provisioned on this interconnect.
  pattern Interconnect_State_Unprovisioned :: Interconnect_State
  pattern Interconnect_State_Unprovisioned = Interconnect_State "UNPROVISIONED"
  
  {-# COMPLETE
    Interconnect_State_Active,
    Interconnect_State_Unprovisioned,
    Interconnect_State
    #-}
  
  -- | Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER/PROVIDER and DEDICATED, and can take one of the following values: - BPS/50M: 50 Mbit\/s - BPS/100M: 100 Mbit\/s - BPS/200M: 200 Mbit\/s - BPS/300M: 300 Mbit\/s - BPS/400M: 400 Mbit\/s - BPS/500M: 500 Mbit\/s - BPS/1G: 1 Gbit\/s - BPS/2G: 2 Gbit\/s - BPS/5G: 5 Gbit\/s - BPS/10G: 10 Gbit\/s - BPS/20G: 20 Gbit\/s - BPS/50G: 50 Gbit\/s - BPS/100G: 100 Gbit\/s
  newtype InterconnectAttachment_Bandwidth = InterconnectAttachment_Bandwidth {fromInterconnectAttachment_Bandwidth :: 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
      )
  
  -- | 100 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS100G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS100G = InterconnectAttachment_Bandwidth "BPS_100G"
  
  -- | 100 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS100M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS100M = InterconnectAttachment_Bandwidth "BPS_100M"
  
  -- | 10 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS10G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS10G = InterconnectAttachment_Bandwidth "BPS_10G"
  
  -- | 1 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS1G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS1G = InterconnectAttachment_Bandwidth "BPS_1G"
  
  -- | 200 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS200M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS200M = InterconnectAttachment_Bandwidth "BPS_200M"
  
  -- | 20 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS20G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS20G = InterconnectAttachment_Bandwidth "BPS_20G"
  
  -- | 2 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS2G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS2G = InterconnectAttachment_Bandwidth "BPS_2G"
  
  -- | 300 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS300M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS300M = InterconnectAttachment_Bandwidth "BPS_300M"
  
  -- | 400 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS400M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS400M = InterconnectAttachment_Bandwidth "BPS_400M"
  
  -- | 500 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS500M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS500M = InterconnectAttachment_Bandwidth "BPS_500M"
  
  -- | 50 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS50G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS50G = InterconnectAttachment_Bandwidth "BPS_50G"
  
  -- | 50 Mbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS50M :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS50M = InterconnectAttachment_Bandwidth "BPS_50M"
  
  -- | 5 Gbit\/s
  pattern InterconnectAttachment_Bandwidth_BPS5G :: InterconnectAttachment_Bandwidth
  pattern InterconnectAttachment_Bandwidth_BPS5G = InterconnectAttachment_Bandwidth "BPS_5G"
  
  {-# COMPLETE
    InterconnectAttachment_Bandwidth_BPS100G,
    InterconnectAttachment_Bandwidth_BPS100M,
    InterconnectAttachment_Bandwidth_BPS10G,
    InterconnectAttachment_Bandwidth_BPS1G,
    InterconnectAttachment_Bandwidth_BPS200M,
    InterconnectAttachment_Bandwidth_BPS20G,
    InterconnectAttachment_Bandwidth_BPS2G,
    InterconnectAttachment_Bandwidth_BPS300M,
    InterconnectAttachment_Bandwidth_BPS400M,
    InterconnectAttachment_Bandwidth_BPS500M,
    InterconnectAttachment_Bandwidth_BPS50G,
    InterconnectAttachment_Bandwidth_BPS50M,
    InterconnectAttachment_Bandwidth_BPS5G,
    InterconnectAttachment_Bandwidth
    #-}
  
  -- | Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY/DOMAIN/ANY - AVAILABILITY/DOMAIN/1 - AVAILABILITY/DOMAIN/2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY/DOMAIN/ANY.
  newtype InterconnectAttachment_EdgeAvailabilityDomain = InterconnectAttachment_EdgeAvailabilityDomain {fromInterconnectAttachment_EdgeAvailabilityDomain :: 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
      )
  
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_1 :: InterconnectAttachment_EdgeAvailabilityDomain
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_1 = InterconnectAttachment_EdgeAvailabilityDomain "AVAILABILITY_DOMAIN_1"
  
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_2 :: InterconnectAttachment_EdgeAvailabilityDomain
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_2 = InterconnectAttachment_EdgeAvailabilityDomain "AVAILABILITY_DOMAIN_2"
  
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITYDOMAINANY :: InterconnectAttachment_EdgeAvailabilityDomain
  pattern InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITYDOMAINANY = InterconnectAttachment_EdgeAvailabilityDomain "AVAILABILITY_DOMAIN_ANY"
  
  {-# COMPLETE
    InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_1,
    InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITY_DOMAIN_2,
    InterconnectAttachment_EdgeAvailabilityDomain_AVAILABILITYDOMAINANY,
    InterconnectAttachment_EdgeAvailabilityDomain
    #-}
  
  -- | Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use /HA VPN over Cloud Interconnect/, the VLAN attachment must be created with this option.
  newtype InterconnectAttachment_Encryption = InterconnectAttachment_Encryption {fromInterconnectAttachment_Encryption :: 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 interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.
  pattern InterconnectAttachment_Encryption_Ipsec :: InterconnectAttachment_Encryption
  pattern InterconnectAttachment_Encryption_Ipsec = InterconnectAttachment_Encryption "IPSEC"
  
  -- | This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment.
  pattern InterconnectAttachment_Encryption_None :: InterconnectAttachment_Encryption
  pattern InterconnectAttachment_Encryption_None = InterconnectAttachment_Encryption "NONE"
  
  {-# COMPLETE
    InterconnectAttachment_Encryption_Ipsec,
    InterconnectAttachment_Encryption_None,
    InterconnectAttachment_Encryption
    #-}
  
  -- | [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS/ACTIVE: The attachment has been turned up and is ready to use. - OS/UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
  newtype InterconnectAttachment_OperationalStatus = InterconnectAttachment_OperationalStatus {fromInterconnectAttachment_OperationalStatus :: 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
      )
  
  -- | Indicates that attachment has been turned up and is ready to use.
  pattern InterconnectAttachment_OperationalStatus_OSACTIVE :: InterconnectAttachment_OperationalStatus
  pattern InterconnectAttachment_OperationalStatus_OSACTIVE = InterconnectAttachment_OperationalStatus "OS_ACTIVE"
  
  -- | Indicates that attachment is not ready to use yet, because turnup is not complete.
  pattern InterconnectAttachment_OperationalStatus_OSUNPROVISIONED :: InterconnectAttachment_OperationalStatus
  pattern InterconnectAttachment_OperationalStatus_OSUNPROVISIONED = InterconnectAttachment_OperationalStatus "OS_UNPROVISIONED"
  
  {-# COMPLETE
    InterconnectAttachment_OperationalStatus_OSACTIVE,
    InterconnectAttachment_OperationalStatus_OSUNPROVISIONED,
    InterconnectAttachment_OperationalStatus
    #-}
  
  -- | The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
  newtype InterconnectAttachment_StackType = InterconnectAttachment_StackType {fromInterconnectAttachment_StackType :: 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 interconnect attachment can have both IPv4 and IPv6 addresses.
  pattern InterconnectAttachment_StackType_IPV4_IPV6 :: InterconnectAttachment_StackType
  pattern InterconnectAttachment_StackType_IPV4_IPV6 = InterconnectAttachment_StackType "IPV4_IPV6"
  
  -- | The interconnect attachment will only be assigned IPv4 addresses.
  pattern InterconnectAttachment_StackType_IPV4ONLY :: InterconnectAttachment_StackType
  pattern InterconnectAttachment_StackType_IPV4ONLY = InterconnectAttachment_StackType "IPV4_ONLY"
  
  {-# COMPLETE
    InterconnectAttachment_StackType_IPV4_IPV6,
    InterconnectAttachment_StackType_IPV4ONLY,
    InterconnectAttachment_StackType
    #-}
  
  -- | [Output Only] The current state of this attachment\'s functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED\/PRIVATE, PARTNER, and PARTNER/PROVIDER interconnect attachments, while enum values PENDING/PARTNER, PARTNER/REQUEST/RECEIVED, and PENDING/CUSTOMER are used for only PARTNER and PARTNER/PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING/PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER/REQUEST/RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER/PROVIDER attachment was created that references it. - PENDING/CUSTOMER: A PARTNER or PARTNER/PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the
  -- associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
  newtype InterconnectAttachment_State = InterconnectAttachment_State {fromInterconnectAttachment_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
      )
  
  -- | Indicates that attachment has been turned up and is ready to use.
  pattern InterconnectAttachment_State_Active :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_Active = InterconnectAttachment_State "ACTIVE"
  
  -- | The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.
  pattern InterconnectAttachment_State_Defunct :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_Defunct = InterconnectAttachment_State "DEFUNCT"
  
  -- | A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.
  pattern InterconnectAttachment_State_PARTNERREQUESTRECEIVED :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_PARTNERREQUESTRECEIVED = InterconnectAttachment_State "PARTNER_REQUEST_RECEIVED"
  
  -- | PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.
  pattern InterconnectAttachment_State_PENDINGCUSTOMER :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_PENDINGCUSTOMER = InterconnectAttachment_State "PENDING_CUSTOMER"
  
  -- | A newly created PARTNER attachment that has not yet been configured on the Partner side.
  pattern InterconnectAttachment_State_PENDINGPARTNER :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_PENDINGPARTNER = InterconnectAttachment_State "PENDING_PARTNER"
  
  pattern InterconnectAttachment_State_STATEUNSPECIFIED :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_STATEUNSPECIFIED = InterconnectAttachment_State "STATE_UNSPECIFIED"
  
  -- | Indicates that attachment is not ready to use yet, because turnup is not complete.
  pattern InterconnectAttachment_State_Unprovisioned :: InterconnectAttachment_State
  pattern InterconnectAttachment_State_Unprovisioned = InterconnectAttachment_State "UNPROVISIONED"
  
  {-# COMPLETE
    InterconnectAttachment_State_Active,
    InterconnectAttachment_State_Defunct,
    InterconnectAttachment_State_PARTNERREQUESTRECEIVED,
    InterconnectAttachment_State_PENDINGCUSTOMER,
    InterconnectAttachment_State_PENDINGPARTNER,
    InterconnectAttachment_State_STATEUNSPECIFIED,
    InterconnectAttachment_State_Unprovisioned,
    InterconnectAttachment_State
    #-}
  
  -- | The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
  newtype InterconnectAttachment_Type = InterconnectAttachment_Type {fromInterconnectAttachment_Type :: 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
      )
  
  -- | Attachment to a dedicated interconnect.
  pattern InterconnectAttachment_Type_Dedicated :: InterconnectAttachment_Type
  pattern InterconnectAttachment_Type_Dedicated = InterconnectAttachment_Type "DEDICATED"
  
  -- | Attachment to a partner interconnect, created by the customer.
  pattern InterconnectAttachment_Type_Partner :: InterconnectAttachment_Type
  pattern InterconnectAttachment_Type_Partner = InterconnectAttachment_Type "PARTNER"
  
  -- | Attachment to a partner interconnect, created by the partner.
  pattern InterconnectAttachment_Type_PARTNERPROVIDER :: InterconnectAttachment_Type
  pattern InterconnectAttachment_Type_PARTNERPROVIDER = InterconnectAttachment_Type "PARTNER_PROVIDER"
  
  {-# COMPLETE
    InterconnectAttachment_Type_Dedicated,
    InterconnectAttachment_Type_Partner,
    InterconnectAttachment_Type_PARTNERPROVIDER,
    InterconnectAttachment_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectAttachmentAggregatedList_Warning_Code = InterconnectAttachmentAggregatedList_Warning_Code {fromInterconnectAttachmentAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_CLEANUPFAILED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_CLEANUPFAILED = InterconnectAttachmentAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectAttachmentAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectAttachmentAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectAttachmentAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectAttachmentAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING = InterconnectAttachmentAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectAttachmentAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectAttachmentAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectAttachmentAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectAttachmentAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectAttachmentAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectAttachmentAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectAttachmentAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR = InterconnectAttachmentAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE = InterconnectAttachmentAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS = InterconnectAttachmentAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectAttachmentAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectAttachmentAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectAttachmentAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED = InterconnectAttachmentAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectAttachmentAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectAttachmentAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectAttachmentAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectAttachmentAggregatedList_Warning_Code_Unreachable :: InterconnectAttachmentAggregatedList_Warning_Code
  pattern InterconnectAttachmentAggregatedList_Warning_Code_Unreachable = InterconnectAttachmentAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
    InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
    InterconnectAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
    InterconnectAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
    InterconnectAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
    InterconnectAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectAttachmentAggregatedList_Warning_Code_Unreachable,
    InterconnectAttachmentAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] Whether the attachment\'s BGP session requires\/allows\/disallows BGP MD5 authentication. This can take one of the following values: MD5/OPTIONAL, MD5/REQUIRED, MD5/UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment/configuration/constraints.bgp/md5 field set to MD5/REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5/UNSUPPORTED, an error is returned if MD5 is requested.
  newtype InterconnectAttachmentConfigurationConstraints_BgpMd5 = InterconnectAttachmentConfigurationConstraints_BgpMd5 {fromInterconnectAttachmentConfigurationConstraints_BgpMd5 :: 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
      )
  
  -- | MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5OPTIONAL :: InterconnectAttachmentConfigurationConstraints_BgpMd5
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5OPTIONAL = InterconnectAttachmentConfigurationConstraints_BgpMd5 "MD5_OPTIONAL"
  
  -- | MD5_REQUIRED: BGP MD5 authentication must be configured.
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5REQUIRED :: InterconnectAttachmentConfigurationConstraints_BgpMd5
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5REQUIRED = InterconnectAttachmentConfigurationConstraints_BgpMd5 "MD5_REQUIRED"
  
  -- | MD5_UNSUPPORTED: BGP MD5 authentication must not be configured
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5UNSUPPORTED :: InterconnectAttachmentConfigurationConstraints_BgpMd5
  pattern InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5UNSUPPORTED = InterconnectAttachmentConfigurationConstraints_BgpMd5 "MD5_UNSUPPORTED"
  
  {-# COMPLETE
    InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5OPTIONAL,
    InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5REQUIRED,
    InterconnectAttachmentConfigurationConstraints_BgpMd5_MD5UNSUPPORTED,
    InterconnectAttachmentConfigurationConstraints_BgpMd5
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectAttachmentList_Warning_Code = InterconnectAttachmentList_Warning_Code {fromInterconnectAttachmentList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectAttachmentList_Warning_Code_CLEANUPFAILED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_CLEANUPFAILED = InterconnectAttachmentList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectAttachmentList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectAttachmentList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectAttachmentList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectAttachmentList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectAttachmentList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectAttachmentList_Warning_Code_EXTERNALAPIWARNING :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_EXTERNALAPIWARNING = InterconnectAttachmentList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectAttachmentList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectAttachmentList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectAttachmentList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectAttachmentList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectAttachmentList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectAttachmentList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectAttachmentList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectAttachmentList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectAttachmentList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectAttachmentList_Warning_Code_NOTCRITICALERROR :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NOTCRITICALERROR = InterconnectAttachmentList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectAttachmentList_Warning_Code_NORESULTSONPAGE :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_NORESULTSONPAGE = InterconnectAttachmentList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectAttachmentList_Warning_Code_PARTIALSUCCESS :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_PARTIALSUCCESS = InterconnectAttachmentList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectAttachmentList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectAttachmentList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectAttachmentList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectAttachmentList_Warning_Code_RESOURCENOTDELETED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_RESOURCENOTDELETED = InterconnectAttachmentList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectAttachmentList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectAttachmentList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectAttachmentList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectAttachmentList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectAttachmentList_Warning_Code_Unreachable :: InterconnectAttachmentList_Warning_Code
  pattern InterconnectAttachmentList_Warning_Code_Unreachable = InterconnectAttachmentList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectAttachmentList_Warning_Code_CLEANUPFAILED,
    InterconnectAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectAttachmentList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectAttachmentList_Warning_Code_NOTCRITICALERROR,
    InterconnectAttachmentList_Warning_Code_NORESULTSONPAGE,
    InterconnectAttachmentList_Warning_Code_PARTIALSUCCESS,
    InterconnectAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectAttachmentList_Warning_Code_RESOURCENOTDELETED,
    InterconnectAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectAttachmentList_Warning_Code_Unreachable,
    InterconnectAttachmentList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectAttachmentsScopedList_Warning_Code = InterconnectAttachmentsScopedList_Warning_Code {fromInterconnectAttachmentsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectAttachmentsScopedList_Warning_Code_CLEANUPFAILED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_CLEANUPFAILED = InterconnectAttachmentsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectAttachmentsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectAttachmentsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectAttachmentsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectAttachmentsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING = InterconnectAttachmentsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectAttachmentsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectAttachmentsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectAttachmentsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectAttachmentsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectAttachmentsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectAttachmentsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectAttachmentsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NOTCRITICALERROR :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NOTCRITICALERROR = InterconnectAttachmentsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectAttachmentsScopedList_Warning_Code_NORESULTSONPAGE :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_NORESULTSONPAGE = InterconnectAttachmentsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectAttachmentsScopedList_Warning_Code_PARTIALSUCCESS :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_PARTIALSUCCESS = InterconnectAttachmentsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectAttachmentsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectAttachmentsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectAttachmentsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED = InterconnectAttachmentsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectAttachmentsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectAttachmentsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectAttachmentsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectAttachmentsScopedList_Warning_Code_Unreachable :: InterconnectAttachmentsScopedList_Warning_Code
  pattern InterconnectAttachmentsScopedList_Warning_Code_Unreachable = InterconnectAttachmentsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
    InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
    InterconnectAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
    InterconnectAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
    InterconnectAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
    InterconnectAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectAttachmentsScopedList_Warning_Code_Unreachable,
    InterconnectAttachmentsScopedList_Warning_Code
    #-}
  
  -- | The aggregation type of the bundle interface.
  newtype InterconnectDiagnostics_BundleAggregationType = InterconnectDiagnostics_BundleAggregationType {fromInterconnectDiagnostics_BundleAggregationType :: 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
      )
  
  -- | LACP is enabled.
  pattern InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPELACP :: InterconnectDiagnostics_BundleAggregationType
  pattern InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPELACP = InterconnectDiagnostics_BundleAggregationType "BUNDLE_AGGREGATION_TYPE_LACP"
  
  -- | LACP is disabled.
  pattern InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPESTATIC :: InterconnectDiagnostics_BundleAggregationType
  pattern InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPESTATIC = InterconnectDiagnostics_BundleAggregationType "BUNDLE_AGGREGATION_TYPE_STATIC"
  
  {-# COMPLETE
    InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPELACP,
    InterconnectDiagnostics_BundleAggregationType_BUNDLEAGGREGATIONTYPESTATIC,
    InterconnectDiagnostics_BundleAggregationType
    #-}
  
  -- | The operational status of the bundle interface.
  newtype InterconnectDiagnostics_BundleOperationalStatus = InterconnectDiagnostics_BundleOperationalStatus {fromInterconnectDiagnostics_BundleOperationalStatus :: 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
      )
  
  -- | If bundleAggregationType is LACP: LACP is not established and\/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.
  pattern InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSDOWN :: InterconnectDiagnostics_BundleOperationalStatus
  pattern InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSDOWN = InterconnectDiagnostics_BundleOperationalStatus "BUNDLE_OPERATIONAL_STATUS_DOWN"
  
  -- | If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status.
  pattern InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSUP :: InterconnectDiagnostics_BundleOperationalStatus
  pattern InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSUP = InterconnectDiagnostics_BundleOperationalStatus "BUNDLE_OPERATIONAL_STATUS_UP"
  
  {-# COMPLETE
    InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSDOWN,
    InterconnectDiagnostics_BundleOperationalStatus_BUNDLEOPERATIONALSTATUSUP,
    InterconnectDiagnostics_BundleOperationalStatus
    #-}
  
  -- | The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty.
  newtype InterconnectDiagnosticsLinkLACPStatus_State = InterconnectDiagnosticsLinkLACPStatus_State {fromInterconnectDiagnosticsLinkLACPStatus_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
      )
  
  -- | The link is configured and active within the bundle.
  pattern InterconnectDiagnosticsLinkLACPStatus_State_Active :: InterconnectDiagnosticsLinkLACPStatus_State
  pattern InterconnectDiagnosticsLinkLACPStatus_State_Active = InterconnectDiagnosticsLinkLACPStatus_State "ACTIVE"
  
  -- | The link is not configured within the bundle, this means the rest of the object should be empty.
  pattern InterconnectDiagnosticsLinkLACPStatus_State_Detached :: InterconnectDiagnosticsLinkLACPStatus_State
  pattern InterconnectDiagnosticsLinkLACPStatus_State_Detached = InterconnectDiagnosticsLinkLACPStatus_State "DETACHED"
  
  {-# COMPLETE
    InterconnectDiagnosticsLinkLACPStatus_State_Active,
    InterconnectDiagnosticsLinkLACPStatus_State_Detached,
    InterconnectDiagnosticsLinkLACPStatus_State
    #-}
  
  -- | The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW/WARNING: The value has crossed below the low warning threshold. - HIGH/WARNING: The value has crossed above the high warning threshold. - LOW/ALARM: The value has crossed below the low alarm threshold. - HIGH/ALARM: The value has crossed above the high alarm threshold.
  newtype InterconnectDiagnosticsLinkOpticalPower_State = InterconnectDiagnosticsLinkOpticalPower_State {fromInterconnectDiagnosticsLinkOpticalPower_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
      )
  
  -- | The value has crossed above the high alarm threshold.
  pattern InterconnectDiagnosticsLinkOpticalPower_State_HIGHALARM :: InterconnectDiagnosticsLinkOpticalPower_State
  pattern InterconnectDiagnosticsLinkOpticalPower_State_HIGHALARM = InterconnectDiagnosticsLinkOpticalPower_State "HIGH_ALARM"
  
  -- | The value of the current optical power has crossed above the high warning threshold.
  pattern InterconnectDiagnosticsLinkOpticalPower_State_HIGHWARNING :: InterconnectDiagnosticsLinkOpticalPower_State
  pattern InterconnectDiagnosticsLinkOpticalPower_State_HIGHWARNING = InterconnectDiagnosticsLinkOpticalPower_State "HIGH_WARNING"
  
  -- | The value of the current optical power has crossed below the low alarm threshold.
  pattern InterconnectDiagnosticsLinkOpticalPower_State_LOWALARM :: InterconnectDiagnosticsLinkOpticalPower_State
  pattern InterconnectDiagnosticsLinkOpticalPower_State_LOWALARM = InterconnectDiagnosticsLinkOpticalPower_State "LOW_ALARM"
  
  -- | The value of the current optical power has crossed below the low warning threshold.
  pattern InterconnectDiagnosticsLinkOpticalPower_State_LOWWARNING :: InterconnectDiagnosticsLinkOpticalPower_State
  pattern InterconnectDiagnosticsLinkOpticalPower_State_LOWWARNING = InterconnectDiagnosticsLinkOpticalPower_State "LOW_WARNING"
  
  -- | The value of the current optical power has not crossed a warning threshold.
  pattern InterconnectDiagnosticsLinkOpticalPower_State_OK :: InterconnectDiagnosticsLinkOpticalPower_State
  pattern InterconnectDiagnosticsLinkOpticalPower_State_OK = InterconnectDiagnosticsLinkOpticalPower_State "OK"
  
  {-# COMPLETE
    InterconnectDiagnosticsLinkOpticalPower_State_HIGHALARM,
    InterconnectDiagnosticsLinkOpticalPower_State_HIGHWARNING,
    InterconnectDiagnosticsLinkOpticalPower_State_LOWALARM,
    InterconnectDiagnosticsLinkOpticalPower_State_LOWWARNING,
    InterconnectDiagnosticsLinkOpticalPower_State_OK,
    InterconnectDiagnosticsLinkOpticalPower_State
    #-}
  
  -- | The operational status of the link.
  newtype InterconnectDiagnosticsLinkStatus_OperationalStatus = InterconnectDiagnosticsLinkStatus_OperationalStatus {fromInterconnectDiagnosticsLinkStatus_OperationalStatus :: 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 interface is unable to communicate with the remote end.
  pattern InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSDOWN :: InterconnectDiagnosticsLinkStatus_OperationalStatus
  pattern InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSDOWN = InterconnectDiagnosticsLinkStatus_OperationalStatus "LINK_OPERATIONAL_STATUS_DOWN"
  
  -- | The interface has low level communication with the remote end.
  pattern InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSUP :: InterconnectDiagnosticsLinkStatus_OperationalStatus
  pattern InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSUP = InterconnectDiagnosticsLinkStatus_OperationalStatus "LINK_OPERATIONAL_STATUS_UP"
  
  {-# COMPLETE
    InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSDOWN,
    InterconnectDiagnosticsLinkStatus_OperationalStatus_LINKOPERATIONALSTATUSUP,
    InterconnectDiagnosticsLinkStatus_OperationalStatus
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectList_Warning_Code = InterconnectList_Warning_Code {fromInterconnectList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectList_Warning_Code_CLEANUPFAILED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_CLEANUPFAILED = InterconnectList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectList_Warning_Code_EXTERNALAPIWARNING :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_EXTERNALAPIWARNING = InterconnectList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectList_Warning_Code_NOTCRITICALERROR :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NOTCRITICALERROR = InterconnectList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectList_Warning_Code_NORESULTSONPAGE :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_NORESULTSONPAGE = InterconnectList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectList_Warning_Code_PARTIALSUCCESS :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_PARTIALSUCCESS = InterconnectList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectList_Warning_Code_RESOURCENOTDELETED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_RESOURCENOTDELETED = InterconnectList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectList_Warning_Code_Unreachable :: InterconnectList_Warning_Code
  pattern InterconnectList_Warning_Code_Unreachable = InterconnectList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectList_Warning_Code_CLEANUPFAILED,
    InterconnectList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectList_Warning_Code_NOTCRITICALERROR,
    InterconnectList_Warning_Code_NORESULTSONPAGE,
    InterconnectList_Warning_Code_PARTIALSUCCESS,
    InterconnectList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectList_Warning_Code_RESOURCENOTDELETED,
    InterconnectList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectList_Warning_Code_Unreachable,
    InterconnectList_Warning_Code
    #-}
  
  newtype InterconnectLocation_AvailableFeaturesItem = InterconnectLocation_AvailableFeaturesItem {fromInterconnectLocation_AvailableFeaturesItem :: 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
      )
  
  -- | Media Access Control security (MACsec)
  pattern InterconnectLocation_AvailableFeaturesItem_IFMACSEC :: InterconnectLocation_AvailableFeaturesItem
  pattern InterconnectLocation_AvailableFeaturesItem_IFMACSEC = InterconnectLocation_AvailableFeaturesItem "IF_MACSEC"
  
  {-# COMPLETE
    InterconnectLocation_AvailableFeaturesItem_IFMACSEC,
    InterconnectLocation_AvailableFeaturesItem
    #-}
  
  newtype InterconnectLocation_AvailableLinkTypesItem = InterconnectLocation_AvailableLinkTypesItem {fromInterconnectLocation_AvailableLinkTypesItem :: 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
      )
  
  -- | 100G Ethernet, LR Optics.
  pattern InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET100GLR :: InterconnectLocation_AvailableLinkTypesItem
  pattern InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET100GLR = InterconnectLocation_AvailableLinkTypesItem "LINK_TYPE_ETHERNET_100G_LR"
  
  -- | 10G Ethernet, LR Optics. [(rate_bps) = 10000000000];
  pattern InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET10GLR :: InterconnectLocation_AvailableLinkTypesItem
  pattern InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET10GLR = InterconnectLocation_AvailableLinkTypesItem "LINK_TYPE_ETHERNET_10G_LR"
  
  {-# COMPLETE
    InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET100GLR,
    InterconnectLocation_AvailableLinkTypesItem_LINKTYPEETHERNET10GLR,
    InterconnectLocation_AvailableLinkTypesItem
    #-}
  
  -- | [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA/PAC - EUROPE - NORTH/AMERICA - SOUTH_AMERICA
  newtype InterconnectLocation_Continent = InterconnectLocation_Continent {fromInterconnectLocation_Continent :: 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
      )
  
  pattern InterconnectLocation_Continent_Africa :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_Africa = InterconnectLocation_Continent "AFRICA"
  
  pattern InterconnectLocation_Continent_ASIAPAC :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_ASIAPAC = InterconnectLocation_Continent "ASIA_PAC"
  
  pattern InterconnectLocation_Continent_CAFRICA :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_CAFRICA = InterconnectLocation_Continent "C_AFRICA"
  
  pattern InterconnectLocation_Continent_CASIAPAC :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_CASIAPAC = InterconnectLocation_Continent "C_ASIA_PAC"
  
  pattern InterconnectLocation_Continent_CEUROPE :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_CEUROPE = InterconnectLocation_Continent "C_EUROPE"
  
  pattern InterconnectLocation_Continent_CNORTHAMERICA :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_CNORTHAMERICA = InterconnectLocation_Continent "C_NORTH_AMERICA"
  
  pattern InterconnectLocation_Continent_CSOUTHAMERICA :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_CSOUTHAMERICA = InterconnectLocation_Continent "C_SOUTH_AMERICA"
  
  pattern InterconnectLocation_Continent_Europe :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_Europe = InterconnectLocation_Continent "EUROPE"
  
  pattern InterconnectLocation_Continent_NORTHAMERICA :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_NORTHAMERICA = InterconnectLocation_Continent "NORTH_AMERICA"
  
  pattern InterconnectLocation_Continent_SOUTHAMERICA :: InterconnectLocation_Continent
  pattern InterconnectLocation_Continent_SOUTHAMERICA = InterconnectLocation_Continent "SOUTH_AMERICA"
  
  {-# COMPLETE
    InterconnectLocation_Continent_Africa,
    InterconnectLocation_Continent_ASIAPAC,
    InterconnectLocation_Continent_CAFRICA,
    InterconnectLocation_Continent_CASIAPAC,
    InterconnectLocation_Continent_CEUROPE,
    InterconnectLocation_Continent_CNORTHAMERICA,
    InterconnectLocation_Continent_CSOUTHAMERICA,
    InterconnectLocation_Continent_Europe,
    InterconnectLocation_Continent_NORTHAMERICA,
    InterconnectLocation_Continent_SOUTHAMERICA,
    InterconnectLocation_Continent
    #-}
  
  -- | [Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects.
  newtype InterconnectLocation_Status = InterconnectLocation_Status {fromInterconnectLocation_Status :: 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 InterconnectLocation is available for provisioning new Interconnects.
  pattern InterconnectLocation_Status_Available :: InterconnectLocation_Status
  pattern InterconnectLocation_Status_Available = InterconnectLocation_Status "AVAILABLE"
  
  -- | The InterconnectLocation is closed for provisioning new Interconnects.
  pattern InterconnectLocation_Status_Closed :: InterconnectLocation_Status
  pattern InterconnectLocation_Status_Closed = InterconnectLocation_Status "CLOSED"
  
  {-# COMPLETE
    InterconnectLocation_Status_Available,
    InterconnectLocation_Status_Closed,
    InterconnectLocation_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectLocationList_Warning_Code = InterconnectLocationList_Warning_Code {fromInterconnectLocationList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectLocationList_Warning_Code_CLEANUPFAILED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_CLEANUPFAILED = InterconnectLocationList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectLocationList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectLocationList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectLocationList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectLocationList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectLocationList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectLocationList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectLocationList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectLocationList_Warning_Code_EXTERNALAPIWARNING :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_EXTERNALAPIWARNING = InterconnectLocationList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectLocationList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectLocationList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectLocationList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectLocationList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectLocationList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectLocationList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectLocationList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectLocationList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectLocationList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectLocationList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectLocationList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectLocationList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectLocationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectLocationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectLocationList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectLocationList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectLocationList_Warning_Code_NOTCRITICALERROR :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NOTCRITICALERROR = InterconnectLocationList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectLocationList_Warning_Code_NORESULTSONPAGE :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_NORESULTSONPAGE = InterconnectLocationList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectLocationList_Warning_Code_PARTIALSUCCESS :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_PARTIALSUCCESS = InterconnectLocationList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectLocationList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectLocationList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectLocationList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectLocationList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectLocationList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectLocationList_Warning_Code_RESOURCENOTDELETED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_RESOURCENOTDELETED = InterconnectLocationList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectLocationList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectLocationList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectLocationList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectLocationList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectLocationList_Warning_Code_Unreachable :: InterconnectLocationList_Warning_Code
  pattern InterconnectLocationList_Warning_Code_Unreachable = InterconnectLocationList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectLocationList_Warning_Code_CLEANUPFAILED,
    InterconnectLocationList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectLocationList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectLocationList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectLocationList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectLocationList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectLocationList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectLocationList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectLocationList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectLocationList_Warning_Code_NOTCRITICALERROR,
    InterconnectLocationList_Warning_Code_NORESULTSONPAGE,
    InterconnectLocationList_Warning_Code_PARTIALSUCCESS,
    InterconnectLocationList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectLocationList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectLocationList_Warning_Code_RESOURCENOTDELETED,
    InterconnectLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectLocationList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectLocationList_Warning_Code_Unreachable,
    InterconnectLocationList_Warning_Code
    #-}
  
  -- | Identifies the network presence of this location.
  newtype InterconnectLocationRegionInfo_LocationPresence = InterconnectLocationRegionInfo_LocationPresence {fromInterconnectLocationRegionInfo_LocationPresence :: 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
      )
  
  -- | This region is not in any common network presence with this InterconnectLocation.
  pattern InterconnectLocationRegionInfo_LocationPresence_Global :: InterconnectLocationRegionInfo_LocationPresence
  pattern InterconnectLocationRegionInfo_LocationPresence_Global = InterconnectLocationRegionInfo_LocationPresence "GLOBAL"
  
  -- | This region shares the same regional network presence as this InterconnectLocation.
  pattern InterconnectLocationRegionInfo_LocationPresence_LOCALREGION :: InterconnectLocationRegionInfo_LocationPresence
  pattern InterconnectLocationRegionInfo_LocationPresence_LOCALREGION = InterconnectLocationRegionInfo_LocationPresence "LOCAL_REGION"
  
  -- | [Deprecated] This region is not in any common network presence with this InterconnectLocation.
  pattern InterconnectLocationRegionInfo_LocationPresence_LPGLOBAL :: InterconnectLocationRegionInfo_LocationPresence
  pattern InterconnectLocationRegionInfo_LocationPresence_LPGLOBAL = InterconnectLocationRegionInfo_LocationPresence "LP_GLOBAL"
  
  -- | [Deprecated] This region shares the same regional network presence as this InterconnectLocation.
  pattern InterconnectLocationRegionInfo_LocationPresence_LPLOCALREGION :: InterconnectLocationRegionInfo_LocationPresence
  pattern InterconnectLocationRegionInfo_LocationPresence_LPLOCALREGION = InterconnectLocationRegionInfo_LocationPresence "LP_LOCAL_REGION"
  
  {-# COMPLETE
    InterconnectLocationRegionInfo_LocationPresence_Global,
    InterconnectLocationRegionInfo_LocationPresence_LOCALREGION,
    InterconnectLocationRegionInfo_LocationPresence_LPGLOBAL,
    InterconnectLocationRegionInfo_LocationPresence_LPLOCALREGION,
    InterconnectLocationRegionInfo_LocationPresence
    #-}
  
  -- | Form this outage is expected to take, which can take one of the following values: - OUTAGE: The Interconnect may be completely out of service for some or all of the specified window. - PARTIAL/OUTAGE: Some circuits comprising the Interconnect as a whole should remain up, but with reduced bandwidth. Note that the versions of this enum prefixed with \"IT/\" have been deprecated in favor of the unprefixed values.
  newtype InterconnectOutageNotification_IssueType = InterconnectOutageNotification_IssueType {fromInterconnectOutageNotification_IssueType :: 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
      )
  
  -- | [Deprecated] The Interconnect may be completely out of service for some or all of the specified window.
  pattern InterconnectOutageNotification_IssueType_ITOUTAGE :: InterconnectOutageNotification_IssueType
  pattern InterconnectOutageNotification_IssueType_ITOUTAGE = InterconnectOutageNotification_IssueType "IT_OUTAGE"
  
  -- | [Deprecated] Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth.
  pattern InterconnectOutageNotification_IssueType_ITPARTIALOUTAGE :: InterconnectOutageNotification_IssueType
  pattern InterconnectOutageNotification_IssueType_ITPARTIALOUTAGE = InterconnectOutageNotification_IssueType "IT_PARTIAL_OUTAGE"
  
  -- | The Interconnect may be completely out of service for some or all of the specified window.
  pattern InterconnectOutageNotification_IssueType_Outage :: InterconnectOutageNotification_IssueType
  pattern InterconnectOutageNotification_IssueType_Outage = InterconnectOutageNotification_IssueType "OUTAGE"
  
  -- | Some circuits comprising the Interconnect will be out of service during the expected window. The interconnect as a whole should remain up, albeit with reduced bandwidth.
  pattern InterconnectOutageNotification_IssueType_PARTIALOUTAGE :: InterconnectOutageNotification_IssueType
  pattern InterconnectOutageNotification_IssueType_PARTIALOUTAGE = InterconnectOutageNotification_IssueType "PARTIAL_OUTAGE"
  
  {-# COMPLETE
    InterconnectOutageNotification_IssueType_ITOUTAGE,
    InterconnectOutageNotification_IssueType_ITPARTIALOUTAGE,
    InterconnectOutageNotification_IssueType_Outage,
    InterconnectOutageNotification_IssueType_PARTIALOUTAGE,
    InterconnectOutageNotification_IssueType
    #-}
  
  -- | The party that generated this notification, which can take the following value: - GOOGLE: this notification as generated by Google. Note that the value of NSRC_GOOGLE has been deprecated in favor of GOOGLE.
  newtype InterconnectOutageNotification_Source = InterconnectOutageNotification_Source {fromInterconnectOutageNotification_Source :: 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
      )
  
  -- | This notification was generated by Google.
  pattern InterconnectOutageNotification_Source_Google :: InterconnectOutageNotification_Source
  pattern InterconnectOutageNotification_Source_Google = InterconnectOutageNotification_Source "GOOGLE"
  
  -- | [Deprecated] This notification was generated by Google.
  pattern InterconnectOutageNotification_Source_NSRCGOOGLE :: InterconnectOutageNotification_Source
  pattern InterconnectOutageNotification_Source_NSRCGOOGLE = InterconnectOutageNotification_Source "NSRC_GOOGLE"
  
  {-# COMPLETE
    InterconnectOutageNotification_Source_Google,
    InterconnectOutageNotification_Source_NSRCGOOGLE,
    InterconnectOutageNotification_Source
    #-}
  
  -- | State of this notification, which can take one of the following values: - ACTIVE: This outage notification is active. The event could be in the past, present, or future. See start/time and end/time for scheduling. - CANCELLED: The outage associated with this notification was cancelled before the outage was due to start. - COMPLETED: The outage associated with this notification is complete. Note that the versions of this enum prefixed with \"NS_\" have been deprecated in favor of the unprefixed values.
  newtype InterconnectOutageNotification_State = InterconnectOutageNotification_State {fromInterconnectOutageNotification_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
      )
  
  -- | This outage notification is active. The event could be in the future, present, or past. See start/time and end/time for scheduling.
  pattern InterconnectOutageNotification_State_Active :: InterconnectOutageNotification_State
  pattern InterconnectOutageNotification_State_Active = InterconnectOutageNotification_State "ACTIVE"
  
  -- | The outage associated with this notification was cancelled before the outage was due to start.
  pattern InterconnectOutageNotification_State_Cancelled :: InterconnectOutageNotification_State
  pattern InterconnectOutageNotification_State_Cancelled = InterconnectOutageNotification_State "CANCELLED"
  
  -- | The outage associated with this notification is complete.
  pattern InterconnectOutageNotification_State_Completed :: InterconnectOutageNotification_State
  pattern InterconnectOutageNotification_State_Completed = InterconnectOutageNotification_State "COMPLETED"
  
  -- | [Deprecated] This outage notification is active. The event could be in the future, present, or past. See start/time and end/time for scheduling.
  pattern InterconnectOutageNotification_State_NSACTIVE :: InterconnectOutageNotification_State
  pattern InterconnectOutageNotification_State_NSACTIVE = InterconnectOutageNotification_State "NS_ACTIVE"
  
  -- | [Deprecated] The outage associated with this notification was canceled before the outage was due to start.
  pattern InterconnectOutageNotification_State_NSCANCELED :: InterconnectOutageNotification_State
  pattern InterconnectOutageNotification_State_NSCANCELED = InterconnectOutageNotification_State "NS_CANCELED"
  
  {-# COMPLETE
    InterconnectOutageNotification_State_Active,
    InterconnectOutageNotification_State_Cancelled,
    InterconnectOutageNotification_State_Completed,
    InterconnectOutageNotification_State_NSACTIVE,
    InterconnectOutageNotification_State_NSCANCELED,
    InterconnectOutageNotification_State
    #-}
  
  -- | [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA/PAC - EUROPE - NORTH/AMERICA - SOUTH_AMERICA
  newtype InterconnectRemoteLocation_Continent = InterconnectRemoteLocation_Continent {fromInterconnectRemoteLocation_Continent :: 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
      )
  
  pattern InterconnectRemoteLocation_Continent_Africa :: InterconnectRemoteLocation_Continent
  pattern InterconnectRemoteLocation_Continent_Africa = InterconnectRemoteLocation_Continent "AFRICA"
  
  pattern InterconnectRemoteLocation_Continent_ASIAPAC :: InterconnectRemoteLocation_Continent
  pattern InterconnectRemoteLocation_Continent_ASIAPAC = InterconnectRemoteLocation_Continent "ASIA_PAC"
  
  pattern InterconnectRemoteLocation_Continent_Europe :: InterconnectRemoteLocation_Continent
  pattern InterconnectRemoteLocation_Continent_Europe = InterconnectRemoteLocation_Continent "EUROPE"
  
  pattern InterconnectRemoteLocation_Continent_NORTHAMERICA :: InterconnectRemoteLocation_Continent
  pattern InterconnectRemoteLocation_Continent_NORTHAMERICA = InterconnectRemoteLocation_Continent "NORTH_AMERICA"
  
  pattern InterconnectRemoteLocation_Continent_SOUTHAMERICA :: InterconnectRemoteLocation_Continent
  pattern InterconnectRemoteLocation_Continent_SOUTHAMERICA = InterconnectRemoteLocation_Continent "SOUTH_AMERICA"
  
  {-# COMPLETE
    InterconnectRemoteLocation_Continent_Africa,
    InterconnectRemoteLocation_Continent_ASIAPAC,
    InterconnectRemoteLocation_Continent_Europe,
    InterconnectRemoteLocation_Continent_NORTHAMERICA,
    InterconnectRemoteLocation_Continent_SOUTHAMERICA,
    InterconnectRemoteLocation_Continent
    #-}
  
  -- | [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP/SUPPORTED, LACP/UNSUPPORTED
  newtype InterconnectRemoteLocation_Lacp = InterconnectRemoteLocation_Lacp {fromInterconnectRemoteLocation_Lacp :: 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
      )
  
  -- | LACP_SUPPORTED: LACP is supported, and enabled by default on the Cross-Cloud Interconnect.
  pattern InterconnectRemoteLocation_Lacp_LACPSUPPORTED :: InterconnectRemoteLocation_Lacp
  pattern InterconnectRemoteLocation_Lacp_LACPSUPPORTED = InterconnectRemoteLocation_Lacp "LACP_SUPPORTED"
  
  -- | LACP_UNSUPPORTED: LACP is not supported and is not be enabled on this port. GetDiagnostics shows bundleAggregationType as \"static\". GCP does not support LAGs without LACP, so requestedLinkCount must be 1.
  pattern InterconnectRemoteLocation_Lacp_LACPUNSUPPORTED :: InterconnectRemoteLocation_Lacp
  pattern InterconnectRemoteLocation_Lacp_LACPUNSUPPORTED = InterconnectRemoteLocation_Lacp "LACP_UNSUPPORTED"
  
  {-# COMPLETE
    InterconnectRemoteLocation_Lacp_LACPSUPPORTED,
    InterconnectRemoteLocation_Lacp_LACPUNSUPPORTED,
    InterconnectRemoteLocation_Lacp
    #-}
  
  -- | [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
  newtype InterconnectRemoteLocation_Status = InterconnectRemoteLocation_Status {fromInterconnectRemoteLocation_Status :: 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 InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects.
  pattern InterconnectRemoteLocation_Status_Available :: InterconnectRemoteLocation_Status
  pattern InterconnectRemoteLocation_Status_Available = InterconnectRemoteLocation_Status "AVAILABLE"
  
  -- | The InterconnectRemoteLocation is closed for provisioning new Cross-Cloud Interconnects.
  pattern InterconnectRemoteLocation_Status_Closed :: InterconnectRemoteLocation_Status
  pattern InterconnectRemoteLocation_Status_Closed = InterconnectRemoteLocation_Status "CLOSED"
  
  {-# COMPLETE
    InterconnectRemoteLocation_Status_Available,
    InterconnectRemoteLocation_Status_Closed,
    InterconnectRemoteLocation_Status
    #-}
  
  -- | [Output Only] Port pair remote location constraints, which can take one of the following values: PORT/PAIR/UNCONSTRAINED/REMOTE/LOCATION, PORT/PAIR/MATCHING/REMOTE/LOCATION. Google Cloud API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location.
  newtype InterconnectRemoteLocationConstraints_PortPairRemoteLocation = InterconnectRemoteLocationConstraints_PortPairRemoteLocation {fromInterconnectRemoteLocationConstraints_PortPairRemoteLocation :: 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
      )
  
  -- | If PORT/PAIR/MATCHING/REMOTE/LOCATION, the remote cloud provider allocates ports in pairs, and the user should choose the same remote location for both ports.
  pattern InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRMATCHINGREMOTELOCATION :: InterconnectRemoteLocationConstraints_PortPairRemoteLocation
  pattern InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRMATCHINGREMOTELOCATION = InterconnectRemoteLocationConstraints_PortPairRemoteLocation "PORT_PAIR_MATCHING_REMOTE_LOCATION"
  
  -- | If PORT/PAIR/UNCONSTRAINED/REMOTE/LOCATION, a user may opt to provision a redundant pair of Cross-Cloud Interconnects using two different remote locations in the same city.
  pattern InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRUNCONSTRAINEDREMOTELOCATION :: InterconnectRemoteLocationConstraints_PortPairRemoteLocation
  pattern InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRUNCONSTRAINEDREMOTELOCATION = InterconnectRemoteLocationConstraints_PortPairRemoteLocation "PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION"
  
  {-# COMPLETE
    InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRMATCHINGREMOTELOCATION,
    InterconnectRemoteLocationConstraints_PortPairRemoteLocation_PORTPAIRUNCONSTRAINEDREMOTELOCATION,
    InterconnectRemoteLocationConstraints_PortPairRemoteLocation
    #-}
  
  -- | [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT/PAIR/UNCONSTRAINED/VLAN, PORT/PAIR/MATCHING/VLAN
  newtype InterconnectRemoteLocationConstraints_PortPairVlan = InterconnectRemoteLocationConstraints_PortPairVlan {fromInterconnectRemoteLocationConstraints_PortPairVlan :: 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
      )
  
  -- | If PORT/PAIR/MATCHING_VLAN, the Interconnect for this attachment is part of a pair of ports that should have matching VLAN allocations. This occurs with Cross-Cloud Interconnect to Azure remote locations. While GCP\'s API does not explicitly group pairs of ports, the UI uses this field to ensure matching VLAN ids when configuring a redundant VLAN pair.
  pattern InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRMATCHINGVLAN :: InterconnectRemoteLocationConstraints_PortPairVlan
  pattern InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRMATCHINGVLAN = InterconnectRemoteLocationConstraints_PortPairVlan "PORT_PAIR_MATCHING_VLAN"
  
  -- | PORT/PAIR/UNCONSTRAINED_VLAN means there is no constraint.
  pattern InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRUNCONSTRAINEDVLAN :: InterconnectRemoteLocationConstraints_PortPairVlan
  pattern InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRUNCONSTRAINEDVLAN = InterconnectRemoteLocationConstraints_PortPairVlan "PORT_PAIR_UNCONSTRAINED_VLAN"
  
  {-# COMPLETE
    InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRMATCHINGVLAN,
    InterconnectRemoteLocationConstraints_PortPairVlan_PORTPAIRUNCONSTRAINEDVLAN,
    InterconnectRemoteLocationConstraints_PortPairVlan
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype InterconnectRemoteLocationList_Warning_Code = InterconnectRemoteLocationList_Warning_Code {fromInterconnectRemoteLocationList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern InterconnectRemoteLocationList_Warning_Code_CLEANUPFAILED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_CLEANUPFAILED = InterconnectRemoteLocationList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern InterconnectRemoteLocationList_Warning_Code_DEPRECATEDRESOURCEUSED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_DEPRECATEDRESOURCEUSED = InterconnectRemoteLocationList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern InterconnectRemoteLocationList_Warning_Code_DEPRECATEDTYPEUSED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_DEPRECATEDTYPEUSED = InterconnectRemoteLocationList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern InterconnectRemoteLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = InterconnectRemoteLocationList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern InterconnectRemoteLocationList_Warning_Code_EXPERIMENTALTYPEUSED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_EXPERIMENTALTYPEUSED = InterconnectRemoteLocationList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern InterconnectRemoteLocationList_Warning_Code_EXTERNALAPIWARNING :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_EXTERNALAPIWARNING = InterconnectRemoteLocationList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern InterconnectRemoteLocationList_Warning_Code_FIELDVALUEOVERRIDEN :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_FIELDVALUEOVERRIDEN = InterconnectRemoteLocationList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern InterconnectRemoteLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED = InterconnectRemoteLocationList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern InterconnectRemoteLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = InterconnectRemoteLocationList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern InterconnectRemoteLocationList_Warning_Code_LARGEDEPLOYMENTWARNING :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_LARGEDEPLOYMENTWARNING = InterconnectRemoteLocationList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern InterconnectRemoteLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED = InterconnectRemoteLocationList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern InterconnectRemoteLocationList_Warning_Code_MISSINGTYPEDEPENDENCY :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_MISSINGTYPEDEPENDENCY = InterconnectRemoteLocationList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPNOTRUNNING :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NEXTHOPNOTRUNNING = InterconnectRemoteLocationList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern InterconnectRemoteLocationList_Warning_Code_NOTCRITICALERROR :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NOTCRITICALERROR = InterconnectRemoteLocationList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern InterconnectRemoteLocationList_Warning_Code_NORESULTSONPAGE :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_NORESULTSONPAGE = InterconnectRemoteLocationList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern InterconnectRemoteLocationList_Warning_Code_PARTIALSUCCESS :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_PARTIALSUCCESS = InterconnectRemoteLocationList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern InterconnectRemoteLocationList_Warning_Code_QUOTAINFOUNAVAILABLE :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_QUOTAINFOUNAVAILABLE = InterconnectRemoteLocationList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern InterconnectRemoteLocationList_Warning_Code_REQUIREDTOSAGREEMENT :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_REQUIREDTOSAGREEMENT = InterconnectRemoteLocationList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern InterconnectRemoteLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = InterconnectRemoteLocationList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern InterconnectRemoteLocationList_Warning_Code_RESOURCENOTDELETED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_RESOURCENOTDELETED = InterconnectRemoteLocationList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern InterconnectRemoteLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED = InterconnectRemoteLocationList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern InterconnectRemoteLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = InterconnectRemoteLocationList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern InterconnectRemoteLocationList_Warning_Code_UNDECLAREDPROPERTIES :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_UNDECLAREDPROPERTIES = InterconnectRemoteLocationList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern InterconnectRemoteLocationList_Warning_Code_Unreachable :: InterconnectRemoteLocationList_Warning_Code
  pattern InterconnectRemoteLocationList_Warning_Code_Unreachable = InterconnectRemoteLocationList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    InterconnectRemoteLocationList_Warning_Code_CLEANUPFAILED,
    InterconnectRemoteLocationList_Warning_Code_DEPRECATEDRESOURCEUSED,
    InterconnectRemoteLocationList_Warning_Code_DEPRECATEDTYPEUSED,
    InterconnectRemoteLocationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    InterconnectRemoteLocationList_Warning_Code_EXPERIMENTALTYPEUSED,
    InterconnectRemoteLocationList_Warning_Code_EXTERNALAPIWARNING,
    InterconnectRemoteLocationList_Warning_Code_FIELDVALUEOVERRIDEN,
    InterconnectRemoteLocationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    InterconnectRemoteLocationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    InterconnectRemoteLocationList_Warning_Code_LARGEDEPLOYMENTWARNING,
    InterconnectRemoteLocationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    InterconnectRemoteLocationList_Warning_Code_MISSINGTYPEDEPENDENCY,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    InterconnectRemoteLocationList_Warning_Code_NEXTHOPNOTRUNNING,
    InterconnectRemoteLocationList_Warning_Code_NOTCRITICALERROR,
    InterconnectRemoteLocationList_Warning_Code_NORESULTSONPAGE,
    InterconnectRemoteLocationList_Warning_Code_PARTIALSUCCESS,
    InterconnectRemoteLocationList_Warning_Code_QUOTAINFOUNAVAILABLE,
    InterconnectRemoteLocationList_Warning_Code_REQUIREDTOSAGREEMENT,
    InterconnectRemoteLocationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    InterconnectRemoteLocationList_Warning_Code_RESOURCENOTDELETED,
    InterconnectRemoteLocationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    InterconnectRemoteLocationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    InterconnectRemoteLocationList_Warning_Code_UNDECLAREDPROPERTIES,
    InterconnectRemoteLocationList_Warning_Code_Unreachable,
    InterconnectRemoteLocationList_Warning_Code
    #-}
  
  -- | [Output Only] Current state of this License Code.
  newtype LicenseCode_State = LicenseCode_State {fromLicenseCode_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
      )
  
  -- | Machines are not allowed to attach boot disks with this License Code. Requests to create new resources with this license will be rejected.
  pattern LicenseCode_State_Disabled :: LicenseCode_State
  pattern LicenseCode_State_Disabled = LicenseCode_State "DISABLED"
  
  -- | Use is allowed for anyone with USE/READ/ONLY access to this License Code.
  pattern LicenseCode_State_Enabled :: LicenseCode_State
  pattern LicenseCode_State_Enabled = LicenseCode_State "ENABLED"
  
  -- | Use of this license is limited to a project whitelist.
  pattern LicenseCode_State_Restricted :: LicenseCode_State
  pattern LicenseCode_State_Restricted = LicenseCode_State "RESTRICTED"
  
  pattern LicenseCode_State_STATEUNSPECIFIED :: LicenseCode_State
  pattern LicenseCode_State_STATEUNSPECIFIED = LicenseCode_State "STATE_UNSPECIFIED"
  
  -- | Reserved state.
  pattern LicenseCode_State_Terminated :: LicenseCode_State
  pattern LicenseCode_State_Terminated = LicenseCode_State "TERMINATED"
  
  {-# COMPLETE
    LicenseCode_State_Disabled,
    LicenseCode_State_Enabled,
    LicenseCode_State_Restricted,
    LicenseCode_State_STATEUNSPECIFIED,
    LicenseCode_State_Terminated,
    LicenseCode_State
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype LicensesListResponse_Warning_Code = LicensesListResponse_Warning_Code {fromLicensesListResponse_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern LicensesListResponse_Warning_Code_CLEANUPFAILED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_CLEANUPFAILED = LicensesListResponse_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern LicensesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED = LicensesListResponse_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern LicensesListResponse_Warning_Code_DEPRECATEDTYPEUSED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_DEPRECATEDTYPEUSED = LicensesListResponse_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern LicensesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = LicensesListResponse_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern LicensesListResponse_Warning_Code_EXPERIMENTALTYPEUSED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_EXPERIMENTALTYPEUSED = LicensesListResponse_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern LicensesListResponse_Warning_Code_EXTERNALAPIWARNING :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_EXTERNALAPIWARNING = LicensesListResponse_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern LicensesListResponse_Warning_Code_FIELDVALUEOVERRIDEN :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_FIELDVALUEOVERRIDEN = LicensesListResponse_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern LicensesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED = LicensesListResponse_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern LicensesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = LicensesListResponse_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern LicensesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING = LicensesListResponse_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern LicensesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED = LicensesListResponse_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern LicensesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY = LicensesListResponse_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern LicensesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = LicensesListResponse_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern LicensesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD = LicensesListResponse_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = LicensesListResponse_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND = LicensesListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = LicensesListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern LicensesListResponse_Warning_Code_NEXTHOPNOTRUNNING :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NEXTHOPNOTRUNNING = LicensesListResponse_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern LicensesListResponse_Warning_Code_NOTCRITICALERROR :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NOTCRITICALERROR = LicensesListResponse_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern LicensesListResponse_Warning_Code_NORESULTSONPAGE :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_NORESULTSONPAGE = LicensesListResponse_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern LicensesListResponse_Warning_Code_PARTIALSUCCESS :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_PARTIALSUCCESS = LicensesListResponse_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern LicensesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE = LicensesListResponse_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern LicensesListResponse_Warning_Code_REQUIREDTOSAGREEMENT :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_REQUIREDTOSAGREEMENT = LicensesListResponse_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern LicensesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = LicensesListResponse_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern LicensesListResponse_Warning_Code_RESOURCENOTDELETED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_RESOURCENOTDELETED = LicensesListResponse_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern LicensesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED = LicensesListResponse_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern LicensesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = LicensesListResponse_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern LicensesListResponse_Warning_Code_UNDECLAREDPROPERTIES :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_UNDECLAREDPROPERTIES = LicensesListResponse_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern LicensesListResponse_Warning_Code_Unreachable :: LicensesListResponse_Warning_Code
  pattern LicensesListResponse_Warning_Code_Unreachable = LicensesListResponse_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    LicensesListResponse_Warning_Code_CLEANUPFAILED,
    LicensesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
    LicensesListResponse_Warning_Code_DEPRECATEDTYPEUSED,
    LicensesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    LicensesListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
    LicensesListResponse_Warning_Code_EXTERNALAPIWARNING,
    LicensesListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
    LicensesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
    LicensesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    LicensesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
    LicensesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    LicensesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
    LicensesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    LicensesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    LicensesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    LicensesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    LicensesListResponse_Warning_Code_NEXTHOPNOTRUNNING,
    LicensesListResponse_Warning_Code_NOTCRITICALERROR,
    LicensesListResponse_Warning_Code_NORESULTSONPAGE,
    LicensesListResponse_Warning_Code_PARTIALSUCCESS,
    LicensesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
    LicensesListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
    LicensesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    LicensesListResponse_Warning_Code_RESOURCENOTDELETED,
    LicensesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
    LicensesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    LicensesListResponse_Warning_Code_UNDECLAREDPROPERTIES,
    LicensesListResponse_Warning_Code_Unreachable,
    LicensesListResponse_Warning_Code
    #-}
  
  -- | Strategy for distributing VMs across zones in a region.
  newtype LocationPolicy_TargetShape = LocationPolicy_TargetShape {fromLocationPolicy_TargetShape :: 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
      )
  
  -- | GCE picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.
  pattern LocationPolicy_TargetShape_Any :: LocationPolicy_TargetShape
  pattern LocationPolicy_TargetShape_Any = LocationPolicy_TargetShape "ANY"
  
  -- | GCE always selects a single zone for all the VMs, optimizing for resource quotas, available reservations and general capacity. Recommended for batch workloads that cannot tollerate distribution over multiple zones. This the default shape in Bulk Insert and Capacity Advisor APIs.
  pattern LocationPolicy_TargetShape_ANYSINGLEZONE :: LocationPolicy_TargetShape
  pattern LocationPolicy_TargetShape_ANYSINGLEZONE = LocationPolicy_TargetShape "ANY_SINGLE_ZONE"
  
  -- | GCE prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across allowed zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.
  pattern LocationPolicy_TargetShape_Balanced :: LocationPolicy_TargetShape
  pattern LocationPolicy_TargetShape_Balanced = LocationPolicy_TargetShape "BALANCED"
  
  {-# COMPLETE
    LocationPolicy_TargetShape_Any,
    LocationPolicy_TargetShape_ANYSINGLEZONE,
    LocationPolicy_TargetShape_Balanced,
    LocationPolicy_TargetShape
    #-}
  
  -- | Preference for a given location. Set to either ALLOW or DENY.
  newtype LocationPolicyLocation_Preference = LocationPolicyLocation_Preference {fromLocationPolicyLocation_Preference :: 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
      )
  
  -- | Location is allowed for use.
  pattern LocationPolicyLocation_Preference_Allow :: LocationPolicyLocation_Preference
  pattern LocationPolicyLocation_Preference_Allow = LocationPolicyLocation_Preference "ALLOW"
  
  -- | Location is prohibited.
  pattern LocationPolicyLocation_Preference_Deny :: LocationPolicyLocation_Preference
  pattern LocationPolicyLocation_Preference_Deny = LocationPolicyLocation_Preference "DENY"
  
  -- | Default value, unused.
  pattern LocationPolicyLocation_Preference_PREFERENCEUNSPECIFIED :: LocationPolicyLocation_Preference
  pattern LocationPolicyLocation_Preference_PREFERENCEUNSPECIFIED = LocationPolicyLocation_Preference "PREFERENCE_UNSPECIFIED"
  
  {-# COMPLETE
    LocationPolicyLocation_Preference_Allow,
    LocationPolicyLocation_Preference_Deny,
    LocationPolicyLocation_Preference_PREFERENCEUNSPECIFIED,
    LocationPolicyLocation_Preference
    #-}
  
  -- | [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING.
  newtype MachineImage_Status = MachineImage_Status {fromMachineImage_Status :: 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
      )
  
  pattern MachineImage_Status_Creating :: MachineImage_Status
  pattern MachineImage_Status_Creating = MachineImage_Status "CREATING"
  
  pattern MachineImage_Status_Deleting :: MachineImage_Status
  pattern MachineImage_Status_Deleting = MachineImage_Status "DELETING"
  
  pattern MachineImage_Status_Invalid :: MachineImage_Status
  pattern MachineImage_Status_Invalid = MachineImage_Status "INVALID"
  
  pattern MachineImage_Status_Ready :: MachineImage_Status
  pattern MachineImage_Status_Ready = MachineImage_Status "READY"
  
  pattern MachineImage_Status_Uploading :: MachineImage_Status
  pattern MachineImage_Status_Uploading = MachineImage_Status "UPLOADING"
  
  {-# COMPLETE
    MachineImage_Status_Creating,
    MachineImage_Status_Deleting,
    MachineImage_Status_Invalid,
    MachineImage_Status_Ready,
    MachineImage_Status_Uploading,
    MachineImage_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype MachineImageList_Warning_Code = MachineImageList_Warning_Code {fromMachineImageList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern MachineImageList_Warning_Code_CLEANUPFAILED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_CLEANUPFAILED = MachineImageList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern MachineImageList_Warning_Code_DEPRECATEDRESOURCEUSED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_DEPRECATEDRESOURCEUSED = MachineImageList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern MachineImageList_Warning_Code_DEPRECATEDTYPEUSED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_DEPRECATEDTYPEUSED = MachineImageList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern MachineImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = MachineImageList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern MachineImageList_Warning_Code_EXPERIMENTALTYPEUSED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_EXPERIMENTALTYPEUSED = MachineImageList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern MachineImageList_Warning_Code_EXTERNALAPIWARNING :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_EXTERNALAPIWARNING = MachineImageList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern MachineImageList_Warning_Code_FIELDVALUEOVERRIDEN :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_FIELDVALUEOVERRIDEN = MachineImageList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern MachineImageList_Warning_Code_INJECTEDKERNELSDEPRECATED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_INJECTEDKERNELSDEPRECATED = MachineImageList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern MachineImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = MachineImageList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern MachineImageList_Warning_Code_LARGEDEPLOYMENTWARNING :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_LARGEDEPLOYMENTWARNING = MachineImageList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern MachineImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED = MachineImageList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern MachineImageList_Warning_Code_MISSINGTYPEDEPENDENCY :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_MISSINGTYPEDEPENDENCY = MachineImageList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern MachineImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = MachineImageList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern MachineImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD = MachineImageList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = MachineImageList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND = MachineImageList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = MachineImageList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern MachineImageList_Warning_Code_NEXTHOPNOTRUNNING :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NEXTHOPNOTRUNNING = MachineImageList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern MachineImageList_Warning_Code_NOTCRITICALERROR :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NOTCRITICALERROR = MachineImageList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern MachineImageList_Warning_Code_NORESULTSONPAGE :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_NORESULTSONPAGE = MachineImageList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern MachineImageList_Warning_Code_PARTIALSUCCESS :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_PARTIALSUCCESS = MachineImageList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern MachineImageList_Warning_Code_QUOTAINFOUNAVAILABLE :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_QUOTAINFOUNAVAILABLE = MachineImageList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern MachineImageList_Warning_Code_REQUIREDTOSAGREEMENT :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_REQUIREDTOSAGREEMENT = MachineImageList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern MachineImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = MachineImageList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern MachineImageList_Warning_Code_RESOURCENOTDELETED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_RESOURCENOTDELETED = MachineImageList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern MachineImageList_Warning_Code_SCHEMAVALIDATIONIGNORED :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_SCHEMAVALIDATIONIGNORED = MachineImageList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern MachineImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = MachineImageList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern MachineImageList_Warning_Code_UNDECLAREDPROPERTIES :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_UNDECLAREDPROPERTIES = MachineImageList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern MachineImageList_Warning_Code_Unreachable :: MachineImageList_Warning_Code
  pattern MachineImageList_Warning_Code_Unreachable = MachineImageList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    MachineImageList_Warning_Code_CLEANUPFAILED,
    MachineImageList_Warning_Code_DEPRECATEDRESOURCEUSED,
    MachineImageList_Warning_Code_DEPRECATEDTYPEUSED,
    MachineImageList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    MachineImageList_Warning_Code_EXPERIMENTALTYPEUSED,
    MachineImageList_Warning_Code_EXTERNALAPIWARNING,
    MachineImageList_Warning_Code_FIELDVALUEOVERRIDEN,
    MachineImageList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    MachineImageList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    MachineImageList_Warning_Code_LARGEDEPLOYMENTWARNING,
    MachineImageList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    MachineImageList_Warning_Code_MISSINGTYPEDEPENDENCY,
    MachineImageList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    MachineImageList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    MachineImageList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    MachineImageList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    MachineImageList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    MachineImageList_Warning_Code_NEXTHOPNOTRUNNING,
    MachineImageList_Warning_Code_NOTCRITICALERROR,
    MachineImageList_Warning_Code_NORESULTSONPAGE,
    MachineImageList_Warning_Code_PARTIALSUCCESS,
    MachineImageList_Warning_Code_QUOTAINFOUNAVAILABLE,
    MachineImageList_Warning_Code_REQUIREDTOSAGREEMENT,
    MachineImageList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    MachineImageList_Warning_Code_RESOURCENOTDELETED,
    MachineImageList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    MachineImageList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    MachineImageList_Warning_Code_UNDECLAREDPROPERTIES,
    MachineImageList_Warning_Code_Unreachable,
    MachineImageList_Warning_Code
    #-}
  
  -- | [Output Only] The architecture of the machine type.
  newtype MachineType_Architecture = MachineType_Architecture {fromMachineType_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern MachineType_Architecture_ARCHITECTUREUNSPECIFIED :: MachineType_Architecture
  pattern MachineType_Architecture_ARCHITECTUREUNSPECIFIED = MachineType_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern MachineType_Architecture_ARM64 :: MachineType_Architecture
  pattern MachineType_Architecture_ARM64 = MachineType_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern MachineType_Architecture_X86_64 :: MachineType_Architecture
  pattern MachineType_Architecture_X86_64 = MachineType_Architecture "X86_64"
  
  {-# COMPLETE
    MachineType_Architecture_ARCHITECTUREUNSPECIFIED,
    MachineType_Architecture_ARM64,
    MachineType_Architecture_X86_64,
    MachineType_Architecture
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype MachineTypeAggregatedList_Warning_Code = MachineTypeAggregatedList_Warning_Code {fromMachineTypeAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern MachineTypeAggregatedList_Warning_Code_CLEANUPFAILED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_CLEANUPFAILED = MachineTypeAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern MachineTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = MachineTypeAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern MachineTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = MachineTypeAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern MachineTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = MachineTypeAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern MachineTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = MachineTypeAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern MachineTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING = MachineTypeAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern MachineTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = MachineTypeAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern MachineTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = MachineTypeAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern MachineTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = MachineTypeAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern MachineTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = MachineTypeAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern MachineTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = MachineTypeAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern MachineTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = MachineTypeAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = MachineTypeAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern MachineTypeAggregatedList_Warning_Code_NOTCRITICALERROR :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NOTCRITICALERROR = MachineTypeAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern MachineTypeAggregatedList_Warning_Code_NORESULTSONPAGE :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_NORESULTSONPAGE = MachineTypeAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern MachineTypeAggregatedList_Warning_Code_PARTIALSUCCESS :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_PARTIALSUCCESS = MachineTypeAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern MachineTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = MachineTypeAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern MachineTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = MachineTypeAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern MachineTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = MachineTypeAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern MachineTypeAggregatedList_Warning_Code_RESOURCENOTDELETED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_RESOURCENOTDELETED = MachineTypeAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern MachineTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = MachineTypeAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern MachineTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = MachineTypeAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern MachineTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = MachineTypeAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern MachineTypeAggregatedList_Warning_Code_Unreachable :: MachineTypeAggregatedList_Warning_Code
  pattern MachineTypeAggregatedList_Warning_Code_Unreachable = MachineTypeAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    MachineTypeAggregatedList_Warning_Code_CLEANUPFAILED,
    MachineTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    MachineTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    MachineTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    MachineTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    MachineTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    MachineTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    MachineTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    MachineTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    MachineTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    MachineTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    MachineTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    MachineTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    MachineTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
    MachineTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
    MachineTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
    MachineTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    MachineTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    MachineTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    MachineTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
    MachineTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    MachineTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    MachineTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    MachineTypeAggregatedList_Warning_Code_Unreachable,
    MachineTypeAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype MachineTypeList_Warning_Code = MachineTypeList_Warning_Code {fromMachineTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern MachineTypeList_Warning_Code_CLEANUPFAILED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_CLEANUPFAILED = MachineTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern MachineTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = MachineTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern MachineTypeList_Warning_Code_DEPRECATEDTYPEUSED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_DEPRECATEDTYPEUSED = MachineTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern MachineTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = MachineTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern MachineTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_EXPERIMENTALTYPEUSED = MachineTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern MachineTypeList_Warning_Code_EXTERNALAPIWARNING :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_EXTERNALAPIWARNING = MachineTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern MachineTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_FIELDVALUEOVERRIDEN = MachineTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern MachineTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = MachineTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern MachineTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = MachineTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern MachineTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = MachineTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern MachineTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = MachineTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern MachineTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = MachineTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern MachineTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = MachineTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern MachineTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = MachineTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = MachineTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = MachineTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = MachineTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern MachineTypeList_Warning_Code_NEXTHOPNOTRUNNING :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NEXTHOPNOTRUNNING = MachineTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern MachineTypeList_Warning_Code_NOTCRITICALERROR :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NOTCRITICALERROR = MachineTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern MachineTypeList_Warning_Code_NORESULTSONPAGE :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_NORESULTSONPAGE = MachineTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern MachineTypeList_Warning_Code_PARTIALSUCCESS :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_PARTIALSUCCESS = MachineTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern MachineTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = MachineTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern MachineTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_REQUIREDTOSAGREEMENT = MachineTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern MachineTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = MachineTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern MachineTypeList_Warning_Code_RESOURCENOTDELETED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_RESOURCENOTDELETED = MachineTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern MachineTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = MachineTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern MachineTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = MachineTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern MachineTypeList_Warning_Code_UNDECLAREDPROPERTIES :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_UNDECLAREDPROPERTIES = MachineTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern MachineTypeList_Warning_Code_Unreachable :: MachineTypeList_Warning_Code
  pattern MachineTypeList_Warning_Code_Unreachable = MachineTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    MachineTypeList_Warning_Code_CLEANUPFAILED,
    MachineTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    MachineTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    MachineTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    MachineTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    MachineTypeList_Warning_Code_EXTERNALAPIWARNING,
    MachineTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    MachineTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    MachineTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    MachineTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    MachineTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    MachineTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    MachineTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    MachineTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    MachineTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    MachineTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    MachineTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    MachineTypeList_Warning_Code_NOTCRITICALERROR,
    MachineTypeList_Warning_Code_NORESULTSONPAGE,
    MachineTypeList_Warning_Code_PARTIALSUCCESS,
    MachineTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    MachineTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    MachineTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    MachineTypeList_Warning_Code_RESOURCENOTDELETED,
    MachineTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    MachineTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    MachineTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    MachineTypeList_Warning_Code_Unreachable,
    MachineTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype MachineTypesScopedList_Warning_Code = MachineTypesScopedList_Warning_Code {fromMachineTypesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern MachineTypesScopedList_Warning_Code_CLEANUPFAILED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_CLEANUPFAILED = MachineTypesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern MachineTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = MachineTypesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern MachineTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED = MachineTypesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern MachineTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = MachineTypesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern MachineTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = MachineTypesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern MachineTypesScopedList_Warning_Code_EXTERNALAPIWARNING :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_EXTERNALAPIWARNING = MachineTypesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern MachineTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = MachineTypesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern MachineTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = MachineTypesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern MachineTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = MachineTypesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern MachineTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = MachineTypesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern MachineTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = MachineTypesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern MachineTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = MachineTypesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = MachineTypesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = MachineTypesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = MachineTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = MachineTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = MachineTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING = MachineTypesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern MachineTypesScopedList_Warning_Code_NOTCRITICALERROR :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NOTCRITICALERROR = MachineTypesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern MachineTypesScopedList_Warning_Code_NORESULTSONPAGE :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_NORESULTSONPAGE = MachineTypesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern MachineTypesScopedList_Warning_Code_PARTIALSUCCESS :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_PARTIALSUCCESS = MachineTypesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern MachineTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = MachineTypesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern MachineTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = MachineTypesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern MachineTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = MachineTypesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern MachineTypesScopedList_Warning_Code_RESOURCENOTDELETED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_RESOURCENOTDELETED = MachineTypesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern MachineTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = MachineTypesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern MachineTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = MachineTypesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern MachineTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES = MachineTypesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern MachineTypesScopedList_Warning_Code_Unreachable :: MachineTypesScopedList_Warning_Code
  pattern MachineTypesScopedList_Warning_Code_Unreachable = MachineTypesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    MachineTypesScopedList_Warning_Code_CLEANUPFAILED,
    MachineTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    MachineTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    MachineTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    MachineTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    MachineTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
    MachineTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    MachineTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    MachineTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    MachineTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    MachineTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    MachineTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    MachineTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    MachineTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    MachineTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    MachineTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    MachineTypesScopedList_Warning_Code_NOTCRITICALERROR,
    MachineTypesScopedList_Warning_Code_NORESULTSONPAGE,
    MachineTypesScopedList_Warning_Code_PARTIALSUCCESS,
    MachineTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    MachineTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    MachineTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    MachineTypesScopedList_Warning_Code_RESOURCENOTDELETED,
    MachineTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    MachineTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    MachineTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    MachineTypesScopedList_Warning_Code_Unreachable,
    MachineTypesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: - NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. - CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. - CREATING/WITHOUT/RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group\'s targetSize value is decreased instead. - RECREATING The managed instance group is recreating this instance. - DELETING The managed instance group is permanently deleting this instance. - ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. - RESTARTING The managed instance group is restarting the instance. - REFRESHING The
  -- managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance. - VERIFYING The managed instance group has created the instance and it is in the process of being verified.
  newtype ManagedInstance_CurrentAction = ManagedInstance_CurrentAction {fromManagedInstance_CurrentAction :: 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 managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.
  pattern ManagedInstance_CurrentAction_Abandoning :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Abandoning = ManagedInstance_CurrentAction "ABANDONING"
  
  -- | The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.
  pattern ManagedInstance_CurrentAction_Creating :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Creating = ManagedInstance_CurrentAction "CREATING"
  
  -- | The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group\'s targetSize value is decreased.
  pattern ManagedInstance_CurrentAction_CREATINGWITHOUTRETRIES :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_CREATINGWITHOUTRETRIES = ManagedInstance_CurrentAction "CREATING_WITHOUT_RETRIES"
  
  -- | The managed instance group is permanently deleting this instance.
  pattern ManagedInstance_CurrentAction_Deleting :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Deleting = ManagedInstance_CurrentAction "DELETING"
  
  -- | The managed instance group has not scheduled any actions for this instance.
  pattern ManagedInstance_CurrentAction_None :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_None = ManagedInstance_CurrentAction "NONE"
  
  -- | The managed instance group is recreating this instance.
  pattern ManagedInstance_CurrentAction_Recreating :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Recreating = ManagedInstance_CurrentAction "RECREATING"
  
  -- | The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.
  pattern ManagedInstance_CurrentAction_Refreshing :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Refreshing = ManagedInstance_CurrentAction "REFRESHING"
  
  -- | The managed instance group is restarting this instance.
  pattern ManagedInstance_CurrentAction_Restarting :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Restarting = ManagedInstance_CurrentAction "RESTARTING"
  
  -- | The managed instance group is resuming this instance.
  pattern ManagedInstance_CurrentAction_Resuming :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Resuming = ManagedInstance_CurrentAction "RESUMING"
  
  -- | The managed instance group is starting this instance.
  pattern ManagedInstance_CurrentAction_Starting :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Starting = ManagedInstance_CurrentAction "STARTING"
  
  -- | The managed instance group is stopping this instance.
  pattern ManagedInstance_CurrentAction_Stopping :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Stopping = ManagedInstance_CurrentAction "STOPPING"
  
  -- | The managed instance group is suspending this instance.
  pattern ManagedInstance_CurrentAction_Suspending :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Suspending = ManagedInstance_CurrentAction "SUSPENDING"
  
  -- | The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group\'s autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions).
  pattern ManagedInstance_CurrentAction_Verifying :: ManagedInstance_CurrentAction
  pattern ManagedInstance_CurrentAction_Verifying = ManagedInstance_CurrentAction "VERIFYING"
  
  {-# COMPLETE
    ManagedInstance_CurrentAction_Abandoning,
    ManagedInstance_CurrentAction_Creating,
    ManagedInstance_CurrentAction_CREATINGWITHOUTRETRIES,
    ManagedInstance_CurrentAction_Deleting,
    ManagedInstance_CurrentAction_None,
    ManagedInstance_CurrentAction_Recreating,
    ManagedInstance_CurrentAction_Refreshing,
    ManagedInstance_CurrentAction_Restarting,
    ManagedInstance_CurrentAction_Resuming,
    ManagedInstance_CurrentAction_Starting,
    ManagedInstance_CurrentAction_Stopping,
    ManagedInstance_CurrentAction_Suspending,
    ManagedInstance_CurrentAction_Verifying,
    ManagedInstance_CurrentAction
    #-}
  
  -- | [Output Only] The status of the instance. This field is empty when the instance does not exist.
  newtype ManagedInstance_InstanceStatus = ManagedInstance_InstanceStatus {fromManagedInstance_InstanceStatus :: 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 instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.
  pattern ManagedInstance_InstanceStatus_Deprovisioning :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Deprovisioning = ManagedInstance_InstanceStatus "DEPROVISIONING"
  
  -- | Resources are being allocated for the instance.
  pattern ManagedInstance_InstanceStatus_Provisioning :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Provisioning = ManagedInstance_InstanceStatus "PROVISIONING"
  
  -- | The instance is in repair.
  pattern ManagedInstance_InstanceStatus_Repairing :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Repairing = ManagedInstance_InstanceStatus "REPAIRING"
  
  -- | The instance is running.
  pattern ManagedInstance_InstanceStatus_Running :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Running = ManagedInstance_InstanceStatus "RUNNING"
  
  -- | All required resources have been allocated and the instance is being started.
  pattern ManagedInstance_InstanceStatus_Staging :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Staging = ManagedInstance_InstanceStatus "STAGING"
  
  -- | The instance has stopped successfully.
  pattern ManagedInstance_InstanceStatus_Stopped :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Stopped = ManagedInstance_InstanceStatus "STOPPED"
  
  -- | The instance is currently stopping (either being deleted or killed).
  pattern ManagedInstance_InstanceStatus_Stopping :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Stopping = ManagedInstance_InstanceStatus "STOPPING"
  
  -- | The instance has suspended.
  pattern ManagedInstance_InstanceStatus_Suspended :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Suspended = ManagedInstance_InstanceStatus "SUSPENDED"
  
  -- | The instance is suspending.
  pattern ManagedInstance_InstanceStatus_Suspending :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Suspending = ManagedInstance_InstanceStatus "SUSPENDING"
  
  -- | The instance has stopped (either by explicit action or underlying failure).
  pattern ManagedInstance_InstanceStatus_Terminated :: ManagedInstance_InstanceStatus
  pattern ManagedInstance_InstanceStatus_Terminated = ManagedInstance_InstanceStatus "TERMINATED"
  
  {-# COMPLETE
    ManagedInstance_InstanceStatus_Deprovisioning,
    ManagedInstance_InstanceStatus_Provisioning,
    ManagedInstance_InstanceStatus_Repairing,
    ManagedInstance_InstanceStatus_Running,
    ManagedInstance_InstanceStatus_Staging,
    ManagedInstance_InstanceStatus_Stopped,
    ManagedInstance_InstanceStatus_Stopping,
    ManagedInstance_InstanceStatus_Suspended,
    ManagedInstance_InstanceStatus_Suspending,
    ManagedInstance_InstanceStatus_Terminated,
    ManagedInstance_InstanceStatus
    #-}
  
  -- | [Output Only] The current detailed instance health state.
  newtype ManagedInstanceInstanceHealth_DetailedHealthState = ManagedInstanceInstanceHealth_DetailedHealthState {fromManagedInstanceInstanceHealth_DetailedHealthState :: 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 instance is being drained. The existing connections to the instance have time to complete, but the new ones are being refused.
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Draining :: ManagedInstanceInstanceHealth_DetailedHealthState
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Draining = ManagedInstanceInstanceHealth_DetailedHealthState "DRAINING"
  
  -- | The instance is reachable i.e. a connection to the application health checking endpoint can be established, and conforms to the requirements defined by the health check.
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Healthy :: ManagedInstanceInstanceHealth_DetailedHealthState
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Healthy = ManagedInstanceInstanceHealth_DetailedHealthState "HEALTHY"
  
  -- | The instance is unreachable i.e. a connection to the application health checking endpoint cannot be established, or the server does not respond within the specified timeout.
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Timeout :: ManagedInstanceInstanceHealth_DetailedHealthState
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Timeout = ManagedInstanceInstanceHealth_DetailedHealthState "TIMEOUT"
  
  -- | The instance is reachable, but does not conform to the requirements defined by the health check.
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Unhealthy :: ManagedInstanceInstanceHealth_DetailedHealthState
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Unhealthy = ManagedInstanceInstanceHealth_DetailedHealthState "UNHEALTHY"
  
  -- | The health checking system is aware of the instance but its health is not known at the moment.
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Unknown :: ManagedInstanceInstanceHealth_DetailedHealthState
  pattern ManagedInstanceInstanceHealth_DetailedHealthState_Unknown = ManagedInstanceInstanceHealth_DetailedHealthState "UNKNOWN"
  
  {-# COMPLETE
    ManagedInstanceInstanceHealth_DetailedHealthState_Draining,
    ManagedInstanceInstanceHealth_DetailedHealthState_Healthy,
    ManagedInstanceInstanceHealth_DetailedHealthState_Timeout,
    ManagedInstanceInstanceHealth_DetailedHealthState_Unhealthy,
    ManagedInstanceInstanceHealth_DetailedHealthState_Unknown,
    ManagedInstanceInstanceHealth_DetailedHealthState
    #-}
  
  -- | Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH/ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH/ALL: all filterLabels must have matching labels in the provided metadata.
  newtype MetadataFilter_FilterMatchCriteria = MetadataFilter_FilterMatchCriteria {fromMetadataFilter_FilterMatchCriteria :: 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
      )
  
  -- | Specifies that all filterLabels must match for the metadataFilter to be considered a match.
  pattern MetadataFilter_FilterMatchCriteria_MATCHALL :: MetadataFilter_FilterMatchCriteria
  pattern MetadataFilter_FilterMatchCriteria_MATCHALL = MetadataFilter_FilterMatchCriteria "MATCH_ALL"
  
  -- | Specifies that any filterLabel must match for the metadataFilter to be considered a match.
  pattern MetadataFilter_FilterMatchCriteria_MATCHANY :: MetadataFilter_FilterMatchCriteria
  pattern MetadataFilter_FilterMatchCriteria_MATCHANY = MetadataFilter_FilterMatchCriteria "MATCH_ANY"
  
  -- | Indicates that the match criteria was not set. A metadataFilter must never be created with this value.
  pattern MetadataFilter_FilterMatchCriteria_NOTSET :: MetadataFilter_FilterMatchCriteria
  pattern MetadataFilter_FilterMatchCriteria_NOTSET = MetadataFilter_FilterMatchCriteria "NOT_SET"
  
  {-# COMPLETE
    MetadataFilter_FilterMatchCriteria_MATCHALL,
    MetadataFilter_FilterMatchCriteria_MATCHANY,
    MetadataFilter_FilterMatchCriteria_NOTSET,
    MetadataFilter_FilterMatchCriteria
    #-}
  
  -- | Specifies whether NAT IP is auto or manual.
  newtype NatIpInfoNatIpInfoMapping_Mode = NatIpInfoNatIpInfoMapping_Mode {fromNatIpInfoNatIpInfoMapping_Mode :: 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
      )
  
  pattern NatIpInfoNatIpInfoMapping_Mode_Auto :: NatIpInfoNatIpInfoMapping_Mode
  pattern NatIpInfoNatIpInfoMapping_Mode_Auto = NatIpInfoNatIpInfoMapping_Mode "AUTO"
  
  pattern NatIpInfoNatIpInfoMapping_Mode_Manual :: NatIpInfoNatIpInfoMapping_Mode
  pattern NatIpInfoNatIpInfoMapping_Mode_Manual = NatIpInfoNatIpInfoMapping_Mode "MANUAL"
  
  {-# COMPLETE
    NatIpInfoNatIpInfoMapping_Mode_Auto,
    NatIpInfoNatIpInfoMapping_Mode_Manual,
    NatIpInfoNatIpInfoMapping_Mode
    #-}
  
  -- | Specifies whether NAT IP is currently serving at least one endpoint or not.
  newtype NatIpInfoNatIpInfoMapping_Usage = NatIpInfoNatIpInfoMapping_Usage {fromNatIpInfoNatIpInfoMapping_Usage :: 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
      )
  
  pattern NatIpInfoNatIpInfoMapping_Usage_INUSE :: NatIpInfoNatIpInfoMapping_Usage
  pattern NatIpInfoNatIpInfoMapping_Usage_INUSE = NatIpInfoNatIpInfoMapping_Usage "IN_USE"
  
  pattern NatIpInfoNatIpInfoMapping_Usage_Unused :: NatIpInfoNatIpInfoMapping_Usage
  pattern NatIpInfoNatIpInfoMapping_Usage_Unused = NatIpInfoNatIpInfoMapping_Usage "UNUSED"
  
  {-# COMPLETE
    NatIpInfoNatIpInfoMapping_Usage_INUSE,
    NatIpInfoNatIpInfoMapping_Usage_Unused,
    NatIpInfoNatIpInfoMapping_Usage
    #-}
  
  -- | The network firewall policy enforcement order. Can be either AFTER/CLASSIC/FIREWALL or BEFORE/CLASSIC/FIREWALL. Defaults to AFTER/CLASSIC/FIREWALL if the field is not specified.
  newtype Network_NetworkFirewallPolicyEnforcementOrder = Network_NetworkFirewallPolicyEnforcementOrder {fromNetwork_NetworkFirewallPolicyEnforcementOrder :: 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
      )
  
  pattern Network_NetworkFirewallPolicyEnforcementOrder_AFTERCLASSICFIREWALL :: Network_NetworkFirewallPolicyEnforcementOrder
  pattern Network_NetworkFirewallPolicyEnforcementOrder_AFTERCLASSICFIREWALL = Network_NetworkFirewallPolicyEnforcementOrder "AFTER_CLASSIC_FIREWALL"
  
  pattern Network_NetworkFirewallPolicyEnforcementOrder_BEFORECLASSICFIREWALL :: Network_NetworkFirewallPolicyEnforcementOrder
  pattern Network_NetworkFirewallPolicyEnforcementOrder_BEFORECLASSICFIREWALL = Network_NetworkFirewallPolicyEnforcementOrder "BEFORE_CLASSIC_FIREWALL"
  
  {-# COMPLETE
    Network_NetworkFirewallPolicyEnforcementOrder_AFTERCLASSICFIREWALL,
    Network_NetworkFirewallPolicyEnforcementOrder_BEFORECLASSICFIREWALL,
    Network_NetworkFirewallPolicyEnforcementOrder
    #-}
  
  newtype NetworkAttachment_ConnectionPreference = NetworkAttachment_ConnectionPreference {fromNetworkAttachment_ConnectionPreference :: 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
      )
  
  pattern NetworkAttachment_ConnectionPreference_ACCEPTAUTOMATIC :: NetworkAttachment_ConnectionPreference
  pattern NetworkAttachment_ConnectionPreference_ACCEPTAUTOMATIC = NetworkAttachment_ConnectionPreference "ACCEPT_AUTOMATIC"
  
  pattern NetworkAttachment_ConnectionPreference_ACCEPTMANUAL :: NetworkAttachment_ConnectionPreference
  pattern NetworkAttachment_ConnectionPreference_ACCEPTMANUAL = NetworkAttachment_ConnectionPreference "ACCEPT_MANUAL"
  
  pattern NetworkAttachment_ConnectionPreference_Invalid :: NetworkAttachment_ConnectionPreference
  pattern NetworkAttachment_ConnectionPreference_Invalid = NetworkAttachment_ConnectionPreference "INVALID"
  
  {-# COMPLETE
    NetworkAttachment_ConnectionPreference_ACCEPTAUTOMATIC,
    NetworkAttachment_ConnectionPreference_ACCEPTMANUAL,
    NetworkAttachment_ConnectionPreference_Invalid,
    NetworkAttachment_ConnectionPreference
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkAttachmentAggregatedList_Warning_Code = NetworkAttachmentAggregatedList_Warning_Code {fromNetworkAttachmentAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkAttachmentAggregatedList_Warning_Code_CLEANUPFAILED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_CLEANUPFAILED = NetworkAttachmentAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkAttachmentAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkAttachmentAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkAttachmentAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkAttachmentAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING = NetworkAttachmentAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkAttachmentAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkAttachmentAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkAttachmentAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkAttachmentAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkAttachmentAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkAttachmentAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkAttachmentAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR = NetworkAttachmentAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE = NetworkAttachmentAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS = NetworkAttachmentAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkAttachmentAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkAttachmentAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkAttachmentAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED = NetworkAttachmentAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkAttachmentAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkAttachmentAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkAttachmentAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkAttachmentAggregatedList_Warning_Code_Unreachable :: NetworkAttachmentAggregatedList_Warning_Code
  pattern NetworkAttachmentAggregatedList_Warning_Code_Unreachable = NetworkAttachmentAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
    NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
    NetworkAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
    NetworkAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
    NetworkAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NetworkAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkAttachmentAggregatedList_Warning_Code_Unreachable,
    NetworkAttachmentAggregatedList_Warning_Code
    #-}
  
  -- | The status of a connected endpoint to this network attachment.
  newtype NetworkAttachmentConnectedEndpoint_Status = NetworkAttachmentConnectedEndpoint_Status {fromNetworkAttachmentConnectedEndpoint_Status :: 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 consumer allows traffic from the producer to reach its VPC.
  pattern NetworkAttachmentConnectedEndpoint_Status_Accepted :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_Accepted = NetworkAttachmentConnectedEndpoint_Status "ACCEPTED"
  
  -- | The consumer network attachment no longer exists.
  pattern NetworkAttachmentConnectedEndpoint_Status_Closed :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_Closed = NetworkAttachmentConnectedEndpoint_Status "CLOSED"
  
  -- | The consumer needs to take further action before traffic can be served.
  pattern NetworkAttachmentConnectedEndpoint_Status_NEEDSATTENTION :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_NEEDSATTENTION = NetworkAttachmentConnectedEndpoint_Status "NEEDS_ATTENTION"
  
  -- | The consumer neither allows nor prohibits traffic from the producer to reach its VPC.
  pattern NetworkAttachmentConnectedEndpoint_Status_Pending :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_Pending = NetworkAttachmentConnectedEndpoint_Status "PENDING"
  
  -- | The consumer prohibits traffic from the producer to reach its VPC.
  pattern NetworkAttachmentConnectedEndpoint_Status_Rejected :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_Rejected = NetworkAttachmentConnectedEndpoint_Status "REJECTED"
  
  pattern NetworkAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED :: NetworkAttachmentConnectedEndpoint_Status
  pattern NetworkAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED = NetworkAttachmentConnectedEndpoint_Status "STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    NetworkAttachmentConnectedEndpoint_Status_Accepted,
    NetworkAttachmentConnectedEndpoint_Status_Closed,
    NetworkAttachmentConnectedEndpoint_Status_NEEDSATTENTION,
    NetworkAttachmentConnectedEndpoint_Status_Pending,
    NetworkAttachmentConnectedEndpoint_Status_Rejected,
    NetworkAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED,
    NetworkAttachmentConnectedEndpoint_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkAttachmentList_Warning_Code = NetworkAttachmentList_Warning_Code {fromNetworkAttachmentList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkAttachmentList_Warning_Code_CLEANUPFAILED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_CLEANUPFAILED = NetworkAttachmentList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkAttachmentList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkAttachmentList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_DEPRECATEDTYPEUSED = NetworkAttachmentList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkAttachmentList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkAttachmentList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkAttachmentList_Warning_Code_EXTERNALAPIWARNING :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_EXTERNALAPIWARNING = NetworkAttachmentList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkAttachmentList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkAttachmentList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkAttachmentList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkAttachmentList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkAttachmentList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkAttachmentList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkAttachmentList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkAttachmentList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NEXTHOPNOTRUNNING = NetworkAttachmentList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkAttachmentList_Warning_Code_NOTCRITICALERROR :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NOTCRITICALERROR = NetworkAttachmentList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkAttachmentList_Warning_Code_NORESULTSONPAGE :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_NORESULTSONPAGE = NetworkAttachmentList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkAttachmentList_Warning_Code_PARTIALSUCCESS :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_PARTIALSUCCESS = NetworkAttachmentList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkAttachmentList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkAttachmentList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkAttachmentList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkAttachmentList_Warning_Code_RESOURCENOTDELETED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_RESOURCENOTDELETED = NetworkAttachmentList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkAttachmentList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkAttachmentList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkAttachmentList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_UNDECLAREDPROPERTIES = NetworkAttachmentList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkAttachmentList_Warning_Code_Unreachable :: NetworkAttachmentList_Warning_Code
  pattern NetworkAttachmentList_Warning_Code_Unreachable = NetworkAttachmentList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkAttachmentList_Warning_Code_CLEANUPFAILED,
    NetworkAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkAttachmentList_Warning_Code_EXTERNALAPIWARNING,
    NetworkAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkAttachmentList_Warning_Code_NOTCRITICALERROR,
    NetworkAttachmentList_Warning_Code_NORESULTSONPAGE,
    NetworkAttachmentList_Warning_Code_PARTIALSUCCESS,
    NetworkAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkAttachmentList_Warning_Code_RESOURCENOTDELETED,
    NetworkAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkAttachmentList_Warning_Code_Unreachable,
    NetworkAttachmentList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkAttachmentsScopedList_Warning_Code = NetworkAttachmentsScopedList_Warning_Code {fromNetworkAttachmentsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkAttachmentsScopedList_Warning_Code_CLEANUPFAILED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_CLEANUPFAILED = NetworkAttachmentsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkAttachmentsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkAttachmentsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkAttachmentsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkAttachmentsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING = NetworkAttachmentsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkAttachmentsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkAttachmentsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkAttachmentsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkAttachmentsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkAttachmentsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkAttachmentsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkAttachmentsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkAttachmentsScopedList_Warning_Code_NOTCRITICALERROR :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NOTCRITICALERROR = NetworkAttachmentsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkAttachmentsScopedList_Warning_Code_NORESULTSONPAGE :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_NORESULTSONPAGE = NetworkAttachmentsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkAttachmentsScopedList_Warning_Code_PARTIALSUCCESS :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_PARTIALSUCCESS = NetworkAttachmentsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkAttachmentsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkAttachmentsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkAttachmentsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED = NetworkAttachmentsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkAttachmentsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkAttachmentsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkAttachmentsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkAttachmentsScopedList_Warning_Code_Unreachable :: NetworkAttachmentsScopedList_Warning_Code
  pattern NetworkAttachmentsScopedList_Warning_Code_Unreachable = NetworkAttachmentsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
    NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
    NetworkAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
    NetworkAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
    NetworkAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
    NetworkAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkAttachmentsScopedList_Warning_Code_Unreachable,
    NetworkAttachmentsScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEdgeSecurityServiceAggregatedList_Warning_Code = NetworkEdgeSecurityServiceAggregatedList_Warning_Code {fromNetworkEdgeSecurityServiceAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_CLEANUPFAILED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_CLEANUPFAILED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NOTCRITICALERROR :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NOTCRITICALERROR = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NORESULTSONPAGE :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NORESULTSONPAGE = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_PARTIALSUCCESS :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_PARTIALSUCCESS = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCENOTDELETED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCENOTDELETED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_Unreachable :: NetworkEdgeSecurityServiceAggregatedList_Warning_Code
  pattern NetworkEdgeSecurityServiceAggregatedList_Warning_Code_Unreachable = NetworkEdgeSecurityServiceAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_CLEANUPFAILED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NOTCRITICALERROR,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_NORESULTSONPAGE,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_PARTIALSUCCESS,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code_Unreachable,
    NetworkEdgeSecurityServiceAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEdgeSecurityServicesScopedList_Warning_Code = NetworkEdgeSecurityServicesScopedList_Warning_Code {fromNetworkEdgeSecurityServicesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_CLEANUPFAILED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_CLEANUPFAILED = NetworkEdgeSecurityServicesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEdgeSecurityServicesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkEdgeSecurityServicesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEdgeSecurityServicesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEdgeSecurityServicesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_EXTERNALAPIWARNING :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_EXTERNALAPIWARNING = NetworkEdgeSecurityServicesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEdgeSecurityServicesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEdgeSecurityServicesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEdgeSecurityServicesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEdgeSecurityServicesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEdgeSecurityServicesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEdgeSecurityServicesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkEdgeSecurityServicesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NOTCRITICALERROR :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NOTCRITICALERROR = NetworkEdgeSecurityServicesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NORESULTSONPAGE :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_NORESULTSONPAGE = NetworkEdgeSecurityServicesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_PARTIALSUCCESS :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_PARTIALSUCCESS = NetworkEdgeSecurityServicesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEdgeSecurityServicesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEdgeSecurityServicesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEdgeSecurityServicesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCENOTDELETED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCENOTDELETED = NetworkEdgeSecurityServicesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEdgeSecurityServicesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEdgeSecurityServicesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkEdgeSecurityServicesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_Unreachable :: NetworkEdgeSecurityServicesScopedList_Warning_Code
  pattern NetworkEdgeSecurityServicesScopedList_Warning_Code_Unreachable = NetworkEdgeSecurityServicesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEdgeSecurityServicesScopedList_Warning_Code_CLEANUPFAILED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NOTCRITICALERROR,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_NORESULTSONPAGE,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_PARTIALSUCCESS,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_RESOURCENOTDELETED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEdgeSecurityServicesScopedList_Warning_Code_Unreachable,
    NetworkEdgeSecurityServicesScopedList_Warning_Code
    #-}
  
  -- | Type of network endpoints in this network endpoint group. Can be one of GCE/VM/IP, GCE/VM/IP/PORT, NON/GCP/PRIVATE/IP/PORT, INTERNET/FQDN/PORT, INTERNET/IP/PORT, SERVERLESS, PRIVATE/SERVICE/CONNECT, GCE/VM/IP/PORTMAP.
  newtype NetworkEndpointGroup_NetworkEndpointType = NetworkEndpointGroup_NetworkEndpointType {fromNetworkEndpointGroup_NetworkEndpointType :: 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 network endpoint is represented by an IP address.
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIP :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIP = NetworkEndpointGroup_NetworkEndpointType "GCE_VM_IP"
  
  -- | The network endpoint is represented by IP address and port pair.
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORT :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORT = NetworkEndpointGroup_NetworkEndpointType "GCE_VM_IP_PORT"
  
  -- | The network endpoint is represented by an IP, Port and Client Destination Port.
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORTMAP :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORTMAP = NetworkEndpointGroup_NetworkEndpointType "GCE_VM_IP_PORTMAP"
  
  -- | The network endpoint is represented by fully qualified domain name and port.
  pattern NetworkEndpointGroup_NetworkEndpointType_INTERNETFQDNPORT :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_INTERNETFQDNPORT = NetworkEndpointGroup_NetworkEndpointType "INTERNET_FQDN_PORT"
  
  -- | The network endpoint is represented by an internet IP address and port.
  pattern NetworkEndpointGroup_NetworkEndpointType_INTERNETIPPORT :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_INTERNETIPPORT = NetworkEndpointGroup_NetworkEndpointType "INTERNET_IP_PORT"
  
  -- | The network endpoint is represented by an IP address and port. The endpoint belongs to a VM or pod running in a customer\'s on-premises.
  pattern NetworkEndpointGroup_NetworkEndpointType_NONGCPPRIVATEIPPORT :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_NONGCPPRIVATEIPPORT = NetworkEndpointGroup_NetworkEndpointType "NON_GCP_PRIVATE_IP_PORT"
  
  -- | The network endpoint is either public Google APIs or services exposed by other GCP Project with a Service Attachment. The connection is set up by private service connect
  pattern NetworkEndpointGroup_NetworkEndpointType_PRIVATESERVICECONNECT :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_PRIVATESERVICECONNECT = NetworkEndpointGroup_NetworkEndpointType "PRIVATE_SERVICE_CONNECT"
  
  -- | The network endpoint is handled by specified serverless infrastructure.
  pattern NetworkEndpointGroup_NetworkEndpointType_Serverless :: NetworkEndpointGroup_NetworkEndpointType
  pattern NetworkEndpointGroup_NetworkEndpointType_Serverless = NetworkEndpointGroup_NetworkEndpointType "SERVERLESS"
  
  {-# COMPLETE
    NetworkEndpointGroup_NetworkEndpointType_GCEVMIP,
    NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORT,
    NetworkEndpointGroup_NetworkEndpointType_GCEVMIPPORTMAP,
    NetworkEndpointGroup_NetworkEndpointType_INTERNETFQDNPORT,
    NetworkEndpointGroup_NetworkEndpointType_INTERNETIPPORT,
    NetworkEndpointGroup_NetworkEndpointType_NONGCPPRIVATEIPPORT,
    NetworkEndpointGroup_NetworkEndpointType_PRIVATESERVICECONNECT,
    NetworkEndpointGroup_NetworkEndpointType_Serverless,
    NetworkEndpointGroup_NetworkEndpointType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEndpointGroupAggregatedList_Warning_Code = NetworkEndpointGroupAggregatedList_Warning_Code {fromNetworkEndpointGroupAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_CLEANUPFAILED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_CLEANUPFAILED = NetworkEndpointGroupAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEndpointGroupAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkEndpointGroupAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEndpointGroupAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEndpointGroupAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING = NetworkEndpointGroupAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEndpointGroupAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEndpointGroupAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEndpointGroupAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEndpointGroupAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEndpointGroupAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEndpointGroupAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkEndpointGroupAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NOTCRITICALERROR :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NOTCRITICALERROR = NetworkEndpointGroupAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NORESULTSONPAGE :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_NORESULTSONPAGE = NetworkEndpointGroupAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_PARTIALSUCCESS :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_PARTIALSUCCESS = NetworkEndpointGroupAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEndpointGroupAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEndpointGroupAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEndpointGroupAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCENOTDELETED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCENOTDELETED = NetworkEndpointGroupAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEndpointGroupAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEndpointGroupAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkEndpointGroupAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_Unreachable :: NetworkEndpointGroupAggregatedList_Warning_Code
  pattern NetworkEndpointGroupAggregatedList_Warning_Code_Unreachable = NetworkEndpointGroupAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEndpointGroupAggregatedList_Warning_Code_CLEANUPFAILED,
    NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEndpointGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEndpointGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEndpointGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEndpointGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkEndpointGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEndpointGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEndpointGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEndpointGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEndpointGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEndpointGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEndpointGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEndpointGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
    NetworkEndpointGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
    NetworkEndpointGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
    NetworkEndpointGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEndpointGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEndpointGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NetworkEndpointGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEndpointGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEndpointGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEndpointGroupAggregatedList_Warning_Code_Unreachable,
    NetworkEndpointGroupAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEndpointGroupList_Warning_Code = NetworkEndpointGroupList_Warning_Code {fromNetworkEndpointGroupList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEndpointGroupList_Warning_Code_CLEANUPFAILED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_CLEANUPFAILED = NetworkEndpointGroupList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEndpointGroupList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEndpointGroupList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEndpointGroupList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_DEPRECATEDTYPEUSED = NetworkEndpointGroupList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEndpointGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEndpointGroupList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEndpointGroupList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEndpointGroupList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEndpointGroupList_Warning_Code_EXTERNALAPIWARNING :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_EXTERNALAPIWARNING = NetworkEndpointGroupList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEndpointGroupList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEndpointGroupList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEndpointGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEndpointGroupList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEndpointGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEndpointGroupList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEndpointGroupList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEndpointGroupList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEndpointGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEndpointGroupList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEndpointGroupList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEndpointGroupList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NEXTHOPNOTRUNNING = NetworkEndpointGroupList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEndpointGroupList_Warning_Code_NOTCRITICALERROR :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NOTCRITICALERROR = NetworkEndpointGroupList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEndpointGroupList_Warning_Code_NORESULTSONPAGE :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_NORESULTSONPAGE = NetworkEndpointGroupList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEndpointGroupList_Warning_Code_PARTIALSUCCESS :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_PARTIALSUCCESS = NetworkEndpointGroupList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEndpointGroupList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEndpointGroupList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEndpointGroupList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEndpointGroupList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEndpointGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEndpointGroupList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEndpointGroupList_Warning_Code_RESOURCENOTDELETED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_RESOURCENOTDELETED = NetworkEndpointGroupList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEndpointGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEndpointGroupList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEndpointGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEndpointGroupList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEndpointGroupList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_UNDECLAREDPROPERTIES = NetworkEndpointGroupList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEndpointGroupList_Warning_Code_Unreachable :: NetworkEndpointGroupList_Warning_Code
  pattern NetworkEndpointGroupList_Warning_Code_Unreachable = NetworkEndpointGroupList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEndpointGroupList_Warning_Code_CLEANUPFAILED,
    NetworkEndpointGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEndpointGroupList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEndpointGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEndpointGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEndpointGroupList_Warning_Code_EXTERNALAPIWARNING,
    NetworkEndpointGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEndpointGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEndpointGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEndpointGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEndpointGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEndpointGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEndpointGroupList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEndpointGroupList_Warning_Code_NOTCRITICALERROR,
    NetworkEndpointGroupList_Warning_Code_NORESULTSONPAGE,
    NetworkEndpointGroupList_Warning_Code_PARTIALSUCCESS,
    NetworkEndpointGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEndpointGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEndpointGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEndpointGroupList_Warning_Code_RESOURCENOTDELETED,
    NetworkEndpointGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEndpointGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEndpointGroupList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEndpointGroupList_Warning_Code_Unreachable,
    NetworkEndpointGroupList_Warning_Code
    #-}
  
  -- | [Output Only] The connection status of the PSC Forwarding Rule.
  newtype NetworkEndpointGroupPscData_PscConnectionStatus = NetworkEndpointGroupPscData_PscConnectionStatus {fromNetworkEndpointGroupPscData_PscConnectionStatus :: 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 connection has been accepted by the producer.
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Accepted :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Accepted = NetworkEndpointGroupPscData_PscConnectionStatus "ACCEPTED"
  
  -- | The connection has been closed by the producer and will not serve traffic going forward.
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Closed :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Closed = NetworkEndpointGroupPscData_PscConnectionStatus "CLOSED"
  
  -- | The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_NEEDSATTENTION :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_NEEDSATTENTION = NetworkEndpointGroupPscData_PscConnectionStatus "NEEDS_ATTENTION"
  
  -- | The connection is pending acceptance by the producer.
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Pending :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Pending = NetworkEndpointGroupPscData_PscConnectionStatus "PENDING"
  
  -- | The connection has been rejected by the producer.
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Rejected :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_Rejected = NetworkEndpointGroupPscData_PscConnectionStatus "REJECTED"
  
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_STATUSUNSPECIFIED :: NetworkEndpointGroupPscData_PscConnectionStatus
  pattern NetworkEndpointGroupPscData_PscConnectionStatus_STATUSUNSPECIFIED = NetworkEndpointGroupPscData_PscConnectionStatus "STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    NetworkEndpointGroupPscData_PscConnectionStatus_Accepted,
    NetworkEndpointGroupPscData_PscConnectionStatus_Closed,
    NetworkEndpointGroupPscData_PscConnectionStatus_NEEDSATTENTION,
    NetworkEndpointGroupPscData_PscConnectionStatus_Pending,
    NetworkEndpointGroupPscData_PscConnectionStatus_Rejected,
    NetworkEndpointGroupPscData_PscConnectionStatus_STATUSUNSPECIFIED,
    NetworkEndpointGroupPscData_PscConnectionStatus
    #-}
  
  -- | Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don\'t specify this parameter, the health status of network endpoints will not be provided.
  newtype NetworkEndpointGroupsListEndpointsRequest_HealthStatus = NetworkEndpointGroupsListEndpointsRequest_HealthStatus {fromNetworkEndpointGroupsListEndpointsRequest_HealthStatus :: 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
      )
  
  -- | Show the health status for each network endpoint. Impacts latency of the call.
  pattern NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Show :: NetworkEndpointGroupsListEndpointsRequest_HealthStatus
  pattern NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Show = NetworkEndpointGroupsListEndpointsRequest_HealthStatus "SHOW"
  
  -- | Health status for network endpoints will not be provided.
  pattern NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Skip :: NetworkEndpointGroupsListEndpointsRequest_HealthStatus
  pattern NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Skip = NetworkEndpointGroupsListEndpointsRequest_HealthStatus "SKIP"
  
  {-# COMPLETE
    NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Show,
    NetworkEndpointGroupsListEndpointsRequest_HealthStatus_Skip,
    NetworkEndpointGroupsListEndpointsRequest_HealthStatus
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEndpointGroupsListNetworkEndpoints_Warning_Code = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code {fromNetworkEndpointGroupsListNetworkEndpoints_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_CLEANUPFAILED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_CLEANUPFAILED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDTYPEUSED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXTERNALAPIWARNING :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXTERNALAPIWARNING = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPNOTRUNNING = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NOTCRITICALERROR :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NOTCRITICALERROR = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NORESULTSONPAGE :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NORESULTSONPAGE = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_PARTIALSUCCESS :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_PARTIALSUCCESS = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCENOTDELETED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCENOTDELETED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_UNDECLAREDPROPERTIES = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_Unreachable :: NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
  pattern NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_Unreachable = NetworkEndpointGroupsListNetworkEndpoints_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_CLEANUPFAILED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_EXTERNALAPIWARNING,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NOTCRITICALERROR,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_NORESULTSONPAGE,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_PARTIALSUCCESS,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_RESOURCENOTDELETED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code_Unreachable,
    NetworkEndpointGroupsListNetworkEndpoints_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkEndpointGroupsScopedList_Warning_Code = NetworkEndpointGroupsScopedList_Warning_Code {fromNetworkEndpointGroupsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_CLEANUPFAILED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_CLEANUPFAILED = NetworkEndpointGroupsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkEndpointGroupsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkEndpointGroupsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkEndpointGroupsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkEndpointGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkEndpointGroupsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkEndpointGroupsScopedList_Warning_Code_EXTERNALAPIWARNING :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_EXTERNALAPIWARNING = NetworkEndpointGroupsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkEndpointGroupsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkEndpointGroupsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkEndpointGroupsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkEndpointGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkEndpointGroupsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkEndpointGroupsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkEndpointGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkEndpointGroupsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkEndpointGroupsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NOTCRITICALERROR :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NOTCRITICALERROR = NetworkEndpointGroupsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NORESULTSONPAGE :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_NORESULTSONPAGE = NetworkEndpointGroupsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkEndpointGroupsScopedList_Warning_Code_PARTIALSUCCESS :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_PARTIALSUCCESS = NetworkEndpointGroupsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkEndpointGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkEndpointGroupsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkEndpointGroupsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkEndpointGroupsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_RESOURCENOTDELETED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_RESOURCENOTDELETED = NetworkEndpointGroupsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkEndpointGroupsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkEndpointGroupsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkEndpointGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkEndpointGroupsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkEndpointGroupsScopedList_Warning_Code_Unreachable :: NetworkEndpointGroupsScopedList_Warning_Code
  pattern NetworkEndpointGroupsScopedList_Warning_Code_Unreachable = NetworkEndpointGroupsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkEndpointGroupsScopedList_Warning_Code_CLEANUPFAILED,
    NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkEndpointGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkEndpointGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkEndpointGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkEndpointGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkEndpointGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkEndpointGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkEndpointGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkEndpointGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkEndpointGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkEndpointGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkEndpointGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkEndpointGroupsScopedList_Warning_Code_NOTCRITICALERROR,
    NetworkEndpointGroupsScopedList_Warning_Code_NORESULTSONPAGE,
    NetworkEndpointGroupsScopedList_Warning_Code_PARTIALSUCCESS,
    NetworkEndpointGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkEndpointGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkEndpointGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkEndpointGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
    NetworkEndpointGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkEndpointGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkEndpointGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkEndpointGroupsScopedList_Warning_Code_Unreachable,
    NetworkEndpointGroupsScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkFirewallPolicyAggregatedList_Warning_Code = NetworkFirewallPolicyAggregatedList_Warning_Code {fromNetworkFirewallPolicyAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_CLEANUPFAILED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_CLEANUPFAILED = NetworkFirewallPolicyAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkFirewallPolicyAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NetworkFirewallPolicyAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkFirewallPolicyAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkFirewallPolicyAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING = NetworkFirewallPolicyAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkFirewallPolicyAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkFirewallPolicyAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkFirewallPolicyAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkFirewallPolicyAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkFirewallPolicyAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkFirewallPolicyAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NetworkFirewallPolicyAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NOTCRITICALERROR :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NOTCRITICALERROR = NetworkFirewallPolicyAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NORESULTSONPAGE :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_NORESULTSONPAGE = NetworkFirewallPolicyAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_PARTIALSUCCESS :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_PARTIALSUCCESS = NetworkFirewallPolicyAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkFirewallPolicyAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkFirewallPolicyAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkFirewallPolicyAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCENOTDELETED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCENOTDELETED = NetworkFirewallPolicyAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkFirewallPolicyAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkFirewallPolicyAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NetworkFirewallPolicyAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_Unreachable :: NetworkFirewallPolicyAggregatedList_Warning_Code
  pattern NetworkFirewallPolicyAggregatedList_Warning_Code_Unreachable = NetworkFirewallPolicyAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkFirewallPolicyAggregatedList_Warning_Code_CLEANUPFAILED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkFirewallPolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NetworkFirewallPolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkFirewallPolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkFirewallPolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkFirewallPolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NOTCRITICALERROR,
    NetworkFirewallPolicyAggregatedList_Warning_Code_NORESULTSONPAGE,
    NetworkFirewallPolicyAggregatedList_Warning_Code_PARTIALSUCCESS,
    NetworkFirewallPolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkFirewallPolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkFirewallPolicyAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkFirewallPolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkFirewallPolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkFirewallPolicyAggregatedList_Warning_Code_Unreachable,
    NetworkFirewallPolicyAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.
  newtype NetworkInterface_Ipv6AccessType = NetworkInterface_Ipv6AccessType {fromNetworkInterface_Ipv6AccessType :: 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
      )
  
  -- | This network interface can have external IPv6.
  pattern NetworkInterface_Ipv6AccessType_External :: NetworkInterface_Ipv6AccessType
  pattern NetworkInterface_Ipv6AccessType_External = NetworkInterface_Ipv6AccessType "EXTERNAL"
  
  -- | This network interface can have internal IPv6.
  pattern NetworkInterface_Ipv6AccessType_Internal :: NetworkInterface_Ipv6AccessType
  pattern NetworkInterface_Ipv6AccessType_Internal = NetworkInterface_Ipv6AccessType "INTERNAL"
  
  {-# COMPLETE
    NetworkInterface_Ipv6AccessType_External,
    NetworkInterface_Ipv6AccessType_Internal,
    NetworkInterface_Ipv6AccessType
    #-}
  
  -- | The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
  newtype NetworkInterface_NicType = NetworkInterface_NicType {fromNetworkInterface_NicType :: 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
      )
  
  -- | GVNIC
  pattern NetworkInterface_NicType_Gvnic :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_Gvnic = NetworkInterface_NicType "GVNIC"
  
  -- | IDPF
  pattern NetworkInterface_NicType_Idpf :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_Idpf = NetworkInterface_NicType "IDPF"
  
  -- | IRDMA
  pattern NetworkInterface_NicType_Irdma :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_Irdma = NetworkInterface_NicType "IRDMA"
  
  -- | MRDMA
  pattern NetworkInterface_NicType_Mrdma :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_Mrdma = NetworkInterface_NicType "MRDMA"
  
  -- | No type specified.
  pattern NetworkInterface_NicType_UNSPECIFIEDNICTYPE :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_UNSPECIFIEDNICTYPE = NetworkInterface_NicType "UNSPECIFIED_NIC_TYPE"
  
  -- | VIRTIO
  pattern NetworkInterface_NicType_VIRTIONET :: NetworkInterface_NicType
  pattern NetworkInterface_NicType_VIRTIONET = NetworkInterface_NicType "VIRTIO_NET"
  
  {-# COMPLETE
    NetworkInterface_NicType_Gvnic,
    NetworkInterface_NicType_Idpf,
    NetworkInterface_NicType_Irdma,
    NetworkInterface_NicType_Mrdma,
    NetworkInterface_NicType_UNSPECIFIEDNICTYPE,
    NetworkInterface_NicType_VIRTIONET,
    NetworkInterface_NicType
    #-}
  
  -- | The stack type for this network interface. To assign only IPv4 addresses, use IPV4/ONLY. To assign both IPv4 and IPv6 addresses, use IPV4/IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.
  newtype NetworkInterface_StackType = NetworkInterface_StackType {fromNetworkInterface_StackType :: 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 network interface can have both IPv4 and IPv6 addresses.
  pattern NetworkInterface_StackType_IPV4_IPV6 :: NetworkInterface_StackType
  pattern NetworkInterface_StackType_IPV4_IPV6 = NetworkInterface_StackType "IPV4_IPV6"
  
  -- | The network interface will only be assigned IPv4 addresses.
  pattern NetworkInterface_StackType_IPV4ONLY :: NetworkInterface_StackType
  pattern NetworkInterface_StackType_IPV4ONLY = NetworkInterface_StackType "IPV4_ONLY"
  
  -- | The network interface will only be assigned IPv6 addresses.
  pattern NetworkInterface_StackType_IPV6ONLY :: NetworkInterface_StackType
  pattern NetworkInterface_StackType_IPV6ONLY = NetworkInterface_StackType "IPV6_ONLY"
  
  {-# COMPLETE
    NetworkInterface_StackType_IPV4_IPV6,
    NetworkInterface_StackType_IPV4ONLY,
    NetworkInterface_StackType_IPV6ONLY,
    NetworkInterface_StackType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkList_Warning_Code = NetworkList_Warning_Code {fromNetworkList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkList_Warning_Code_CLEANUPFAILED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_CLEANUPFAILED = NetworkList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkList_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkList_Warning_Code_DEPRECATEDTYPEUSED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_DEPRECATEDTYPEUSED = NetworkList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkList_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_EXPERIMENTALTYPEUSED = NetworkList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkList_Warning_Code_EXTERNALAPIWARNING :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_EXTERNALAPIWARNING = NetworkList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkList_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_FIELDVALUEOVERRIDEN = NetworkList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkList_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkList_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkList_Warning_Code_NEXTHOPNOTRUNNING :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NEXTHOPNOTRUNNING = NetworkList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkList_Warning_Code_NOTCRITICALERROR :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NOTCRITICALERROR = NetworkList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkList_Warning_Code_NORESULTSONPAGE :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_NORESULTSONPAGE = NetworkList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkList_Warning_Code_PARTIALSUCCESS :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_PARTIALSUCCESS = NetworkList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkList_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkList_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_REQUIREDTOSAGREEMENT = NetworkList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkList_Warning_Code_RESOURCENOTDELETED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_RESOURCENOTDELETED = NetworkList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkList_Warning_Code_UNDECLAREDPROPERTIES :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_UNDECLAREDPROPERTIES = NetworkList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkList_Warning_Code_Unreachable :: NetworkList_Warning_Code
  pattern NetworkList_Warning_Code_Unreachable = NetworkList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkList_Warning_Code_CLEANUPFAILED,
    NetworkList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkList_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkList_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkList_Warning_Code_EXTERNALAPIWARNING,
    NetworkList_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkList_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkList_Warning_Code_NOTCRITICALERROR,
    NetworkList_Warning_Code_NORESULTSONPAGE,
    NetworkList_Warning_Code_PARTIALSUCCESS,
    NetworkList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkList_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkList_Warning_Code_RESOURCENOTDELETED,
    NetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkList_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkList_Warning_Code_Unreachable,
    NetworkList_Warning_Code
    #-}
  
  -- | Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY.
  newtype NetworkPeering_StackType = NetworkPeering_StackType {fromNetworkPeering_StackType :: 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
      )
  
  -- | This Peering will allow IPv4 traffic and routes to be exchanged. Additionally if the matching peering is IPV4_IPV6, IPv6 traffic and routes will be exchanged as well.
  pattern NetworkPeering_StackType_IPV4_IPV6 :: NetworkPeering_StackType
  pattern NetworkPeering_StackType_IPV4_IPV6 = NetworkPeering_StackType "IPV4_IPV6"
  
  -- | This Peering will only allow IPv4 traffic and routes to be exchanged, even if the matching peering is IPV4_IPV6.
  pattern NetworkPeering_StackType_IPV4ONLY :: NetworkPeering_StackType
  pattern NetworkPeering_StackType_IPV4ONLY = NetworkPeering_StackType "IPV4_ONLY"
  
  {-# COMPLETE
    NetworkPeering_StackType_IPV4_IPV6,
    NetworkPeering_StackType_IPV4ONLY,
    NetworkPeering_StackType
    #-}
  
  -- | [Output Only] State for the peering, either @ACTIVE@ or @INACTIVE@. The peering is @ACTIVE@ when there\'s a matching configuration in the peer network.
  newtype NetworkPeering_State = NetworkPeering_State {fromNetworkPeering_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
      )
  
  -- | Matching configuration exists on the peer.
  pattern NetworkPeering_State_Active :: NetworkPeering_State
  pattern NetworkPeering_State_Active = NetworkPeering_State "ACTIVE"
  
  -- | There is no matching configuration on the peer, including the case when peer does not exist.
  pattern NetworkPeering_State_Inactive :: NetworkPeering_State
  pattern NetworkPeering_State_Inactive = NetworkPeering_State "INACTIVE"
  
  {-# COMPLETE
    NetworkPeering_State_Active,
    NetworkPeering_State_Inactive,
    NetworkPeering_State
    #-}
  
  newtype NetworkPerformanceConfig_TotalEgressBandwidthTier = NetworkPerformanceConfig_TotalEgressBandwidthTier {fromNetworkPerformanceConfig_TotalEgressBandwidthTier :: 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
      )
  
  pattern NetworkPerformanceConfig_TotalEgressBandwidthTier_Default :: NetworkPerformanceConfig_TotalEgressBandwidthTier
  pattern NetworkPerformanceConfig_TotalEgressBandwidthTier_Default = NetworkPerformanceConfig_TotalEgressBandwidthTier "DEFAULT"
  
  pattern NetworkPerformanceConfig_TotalEgressBandwidthTier_TIER_1 :: NetworkPerformanceConfig_TotalEgressBandwidthTier
  pattern NetworkPerformanceConfig_TotalEgressBandwidthTier_TIER_1 = NetworkPerformanceConfig_TotalEgressBandwidthTier "TIER_1"
  
  {-# COMPLETE
    NetworkPerformanceConfig_TotalEgressBandwidthTier_Default,
    NetworkPerformanceConfig_TotalEgressBandwidthTier_TIER_1,
    NetworkPerformanceConfig_TotalEgressBandwidthTier
    #-}
  
  newtype NetworkProfileLocation_Scope = NetworkProfileLocation_Scope {fromNetworkProfileLocation_Scope :: 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
      )
  
  pattern NetworkProfileLocation_Scope_Region :: NetworkProfileLocation_Scope
  pattern NetworkProfileLocation_Scope_Region = NetworkProfileLocation_Scope "REGION"
  
  pattern NetworkProfileLocation_Scope_Zone :: NetworkProfileLocation_Scope
  pattern NetworkProfileLocation_Scope_Zone = NetworkProfileLocation_Scope "ZONE"
  
  {-# COMPLETE
    NetworkProfileLocation_Scope_Region,
    NetworkProfileLocation_Scope_Zone,
    NetworkProfileLocation_Scope
    #-}
  
  newtype NetworkProfileNetworkFeatures_AddressPurposesItem = NetworkProfileNetworkFeatures_AddressPurposesItem {fromNetworkProfileNetworkFeatures_AddressPurposesItem :: 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
      )
  
  -- | DNS resolver address in the subnetwork.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_DNSRESOLVER :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_DNSRESOLVER = NetworkProfileNetworkFeatures_AddressPurposesItem "DNS_RESOLVER"
  
  -- | VM internal\/alias IP, Internal LB service IP, etc.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_GCEENDPOINT :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_GCEENDPOINT = NetworkProfileNetworkFeatures_AddressPurposesItem "GCE_ENDPOINT"
  
  -- | A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet\/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_IPSECINTERCONNECT :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_IPSECINTERCONNECT = NetworkProfileNetworkFeatures_AddressPurposesItem "IPSEC_INTERCONNECT"
  
  -- | External IP automatically reserved for Cloud NAT.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_NATAUTO :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_NATAUTO = NetworkProfileNetworkFeatures_AddressPurposesItem "NAT_AUTO"
  
  -- | A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_PRIVATESERVICECONNECT :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_PRIVATESERVICECONNECT = NetworkProfileNetworkFeatures_AddressPurposesItem "PRIVATE_SERVICE_CONNECT"
  
  -- | A regional internal IP address range reserved for Serverless.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_Serverless :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_Serverless = NetworkProfileNetworkFeatures_AddressPurposesItem "SERVERLESS"
  
  -- | A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_SHAREDLOADBALANCERVIP :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_SHAREDLOADBALANCERVIP = NetworkProfileNetworkFeatures_AddressPurposesItem "SHARED_LOADBALANCER_VIP"
  
  -- | IP range for peer networks.
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_VPCPEERING :: NetworkProfileNetworkFeatures_AddressPurposesItem
  pattern NetworkProfileNetworkFeatures_AddressPurposesItem_VPCPEERING = NetworkProfileNetworkFeatures_AddressPurposesItem "VPC_PEERING"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AddressPurposesItem_DNSRESOLVER,
    NetworkProfileNetworkFeatures_AddressPurposesItem_GCEENDPOINT,
    NetworkProfileNetworkFeatures_AddressPurposesItem_IPSECINTERCONNECT,
    NetworkProfileNetworkFeatures_AddressPurposesItem_NATAUTO,
    NetworkProfileNetworkFeatures_AddressPurposesItem_PRIVATESERVICECONNECT,
    NetworkProfileNetworkFeatures_AddressPurposesItem_Serverless,
    NetworkProfileNetworkFeatures_AddressPurposesItem_SHAREDLOADBALANCERVIP,
    NetworkProfileNetworkFeatures_AddressPurposesItem_VPCPEERING,
    NetworkProfileNetworkFeatures_AddressPurposesItem
    #-}
  
  -- | Specifies whether alias IP ranges (and secondary address ranges) are allowed.
  newtype NetworkProfileNetworkFeatures_AllowAliasIpRanges = NetworkProfileNetworkFeatures_AllowAliasIpRanges {fromNetworkProfileNetworkFeatures_AllowAliasIpRanges :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESALLOWED :: NetworkProfileNetworkFeatures_AllowAliasIpRanges
  pattern NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESALLOWED = NetworkProfileNetworkFeatures_AllowAliasIpRanges "ALIAS_IP_RANGES_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESBLOCKED :: NetworkProfileNetworkFeatures_AllowAliasIpRanges
  pattern NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESBLOCKED = NetworkProfileNetworkFeatures_AllowAliasIpRanges "ALIAS_IP_RANGES_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESALLOWED,
    NetworkProfileNetworkFeatures_AllowAliasIpRanges_ALIASIPRANGESBLOCKED,
    NetworkProfileNetworkFeatures_AllowAliasIpRanges
    #-}
  
  -- | Specifies whether auto mode subnet creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowAutoModeSubnet = NetworkProfileNetworkFeatures_AllowAutoModeSubnet {fromNetworkProfileNetworkFeatures_AllowAutoModeSubnet :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETALLOWED :: NetworkProfileNetworkFeatures_AllowAutoModeSubnet
  pattern NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETALLOWED = NetworkProfileNetworkFeatures_AllowAutoModeSubnet "AUTO_MODE_SUBNET_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETBLOCKED :: NetworkProfileNetworkFeatures_AllowAutoModeSubnet
  pattern NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETBLOCKED = NetworkProfileNetworkFeatures_AllowAutoModeSubnet "AUTO_MODE_SUBNET_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETALLOWED,
    NetworkProfileNetworkFeatures_AllowAutoModeSubnet_AUTOMODESUBNETBLOCKED,
    NetworkProfileNetworkFeatures_AllowAutoModeSubnet
    #-}
  
  -- | Specifies whether firewalls for Class D address ranges are supported.
  newtype NetworkProfileNetworkFeatures_AllowClassDFirewalls = NetworkProfileNetworkFeatures_AllowClassDFirewalls {fromNetworkProfileNetworkFeatures_AllowClassDFirewalls :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSALLOWED :: NetworkProfileNetworkFeatures_AllowClassDFirewalls
  pattern NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSALLOWED = NetworkProfileNetworkFeatures_AllowClassDFirewalls "CLASS_D_FIREWALLS_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSBLOCKED :: NetworkProfileNetworkFeatures_AllowClassDFirewalls
  pattern NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSBLOCKED = NetworkProfileNetworkFeatures_AllowClassDFirewalls "CLASS_D_FIREWALLS_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSALLOWED,
    NetworkProfileNetworkFeatures_AllowClassDFirewalls_CLASSDFIREWALLSBLOCKED,
    NetworkProfileNetworkFeatures_AllowClassDFirewalls
    #-}
  
  -- | Specifies whether cloud NAT creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowCloudNat = NetworkProfileNetworkFeatures_AllowCloudNat {fromNetworkProfileNetworkFeatures_AllowCloudNat :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATALLOWED :: NetworkProfileNetworkFeatures_AllowCloudNat
  pattern NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATALLOWED = NetworkProfileNetworkFeatures_AllowCloudNat "CLOUD_NAT_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATBLOCKED :: NetworkProfileNetworkFeatures_AllowCloudNat
  pattern NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATBLOCKED = NetworkProfileNetworkFeatures_AllowCloudNat "CLOUD_NAT_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATALLOWED,
    NetworkProfileNetworkFeatures_AllowCloudNat_CLOUDNATBLOCKED,
    NetworkProfileNetworkFeatures_AllowCloudNat
    #-}
  
  -- | Specifies whether cloud router creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowCloudRouter = NetworkProfileNetworkFeatures_AllowCloudRouter {fromNetworkProfileNetworkFeatures_AllowCloudRouter :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERALLOWED :: NetworkProfileNetworkFeatures_AllowCloudRouter
  pattern NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERALLOWED = NetworkProfileNetworkFeatures_AllowCloudRouter "CLOUD_ROUTER_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERBLOCKED :: NetworkProfileNetworkFeatures_AllowCloudRouter
  pattern NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERBLOCKED = NetworkProfileNetworkFeatures_AllowCloudRouter "CLOUD_ROUTER_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERALLOWED,
    NetworkProfileNetworkFeatures_AllowCloudRouter_CLOUDROUTERBLOCKED,
    NetworkProfileNetworkFeatures_AllowCloudRouter
    #-}
  
  -- | Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.
  newtype NetworkProfileNetworkFeatures_AllowExternalIpAccess = NetworkProfileNetworkFeatures_AllowExternalIpAccess {fromNetworkProfileNetworkFeatures_AllowExternalIpAccess :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSALLOWED :: NetworkProfileNetworkFeatures_AllowExternalIpAccess
  pattern NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSALLOWED = NetworkProfileNetworkFeatures_AllowExternalIpAccess "EXTERNAL_IP_ACCESS_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSBLOCKED :: NetworkProfileNetworkFeatures_AllowExternalIpAccess
  pattern NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSBLOCKED = NetworkProfileNetworkFeatures_AllowExternalIpAccess "EXTERNAL_IP_ACCESS_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSALLOWED,
    NetworkProfileNetworkFeatures_AllowExternalIpAccess_EXTERNALIPACCESSBLOCKED,
    NetworkProfileNetworkFeatures_AllowExternalIpAccess
    #-}
  
  -- | Specifies whether Cloud Interconnect creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowInterconnect = NetworkProfileNetworkFeatures_AllowInterconnect {fromNetworkProfileNetworkFeatures_AllowInterconnect :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTALLOWED :: NetworkProfileNetworkFeatures_AllowInterconnect
  pattern NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTALLOWED = NetworkProfileNetworkFeatures_AllowInterconnect "INTERCONNECT_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTBLOCKED :: NetworkProfileNetworkFeatures_AllowInterconnect
  pattern NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTBLOCKED = NetworkProfileNetworkFeatures_AllowInterconnect "INTERCONNECT_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTALLOWED,
    NetworkProfileNetworkFeatures_AllowInterconnect_INTERCONNECTBLOCKED,
    NetworkProfileNetworkFeatures_AllowInterconnect
    #-}
  
  -- | Specifies whether cloud load balancing is allowed.
  newtype NetworkProfileNetworkFeatures_AllowLoadBalancing = NetworkProfileNetworkFeatures_AllowLoadBalancing {fromNetworkProfileNetworkFeatures_AllowLoadBalancing :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGALLOWED :: NetworkProfileNetworkFeatures_AllowLoadBalancing
  pattern NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGALLOWED = NetworkProfileNetworkFeatures_AllowLoadBalancing "LOAD_BALANCING_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGBLOCKED :: NetworkProfileNetworkFeatures_AllowLoadBalancing
  pattern NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGBLOCKED = NetworkProfileNetworkFeatures_AllowLoadBalancing "LOAD_BALANCING_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGALLOWED,
    NetworkProfileNetworkFeatures_AllowLoadBalancing_LOADBALANCINGBLOCKED,
    NetworkProfileNetworkFeatures_AllowLoadBalancing
    #-}
  
  -- | Specifies whether multi-nic in the same network is allowed.
  newtype NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork = NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork {fromNetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKALLOWED :: NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork
  pattern NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKALLOWED = NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork "MULTI_NIC_IN_SAME_NETWORK_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKBLOCKED :: NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork
  pattern NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKBLOCKED = NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork "MULTI_NIC_IN_SAME_NETWORK_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKALLOWED,
    NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork_MULTINICINSAMENETWORKBLOCKED,
    NetworkProfileNetworkFeatures_AllowMultiNicInSameNetwork
    #-}
  
  -- | Specifies whether Packet Mirroring 1.0 is supported.
  newtype NetworkProfileNetworkFeatures_AllowPacketMirroring = NetworkProfileNetworkFeatures_AllowPacketMirroring {fromNetworkProfileNetworkFeatures_AllowPacketMirroring :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGALLOWED :: NetworkProfileNetworkFeatures_AllowPacketMirroring
  pattern NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGALLOWED = NetworkProfileNetworkFeatures_AllowPacketMirroring "PACKET_MIRRORING_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGBLOCKED :: NetworkProfileNetworkFeatures_AllowPacketMirroring
  pattern NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGBLOCKED = NetworkProfileNetworkFeatures_AllowPacketMirroring "PACKET_MIRRORING_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGALLOWED,
    NetworkProfileNetworkFeatures_AllowPacketMirroring_PACKETMIRRORINGBLOCKED,
    NetworkProfileNetworkFeatures_AllowPacketMirroring
    #-}
  
  -- | Specifies whether private Google access is allowed.
  newtype NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess = NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess {fromNetworkProfileNetworkFeatures_AllowPrivateGoogleAccess :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSALLOWED :: NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess
  pattern NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSALLOWED = NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess "PRIVATE_GOOGLE_ACCESS_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSBLOCKED :: NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess
  pattern NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSBLOCKED = NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess "PRIVATE_GOOGLE_ACCESS_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSALLOWED,
    NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess_PRIVATEGOOGLEACCESSBLOCKED,
    NetworkProfileNetworkFeatures_AllowPrivateGoogleAccess
    #-}
  
  -- | Specifies whether PSC creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowPsc = NetworkProfileNetworkFeatures_AllowPsc {fromNetworkProfileNetworkFeatures_AllowPsc :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowPsc_PSCALLOWED :: NetworkProfileNetworkFeatures_AllowPsc
  pattern NetworkProfileNetworkFeatures_AllowPsc_PSCALLOWED = NetworkProfileNetworkFeatures_AllowPsc "PSC_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowPsc_PSCBLOCKED :: NetworkProfileNetworkFeatures_AllowPsc
  pattern NetworkProfileNetworkFeatures_AllowPsc_PSCBLOCKED = NetworkProfileNetworkFeatures_AllowPsc "PSC_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowPsc_PSCALLOWED,
    NetworkProfileNetworkFeatures_AllowPsc_PSCBLOCKED,
    NetworkProfileNetworkFeatures_AllowPsc
    #-}
  
  -- | Specifies whether unicast within the same network is allowed.
  newtype NetworkProfileNetworkFeatures_AllowSameNetworkUnicast = NetworkProfileNetworkFeatures_AllowSameNetworkUnicast {fromNetworkProfileNetworkFeatures_AllowSameNetworkUnicast :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTALLOWED :: NetworkProfileNetworkFeatures_AllowSameNetworkUnicast
  pattern NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTALLOWED = NetworkProfileNetworkFeatures_AllowSameNetworkUnicast "SAME_NETWORK_UNICAST_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTBLOCKED :: NetworkProfileNetworkFeatures_AllowSameNetworkUnicast
  pattern NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTBLOCKED = NetworkProfileNetworkFeatures_AllowSameNetworkUnicast "SAME_NETWORK_UNICAST_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTALLOWED,
    NetworkProfileNetworkFeatures_AllowSameNetworkUnicast_SAMENETWORKUNICASTBLOCKED,
    NetworkProfileNetworkFeatures_AllowSameNetworkUnicast
    #-}
  
  -- | Specifies whether static route creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowStaticRoutes = NetworkProfileNetworkFeatures_AllowStaticRoutes {fromNetworkProfileNetworkFeatures_AllowStaticRoutes :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESALLOWED :: NetworkProfileNetworkFeatures_AllowStaticRoutes
  pattern NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESALLOWED = NetworkProfileNetworkFeatures_AllowStaticRoutes "STATIC_ROUTES_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESBLOCKED :: NetworkProfileNetworkFeatures_AllowStaticRoutes
  pattern NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESBLOCKED = NetworkProfileNetworkFeatures_AllowStaticRoutes "STATIC_ROUTES_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESALLOWED,
    NetworkProfileNetworkFeatures_AllowStaticRoutes_STATICROUTESBLOCKED,
    NetworkProfileNetworkFeatures_AllowStaticRoutes
    #-}
  
  -- | Specifies whether sub interfaces are allowed.
  newtype NetworkProfileNetworkFeatures_AllowSubInterfaces = NetworkProfileNetworkFeatures_AllowSubInterfaces {fromNetworkProfileNetworkFeatures_AllowSubInterfaces :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESALLOWED :: NetworkProfileNetworkFeatures_AllowSubInterfaces
  pattern NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESALLOWED = NetworkProfileNetworkFeatures_AllowSubInterfaces "SUBINTERFACES_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESBLOCKED :: NetworkProfileNetworkFeatures_AllowSubInterfaces
  pattern NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESBLOCKED = NetworkProfileNetworkFeatures_AllowSubInterfaces "SUBINTERFACES_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESALLOWED,
    NetworkProfileNetworkFeatures_AllowSubInterfaces_SUBINTERFACESBLOCKED,
    NetworkProfileNetworkFeatures_AllowSubInterfaces
    #-}
  
  -- | Specifies whether VPC peering is allowed.
  newtype NetworkProfileNetworkFeatures_AllowVpcPeering = NetworkProfileNetworkFeatures_AllowVpcPeering {fromNetworkProfileNetworkFeatures_AllowVpcPeering :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGALLOWED :: NetworkProfileNetworkFeatures_AllowVpcPeering
  pattern NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGALLOWED = NetworkProfileNetworkFeatures_AllowVpcPeering "VPC_PEERING_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGBLOCKED :: NetworkProfileNetworkFeatures_AllowVpcPeering
  pattern NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGBLOCKED = NetworkProfileNetworkFeatures_AllowVpcPeering "VPC_PEERING_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGALLOWED,
    NetworkProfileNetworkFeatures_AllowVpcPeering_VPCPEERINGBLOCKED,
    NetworkProfileNetworkFeatures_AllowVpcPeering
    #-}
  
  -- | Specifies whether VPN creation is allowed.
  newtype NetworkProfileNetworkFeatures_AllowVpn = NetworkProfileNetworkFeatures_AllowVpn {fromNetworkProfileNetworkFeatures_AllowVpn :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_AllowVpn_VPNALLOWED :: NetworkProfileNetworkFeatures_AllowVpn
  pattern NetworkProfileNetworkFeatures_AllowVpn_VPNALLOWED = NetworkProfileNetworkFeatures_AllowVpn "VPN_ALLOWED"
  
  pattern NetworkProfileNetworkFeatures_AllowVpn_VPNBLOCKED :: NetworkProfileNetworkFeatures_AllowVpn
  pattern NetworkProfileNetworkFeatures_AllowVpn_VPNBLOCKED = NetworkProfileNetworkFeatures_AllowVpn "VPN_BLOCKED"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_AllowVpn_VPNALLOWED,
    NetworkProfileNetworkFeatures_AllowVpn_VPNBLOCKED,
    NetworkProfileNetworkFeatures_AllowVpn
    #-}
  
  newtype NetworkProfileNetworkFeatures_InterfaceTypesItem = NetworkProfileNetworkFeatures_InterfaceTypesItem {fromNetworkProfileNetworkFeatures_InterfaceTypesItem :: 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
      )
  
  -- | GVNIC
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Gvnic :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Gvnic = NetworkProfileNetworkFeatures_InterfaceTypesItem "GVNIC"
  
  -- | IDPF
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Idpf :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Idpf = NetworkProfileNetworkFeatures_InterfaceTypesItem "IDPF"
  
  -- | IRDMA
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Irdma :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Irdma = NetworkProfileNetworkFeatures_InterfaceTypesItem "IRDMA"
  
  -- | MRDMA
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Mrdma :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_Mrdma = NetworkProfileNetworkFeatures_InterfaceTypesItem "MRDMA"
  
  -- | No type specified.
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_UNSPECIFIEDNICTYPE :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_UNSPECIFIEDNICTYPE = NetworkProfileNetworkFeatures_InterfaceTypesItem "UNSPECIFIED_NIC_TYPE"
  
  -- | VIRTIO
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_VIRTIONET :: NetworkProfileNetworkFeatures_InterfaceTypesItem
  pattern NetworkProfileNetworkFeatures_InterfaceTypesItem_VIRTIONET = NetworkProfileNetworkFeatures_InterfaceTypesItem "VIRTIO_NET"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_InterfaceTypesItem_Gvnic,
    NetworkProfileNetworkFeatures_InterfaceTypesItem_Idpf,
    NetworkProfileNetworkFeatures_InterfaceTypesItem_Irdma,
    NetworkProfileNetworkFeatures_InterfaceTypesItem_Mrdma,
    NetworkProfileNetworkFeatures_InterfaceTypesItem_UNSPECIFIEDNICTYPE,
    NetworkProfileNetworkFeatures_InterfaceTypesItem_VIRTIONET,
    NetworkProfileNetworkFeatures_InterfaceTypesItem
    #-}
  
  newtype NetworkProfileNetworkFeatures_SubnetPurposesItem = NetworkProfileNetworkFeatures_SubnetPurposesItem {fromNetworkProfileNetworkFeatures_SubnetPurposesItem :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSECUSTOMHARDWARE :: NetworkProfileNetworkFeatures_SubnetPurposesItem
  pattern NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSECUSTOMHARDWARE = NetworkProfileNetworkFeatures_SubnetPurposesItem "SUBNET_PURPOSE_CUSTOM_HARDWARE"
  
  pattern NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSEPRIVATE :: NetworkProfileNetworkFeatures_SubnetPurposesItem
  pattern NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSEPRIVATE = NetworkProfileNetworkFeatures_SubnetPurposesItem "SUBNET_PURPOSE_PRIVATE"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSECUSTOMHARDWARE,
    NetworkProfileNetworkFeatures_SubnetPurposesItem_SUBNETPURPOSEPRIVATE,
    NetworkProfileNetworkFeatures_SubnetPurposesItem
    #-}
  
  newtype NetworkProfileNetworkFeatures_SubnetStackTypesItem = NetworkProfileNetworkFeatures_SubnetStackTypesItem {fromNetworkProfileNetworkFeatures_SubnetStackTypesItem :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNET_STACK_TYPE_IPV4_IPV6 :: NetworkProfileNetworkFeatures_SubnetStackTypesItem
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNET_STACK_TYPE_IPV4_IPV6 = NetworkProfileNetworkFeatures_SubnetStackTypesItem "SUBNET_STACK_TYPE_IPV4_IPV6"
  
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV4ONLY :: NetworkProfileNetworkFeatures_SubnetStackTypesItem
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV4ONLY = NetworkProfileNetworkFeatures_SubnetStackTypesItem "SUBNET_STACK_TYPE_IPV4_ONLY"
  
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV6ONLY :: NetworkProfileNetworkFeatures_SubnetStackTypesItem
  pattern NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV6ONLY = NetworkProfileNetworkFeatures_SubnetStackTypesItem "SUBNET_STACK_TYPE_IPV6_ONLY"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNET_STACK_TYPE_IPV4_IPV6,
    NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV4ONLY,
    NetworkProfileNetworkFeatures_SubnetStackTypesItem_SUBNETSTACKTYPEIPV6ONLY,
    NetworkProfileNetworkFeatures_SubnetStackTypesItem
    #-}
  
  -- | Specifies which type of unicast is supported.
  newtype NetworkProfileNetworkFeatures_Unicast = NetworkProfileNetworkFeatures_Unicast {fromNetworkProfileNetworkFeatures_Unicast :: 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
      )
  
  pattern NetworkProfileNetworkFeatures_Unicast_UNICASTSDN :: NetworkProfileNetworkFeatures_Unicast
  pattern NetworkProfileNetworkFeatures_Unicast_UNICASTSDN = NetworkProfileNetworkFeatures_Unicast "UNICAST_SDN"
  
  pattern NetworkProfileNetworkFeatures_Unicast_UNICASTULL :: NetworkProfileNetworkFeatures_Unicast
  pattern NetworkProfileNetworkFeatures_Unicast_UNICASTULL = NetworkProfileNetworkFeatures_Unicast "UNICAST_ULL"
  
  {-# COMPLETE
    NetworkProfileNetworkFeatures_Unicast_UNICASTSDN,
    NetworkProfileNetworkFeatures_Unicast_UNICASTULL,
    NetworkProfileNetworkFeatures_Unicast
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NetworkProfilesListResponse_Warning_Code = NetworkProfilesListResponse_Warning_Code {fromNetworkProfilesListResponse_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NetworkProfilesListResponse_Warning_Code_CLEANUPFAILED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_CLEANUPFAILED = NetworkProfilesListResponse_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NetworkProfilesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED = NetworkProfilesListResponse_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NetworkProfilesListResponse_Warning_Code_DEPRECATEDTYPEUSED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_DEPRECATEDTYPEUSED = NetworkProfilesListResponse_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NetworkProfilesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NetworkProfilesListResponse_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NetworkProfilesListResponse_Warning_Code_EXPERIMENTALTYPEUSED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_EXPERIMENTALTYPEUSED = NetworkProfilesListResponse_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NetworkProfilesListResponse_Warning_Code_EXTERNALAPIWARNING :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_EXTERNALAPIWARNING = NetworkProfilesListResponse_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NetworkProfilesListResponse_Warning_Code_FIELDVALUEOVERRIDEN :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_FIELDVALUEOVERRIDEN = NetworkProfilesListResponse_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NetworkProfilesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED = NetworkProfilesListResponse_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NetworkProfilesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NetworkProfilesListResponse_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NetworkProfilesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING = NetworkProfilesListResponse_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NetworkProfilesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED = NetworkProfilesListResponse_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NetworkProfilesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY = NetworkProfilesListResponse_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPNOTRUNNING :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NEXTHOPNOTRUNNING = NetworkProfilesListResponse_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NetworkProfilesListResponse_Warning_Code_NOTCRITICALERROR :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NOTCRITICALERROR = NetworkProfilesListResponse_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NetworkProfilesListResponse_Warning_Code_NORESULTSONPAGE :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_NORESULTSONPAGE = NetworkProfilesListResponse_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NetworkProfilesListResponse_Warning_Code_PARTIALSUCCESS :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_PARTIALSUCCESS = NetworkProfilesListResponse_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NetworkProfilesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE = NetworkProfilesListResponse_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NetworkProfilesListResponse_Warning_Code_REQUIREDTOSAGREEMENT :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_REQUIREDTOSAGREEMENT = NetworkProfilesListResponse_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NetworkProfilesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NetworkProfilesListResponse_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NetworkProfilesListResponse_Warning_Code_RESOURCENOTDELETED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_RESOURCENOTDELETED = NetworkProfilesListResponse_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NetworkProfilesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED = NetworkProfilesListResponse_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NetworkProfilesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NetworkProfilesListResponse_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NetworkProfilesListResponse_Warning_Code_UNDECLAREDPROPERTIES :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_UNDECLAREDPROPERTIES = NetworkProfilesListResponse_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NetworkProfilesListResponse_Warning_Code_Unreachable :: NetworkProfilesListResponse_Warning_Code
  pattern NetworkProfilesListResponse_Warning_Code_Unreachable = NetworkProfilesListResponse_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NetworkProfilesListResponse_Warning_Code_CLEANUPFAILED,
    NetworkProfilesListResponse_Warning_Code_DEPRECATEDRESOURCEUSED,
    NetworkProfilesListResponse_Warning_Code_DEPRECATEDTYPEUSED,
    NetworkProfilesListResponse_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NetworkProfilesListResponse_Warning_Code_EXPERIMENTALTYPEUSED,
    NetworkProfilesListResponse_Warning_Code_EXTERNALAPIWARNING,
    NetworkProfilesListResponse_Warning_Code_FIELDVALUEOVERRIDEN,
    NetworkProfilesListResponse_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NetworkProfilesListResponse_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NetworkProfilesListResponse_Warning_Code_LARGEDEPLOYMENTWARNING,
    NetworkProfilesListResponse_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NetworkProfilesListResponse_Warning_Code_MISSINGTYPEDEPENDENCY,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NetworkProfilesListResponse_Warning_Code_NEXTHOPNOTRUNNING,
    NetworkProfilesListResponse_Warning_Code_NOTCRITICALERROR,
    NetworkProfilesListResponse_Warning_Code_NORESULTSONPAGE,
    NetworkProfilesListResponse_Warning_Code_PARTIALSUCCESS,
    NetworkProfilesListResponse_Warning_Code_QUOTAINFOUNAVAILABLE,
    NetworkProfilesListResponse_Warning_Code_REQUIREDTOSAGREEMENT,
    NetworkProfilesListResponse_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NetworkProfilesListResponse_Warning_Code_RESOURCENOTDELETED,
    NetworkProfilesListResponse_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NetworkProfilesListResponse_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NetworkProfilesListResponse_Warning_Code_UNDECLAREDPROPERTIES,
    NetworkProfilesListResponse_Warning_Code_Unreachable,
    NetworkProfilesListResponse_Warning_Code
    #-}
  
  -- | The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.
  newtype NetworkRoutingConfig_BgpBestPathSelectionMode = NetworkRoutingConfig_BgpBestPathSelectionMode {fromNetworkRoutingConfig_BgpBestPathSelectionMode :: 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
      )
  
  pattern NetworkRoutingConfig_BgpBestPathSelectionMode_Legacy :: NetworkRoutingConfig_BgpBestPathSelectionMode
  pattern NetworkRoutingConfig_BgpBestPathSelectionMode_Legacy = NetworkRoutingConfig_BgpBestPathSelectionMode "LEGACY"
  
  pattern NetworkRoutingConfig_BgpBestPathSelectionMode_Standard :: NetworkRoutingConfig_BgpBestPathSelectionMode
  pattern NetworkRoutingConfig_BgpBestPathSelectionMode_Standard = NetworkRoutingConfig_BgpBestPathSelectionMode "STANDARD"
  
  {-# COMPLETE
    NetworkRoutingConfig_BgpBestPathSelectionMode_Legacy,
    NetworkRoutingConfig_BgpBestPathSelectionMode_Standard,
    NetworkRoutingConfig_BgpBestPathSelectionMode
    #-}
  
  -- | Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD/COST/TO_MED.
  newtype NetworkRoutingConfig_BgpInterRegionCost = NetworkRoutingConfig_BgpInterRegionCost {fromNetworkRoutingConfig_BgpInterRegionCost :: 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
      )
  
  pattern NetworkRoutingConfig_BgpInterRegionCost_ADDCOSTTOMED :: NetworkRoutingConfig_BgpInterRegionCost
  pattern NetworkRoutingConfig_BgpInterRegionCost_ADDCOSTTOMED = NetworkRoutingConfig_BgpInterRegionCost "ADD_COST_TO_MED"
  
  pattern NetworkRoutingConfig_BgpInterRegionCost_Default :: NetworkRoutingConfig_BgpInterRegionCost
  pattern NetworkRoutingConfig_BgpInterRegionCost_Default = NetworkRoutingConfig_BgpInterRegionCost "DEFAULT"
  
  {-# COMPLETE
    NetworkRoutingConfig_BgpInterRegionCost_ADDCOSTTOMED,
    NetworkRoutingConfig_BgpInterRegionCost_Default,
    NetworkRoutingConfig_BgpInterRegionCost
    #-}
  
  -- | [Output Only] Effective value of the bgp/inter/region_cost field.
  newtype NetworkRoutingConfig_EffectiveBgpInterRegionCost = NetworkRoutingConfig_EffectiveBgpInterRegionCost {fromNetworkRoutingConfig_EffectiveBgpInterRegionCost :: 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
      )
  
  pattern NetworkRoutingConfig_EffectiveBgpInterRegionCost_ADDCOSTTOMED :: NetworkRoutingConfig_EffectiveBgpInterRegionCost
  pattern NetworkRoutingConfig_EffectiveBgpInterRegionCost_ADDCOSTTOMED = NetworkRoutingConfig_EffectiveBgpInterRegionCost "ADD_COST_TO_MED"
  
  pattern NetworkRoutingConfig_EffectiveBgpInterRegionCost_Default :: NetworkRoutingConfig_EffectiveBgpInterRegionCost
  pattern NetworkRoutingConfig_EffectiveBgpInterRegionCost_Default = NetworkRoutingConfig_EffectiveBgpInterRegionCost "DEFAULT"
  
  {-# COMPLETE
    NetworkRoutingConfig_EffectiveBgpInterRegionCost_ADDCOSTTOMED,
    NetworkRoutingConfig_EffectiveBgpInterRegionCost_Default,
    NetworkRoutingConfig_EffectiveBgpInterRegionCost
    #-}
  
  -- | The network-wide routing mode to use. If set to REGIONAL, this network\'s Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network\'s Cloud Routers will advertise routes with all subnets of this network, across regions.
  newtype NetworkRoutingConfig_RoutingMode = NetworkRoutingConfig_RoutingMode {fromNetworkRoutingConfig_RoutingMode :: 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
      )
  
  pattern NetworkRoutingConfig_RoutingMode_Global :: NetworkRoutingConfig_RoutingMode
  pattern NetworkRoutingConfig_RoutingMode_Global = NetworkRoutingConfig_RoutingMode "GLOBAL"
  
  pattern NetworkRoutingConfig_RoutingMode_Regional :: NetworkRoutingConfig_RoutingMode
  pattern NetworkRoutingConfig_RoutingMode_Regional = NetworkRoutingConfig_RoutingMode "REGIONAL"
  
  {-# COMPLETE
    NetworkRoutingConfig_RoutingMode_Global,
    NetworkRoutingConfig_RoutingMode_Regional,
    NetworkRoutingConfig_RoutingMode
    #-}
  
  -- | [Output Only] The type of the firewall policy.
  newtype NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type {fromNetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type :: 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
      )
  
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy :: NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "HIERARCHY"
  
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network :: NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "NETWORK"
  
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_System :: NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_System = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "SYSTEM"
  
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified :: NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "UNSPECIFIED"
  
  {-# COMPLETE
    NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
    NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
    NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_System,
    NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
    NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
    #-}
  
  -- | Specifies the frequency of planned maintenance events. The accepted values are: @AS_NEEDED@ and @RECURRENT@.
  newtype NodeGroup_MaintenanceInterval = NodeGroup_MaintenanceInterval {fromNodeGroup_MaintenanceInterval :: 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
      )
  
  -- | VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.
  pattern NodeGroup_MaintenanceInterval_ASNEEDED :: NodeGroup_MaintenanceInterval
  pattern NodeGroup_MaintenanceInterval_ASNEEDED = NodeGroup_MaintenanceInterval "AS_NEEDED"
  
  -- | VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs.
  pattern NodeGroup_MaintenanceInterval_Recurrent :: NodeGroup_MaintenanceInterval
  pattern NodeGroup_MaintenanceInterval_Recurrent = NodeGroup_MaintenanceInterval "RECURRENT"
  
  {-# COMPLETE
    NodeGroup_MaintenanceInterval_ASNEEDED,
    NodeGroup_MaintenanceInterval_Recurrent,
    NodeGroup_MaintenanceInterval
    #-}
  
  -- | Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART/IN/PLACE, or MIGRATE/WITHIN/NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies.
  newtype NodeGroup_MaintenancePolicy = NodeGroup_MaintenancePolicy {fromNodeGroup_MaintenancePolicy :: 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
      )
  
  -- | Allow the node and corresponding instances to retain default maintenance behavior.
  pattern NodeGroup_MaintenancePolicy_Default :: NodeGroup_MaintenancePolicy
  pattern NodeGroup_MaintenancePolicy_Default = NodeGroup_MaintenancePolicy "DEFAULT"
  
  pattern NodeGroup_MaintenancePolicy_MAINTENANCEPOLICYUNSPECIFIED :: NodeGroup_MaintenancePolicy
  pattern NodeGroup_MaintenancePolicy_MAINTENANCEPOLICYUNSPECIFIED = NodeGroup_MaintenancePolicy "MAINTENANCE_POLICY_UNSPECIFIED"
  
  -- | When maintenance must be done on a node, the instances on that node will be moved to other nodes in the group. Instances with onHostMaintenance = MIGRATE will live migrate to their destinations while instances with onHostMaintenance = TERMINATE will terminate and then restart on their destination nodes if automaticRestart = true.
  pattern NodeGroup_MaintenancePolicy_MIGRATEWITHINNODEGROUP :: NodeGroup_MaintenancePolicy
  pattern NodeGroup_MaintenancePolicy_MIGRATEWITHINNODEGROUP = NodeGroup_MaintenancePolicy "MIGRATE_WITHIN_NODE_GROUP"
  
  -- | Instances in this group will restart on the same node when maintenance has completed. Instances must have onHostMaintenance = TERMINATE, and they will only restart if automaticRestart = true.
  pattern NodeGroup_MaintenancePolicy_RESTARTINPLACE :: NodeGroup_MaintenancePolicy
  pattern NodeGroup_MaintenancePolicy_RESTARTINPLACE = NodeGroup_MaintenancePolicy "RESTART_IN_PLACE"
  
  {-# COMPLETE
    NodeGroup_MaintenancePolicy_Default,
    NodeGroup_MaintenancePolicy_MAINTENANCEPOLICYUNSPECIFIED,
    NodeGroup_MaintenancePolicy_MIGRATEWITHINNODEGROUP,
    NodeGroup_MaintenancePolicy_RESTARTINPLACE,
    NodeGroup_MaintenancePolicy
    #-}
  
  newtype NodeGroup_Status = NodeGroup_Status {fromNodeGroup_Status :: 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
      )
  
  pattern NodeGroup_Status_Creating :: NodeGroup_Status
  pattern NodeGroup_Status_Creating = NodeGroup_Status "CREATING"
  
  pattern NodeGroup_Status_Deleting :: NodeGroup_Status
  pattern NodeGroup_Status_Deleting = NodeGroup_Status "DELETING"
  
  pattern NodeGroup_Status_Invalid :: NodeGroup_Status
  pattern NodeGroup_Status_Invalid = NodeGroup_Status "INVALID"
  
  pattern NodeGroup_Status_Ready :: NodeGroup_Status
  pattern NodeGroup_Status_Ready = NodeGroup_Status "READY"
  
  {-# COMPLETE
    NodeGroup_Status_Creating,
    NodeGroup_Status_Deleting,
    NodeGroup_Status_Invalid,
    NodeGroup_Status_Ready,
    NodeGroup_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeGroupAggregatedList_Warning_Code = NodeGroupAggregatedList_Warning_Code {fromNodeGroupAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeGroupAggregatedList_Warning_Code_CLEANUPFAILED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_CLEANUPFAILED = NodeGroupAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeGroupAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NodeGroupAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeGroupAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeGroupAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING = NodeGroupAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeGroupAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeGroupAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeGroupAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeGroupAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeGroupAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeGroupAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NodeGroupAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeGroupAggregatedList_Warning_Code_NOTCRITICALERROR :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NOTCRITICALERROR = NodeGroupAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeGroupAggregatedList_Warning_Code_NORESULTSONPAGE :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_NORESULTSONPAGE = NodeGroupAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeGroupAggregatedList_Warning_Code_PARTIALSUCCESS :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_PARTIALSUCCESS = NodeGroupAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeGroupAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeGroupAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeGroupAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeGroupAggregatedList_Warning_Code_RESOURCENOTDELETED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_RESOURCENOTDELETED = NodeGroupAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeGroupAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeGroupAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NodeGroupAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeGroupAggregatedList_Warning_Code_Unreachable :: NodeGroupAggregatedList_Warning_Code
  pattern NodeGroupAggregatedList_Warning_Code_Unreachable = NodeGroupAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeGroupAggregatedList_Warning_Code_CLEANUPFAILED,
    NodeGroupAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeGroupAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeGroupAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeGroupAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeGroupAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NodeGroupAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeGroupAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeGroupAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeGroupAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeGroupAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeGroupAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeGroupAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeGroupAggregatedList_Warning_Code_NOTCRITICALERROR,
    NodeGroupAggregatedList_Warning_Code_NORESULTSONPAGE,
    NodeGroupAggregatedList_Warning_Code_PARTIALSUCCESS,
    NodeGroupAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeGroupAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeGroupAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeGroupAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NodeGroupAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeGroupAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeGroupAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeGroupAggregatedList_Warning_Code_Unreachable,
    NodeGroupAggregatedList_Warning_Code
    #-}
  
  -- | The autoscaling mode. Set to one of: ON, OFF, or ONLY/SCALE/OUT. For more information, see Autoscaler modes.
  newtype NodeGroupAutoscalingPolicy_Mode = NodeGroupAutoscalingPolicy_Mode {fromNodeGroupAutoscalingPolicy_Mode :: 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
      )
  
  pattern NodeGroupAutoscalingPolicy_Mode_MODEUNSPECIFIED :: NodeGroupAutoscalingPolicy_Mode
  pattern NodeGroupAutoscalingPolicy_Mode_MODEUNSPECIFIED = NodeGroupAutoscalingPolicy_Mode "MODE_UNSPECIFIED"
  
  -- | Autoscaling is disabled.
  pattern NodeGroupAutoscalingPolicy_Mode_Off :: NodeGroupAutoscalingPolicy_Mode
  pattern NodeGroupAutoscalingPolicy_Mode_Off = NodeGroupAutoscalingPolicy_Mode "OFF"
  
  -- | Autocaling is fully enabled.
  pattern NodeGroupAutoscalingPolicy_Mode_ON :: NodeGroupAutoscalingPolicy_Mode
  pattern NodeGroupAutoscalingPolicy_Mode_ON = NodeGroupAutoscalingPolicy_Mode "ON"
  
  -- | Autoscaling will only scale out and will not remove nodes.
  pattern NodeGroupAutoscalingPolicy_Mode_ONLYSCALEOUT :: NodeGroupAutoscalingPolicy_Mode
  pattern NodeGroupAutoscalingPolicy_Mode_ONLYSCALEOUT = NodeGroupAutoscalingPolicy_Mode "ONLY_SCALE_OUT"
  
  {-# COMPLETE
    NodeGroupAutoscalingPolicy_Mode_MODEUNSPECIFIED,
    NodeGroupAutoscalingPolicy_Mode_Off,
    NodeGroupAutoscalingPolicy_Mode_ON,
    NodeGroupAutoscalingPolicy_Mode_ONLYSCALEOUT,
    NodeGroupAutoscalingPolicy_Mode
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeGroupList_Warning_Code = NodeGroupList_Warning_Code {fromNodeGroupList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeGroupList_Warning_Code_CLEANUPFAILED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_CLEANUPFAILED = NodeGroupList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeGroupList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeGroupList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeGroupList_Warning_Code_DEPRECATEDTYPEUSED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_DEPRECATEDTYPEUSED = NodeGroupList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeGroupList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeGroupList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_EXPERIMENTALTYPEUSED = NodeGroupList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeGroupList_Warning_Code_EXTERNALAPIWARNING :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_EXTERNALAPIWARNING = NodeGroupList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeGroupList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_FIELDVALUEOVERRIDEN = NodeGroupList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeGroupList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeGroupList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeGroupList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeGroupList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeGroupList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeGroupList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeGroupList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeGroupList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeGroupList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeGroupList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeGroupList_Warning_Code_NEXTHOPNOTRUNNING :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NEXTHOPNOTRUNNING = NodeGroupList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeGroupList_Warning_Code_NOTCRITICALERROR :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NOTCRITICALERROR = NodeGroupList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeGroupList_Warning_Code_NORESULTSONPAGE :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_NORESULTSONPAGE = NodeGroupList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeGroupList_Warning_Code_PARTIALSUCCESS :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_PARTIALSUCCESS = NodeGroupList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeGroupList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeGroupList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeGroupList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_REQUIREDTOSAGREEMENT = NodeGroupList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeGroupList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeGroupList_Warning_Code_RESOURCENOTDELETED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_RESOURCENOTDELETED = NodeGroupList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeGroupList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeGroupList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeGroupList_Warning_Code_UNDECLAREDPROPERTIES :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_UNDECLAREDPROPERTIES = NodeGroupList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeGroupList_Warning_Code_Unreachable :: NodeGroupList_Warning_Code
  pattern NodeGroupList_Warning_Code_Unreachable = NodeGroupList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeGroupList_Warning_Code_CLEANUPFAILED,
    NodeGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeGroupList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeGroupList_Warning_Code_EXTERNALAPIWARNING,
    NodeGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeGroupList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeGroupList_Warning_Code_NOTCRITICALERROR,
    NodeGroupList_Warning_Code_NORESULTSONPAGE,
    NodeGroupList_Warning_Code_PARTIALSUCCESS,
    NodeGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeGroupList_Warning_Code_RESOURCENOTDELETED,
    NodeGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeGroupList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeGroupList_Warning_Code_Unreachable,
    NodeGroupList_Warning_Code
    #-}
  
  -- | CPU overcommit.
  newtype NodeGroupNode_CpuOvercommitType = NodeGroupNode_CpuOvercommitType {fromNodeGroupNode_CpuOvercommitType :: 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
      )
  
  pattern NodeGroupNode_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED :: NodeGroupNode_CpuOvercommitType
  pattern NodeGroupNode_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED = NodeGroupNode_CpuOvercommitType "CPU_OVERCOMMIT_TYPE_UNSPECIFIED"
  
  pattern NodeGroupNode_CpuOvercommitType_Enabled :: NodeGroupNode_CpuOvercommitType
  pattern NodeGroupNode_CpuOvercommitType_Enabled = NodeGroupNode_CpuOvercommitType "ENABLED"
  
  pattern NodeGroupNode_CpuOvercommitType_None :: NodeGroupNode_CpuOvercommitType
  pattern NodeGroupNode_CpuOvercommitType_None = NodeGroupNode_CpuOvercommitType "NONE"
  
  {-# COMPLETE
    NodeGroupNode_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED,
    NodeGroupNode_CpuOvercommitType_Enabled,
    NodeGroupNode_CpuOvercommitType_None,
    NodeGroupNode_CpuOvercommitType
    #-}
  
  newtype NodeGroupNode_Status = NodeGroupNode_Status {fromNodeGroupNode_Status :: 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
      )
  
  pattern NodeGroupNode_Status_Creating :: NodeGroupNode_Status
  pattern NodeGroupNode_Status_Creating = NodeGroupNode_Status "CREATING"
  
  pattern NodeGroupNode_Status_Deleting :: NodeGroupNode_Status
  pattern NodeGroupNode_Status_Deleting = NodeGroupNode_Status "DELETING"
  
  pattern NodeGroupNode_Status_Invalid :: NodeGroupNode_Status
  pattern NodeGroupNode_Status_Invalid = NodeGroupNode_Status "INVALID"
  
  pattern NodeGroupNode_Status_Ready :: NodeGroupNode_Status
  pattern NodeGroupNode_Status_Ready = NodeGroupNode_Status "READY"
  
  pattern NodeGroupNode_Status_Repairing :: NodeGroupNode_Status
  pattern NodeGroupNode_Status_Repairing = NodeGroupNode_Status "REPAIRING"
  
  {-# COMPLETE
    NodeGroupNode_Status_Creating,
    NodeGroupNode_Status_Deleting,
    NodeGroupNode_Status_Invalid,
    NodeGroupNode_Status_Ready,
    NodeGroupNode_Status_Repairing,
    NodeGroupNode_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeGroupsListNodes_Warning_Code = NodeGroupsListNodes_Warning_Code {fromNodeGroupsListNodes_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeGroupsListNodes_Warning_Code_CLEANUPFAILED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_CLEANUPFAILED = NodeGroupsListNodes_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeGroupsListNodes_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_DEPRECATEDRESOURCEUSED = NodeGroupsListNodes_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeGroupsListNodes_Warning_Code_DEPRECATEDTYPEUSED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_DEPRECATEDTYPEUSED = NodeGroupsListNodes_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeGroupsListNodes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeGroupsListNodes_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeGroupsListNodes_Warning_Code_EXPERIMENTALTYPEUSED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_EXPERIMENTALTYPEUSED = NodeGroupsListNodes_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeGroupsListNodes_Warning_Code_EXTERNALAPIWARNING :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_EXTERNALAPIWARNING = NodeGroupsListNodes_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeGroupsListNodes_Warning_Code_FIELDVALUEOVERRIDEN :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_FIELDVALUEOVERRIDEN = NodeGroupsListNodes_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeGroupsListNodes_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeGroupsListNodes_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeGroupsListNodes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeGroupsListNodes_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeGroupsListNodes_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_LARGEDEPLOYMENTWARNING = NodeGroupsListNodes_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeGroupsListNodes_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeGroupsListNodes_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeGroupsListNodes_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_MISSINGTYPEDEPENDENCY = NodeGroupsListNodes_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeGroupsListNodes_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeGroupsListNodes_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeGroupsListNodes_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeGroupsListNodes_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeGroupsListNodes_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPNOTRUNNING :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NEXTHOPNOTRUNNING = NodeGroupsListNodes_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeGroupsListNodes_Warning_Code_NOTCRITICALERROR :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NOTCRITICALERROR = NodeGroupsListNodes_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeGroupsListNodes_Warning_Code_NORESULTSONPAGE :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_NORESULTSONPAGE = NodeGroupsListNodes_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeGroupsListNodes_Warning_Code_PARTIALSUCCESS :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_PARTIALSUCCESS = NodeGroupsListNodes_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeGroupsListNodes_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_QUOTAINFOUNAVAILABLE = NodeGroupsListNodes_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeGroupsListNodes_Warning_Code_REQUIREDTOSAGREEMENT :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_REQUIREDTOSAGREEMENT = NodeGroupsListNodes_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeGroupsListNodes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeGroupsListNodes_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeGroupsListNodes_Warning_Code_RESOURCENOTDELETED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_RESOURCENOTDELETED = NodeGroupsListNodes_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeGroupsListNodes_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeGroupsListNodes_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeGroupsListNodes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeGroupsListNodes_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeGroupsListNodes_Warning_Code_UNDECLAREDPROPERTIES :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_UNDECLAREDPROPERTIES = NodeGroupsListNodes_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeGroupsListNodes_Warning_Code_Unreachable :: NodeGroupsListNodes_Warning_Code
  pattern NodeGroupsListNodes_Warning_Code_Unreachable = NodeGroupsListNodes_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeGroupsListNodes_Warning_Code_CLEANUPFAILED,
    NodeGroupsListNodes_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeGroupsListNodes_Warning_Code_DEPRECATEDTYPEUSED,
    NodeGroupsListNodes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeGroupsListNodes_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeGroupsListNodes_Warning_Code_EXTERNALAPIWARNING,
    NodeGroupsListNodes_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeGroupsListNodes_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeGroupsListNodes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeGroupsListNodes_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeGroupsListNodes_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeGroupsListNodes_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeGroupsListNodes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeGroupsListNodes_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeGroupsListNodes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeGroupsListNodes_Warning_Code_NEXTHOPNOTRUNNING,
    NodeGroupsListNodes_Warning_Code_NOTCRITICALERROR,
    NodeGroupsListNodes_Warning_Code_NORESULTSONPAGE,
    NodeGroupsListNodes_Warning_Code_PARTIALSUCCESS,
    NodeGroupsListNodes_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeGroupsListNodes_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeGroupsListNodes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeGroupsListNodes_Warning_Code_RESOURCENOTDELETED,
    NodeGroupsListNodes_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeGroupsListNodes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeGroupsListNodes_Warning_Code_UNDECLAREDPROPERTIES,
    NodeGroupsListNodes_Warning_Code_Unreachable,
    NodeGroupsListNodes_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeGroupsScopedList_Warning_Code = NodeGroupsScopedList_Warning_Code {fromNodeGroupsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeGroupsScopedList_Warning_Code_CLEANUPFAILED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_CLEANUPFAILED = NodeGroupsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeGroupsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED = NodeGroupsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeGroupsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeGroupsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeGroupsScopedList_Warning_Code_EXTERNALAPIWARNING :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_EXTERNALAPIWARNING = NodeGroupsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeGroupsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeGroupsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeGroupsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeGroupsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeGroupsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeGroupsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeGroupsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeGroupsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeGroupsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING = NodeGroupsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeGroupsScopedList_Warning_Code_NOTCRITICALERROR :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NOTCRITICALERROR = NodeGroupsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeGroupsScopedList_Warning_Code_NORESULTSONPAGE :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_NORESULTSONPAGE = NodeGroupsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeGroupsScopedList_Warning_Code_PARTIALSUCCESS :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_PARTIALSUCCESS = NodeGroupsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeGroupsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeGroupsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeGroupsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeGroupsScopedList_Warning_Code_RESOURCENOTDELETED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_RESOURCENOTDELETED = NodeGroupsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeGroupsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeGroupsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES = NodeGroupsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeGroupsScopedList_Warning_Code_Unreachable :: NodeGroupsScopedList_Warning_Code
  pattern NodeGroupsScopedList_Warning_Code_Unreachable = NodeGroupsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeGroupsScopedList_Warning_Code_CLEANUPFAILED,
    NodeGroupsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeGroupsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeGroupsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeGroupsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeGroupsScopedList_Warning_Code_EXTERNALAPIWARNING,
    NodeGroupsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeGroupsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeGroupsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeGroupsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeGroupsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeGroupsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeGroupsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeGroupsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeGroupsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeGroupsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeGroupsScopedList_Warning_Code_NOTCRITICALERROR,
    NodeGroupsScopedList_Warning_Code_NORESULTSONPAGE,
    NodeGroupsScopedList_Warning_Code_PARTIALSUCCESS,
    NodeGroupsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeGroupsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeGroupsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeGroupsScopedList_Warning_Code_RESOURCENOTDELETED,
    NodeGroupsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeGroupsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeGroupsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeGroupsScopedList_Warning_Code_Unreachable,
    NodeGroupsScopedList_Warning_Code
    #-}
  
  -- | CPU overcommit.
  newtype NodeTemplate_CpuOvercommitType = NodeTemplate_CpuOvercommitType {fromNodeTemplate_CpuOvercommitType :: 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
      )
  
  pattern NodeTemplate_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED :: NodeTemplate_CpuOvercommitType
  pattern NodeTemplate_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED = NodeTemplate_CpuOvercommitType "CPU_OVERCOMMIT_TYPE_UNSPECIFIED"
  
  pattern NodeTemplate_CpuOvercommitType_Enabled :: NodeTemplate_CpuOvercommitType
  pattern NodeTemplate_CpuOvercommitType_Enabled = NodeTemplate_CpuOvercommitType "ENABLED"
  
  pattern NodeTemplate_CpuOvercommitType_None :: NodeTemplate_CpuOvercommitType
  pattern NodeTemplate_CpuOvercommitType_None = NodeTemplate_CpuOvercommitType "NONE"
  
  {-# COMPLETE
    NodeTemplate_CpuOvercommitType_CPUOVERCOMMITTYPEUNSPECIFIED,
    NodeTemplate_CpuOvercommitType_Enabled,
    NodeTemplate_CpuOvercommitType_None,
    NodeTemplate_CpuOvercommitType
    #-}
  
  -- | [Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.
  newtype NodeTemplate_Status = NodeTemplate_Status {fromNodeTemplate_Status :: 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
      )
  
  -- | Resources are being allocated.
  pattern NodeTemplate_Status_Creating :: NodeTemplate_Status
  pattern NodeTemplate_Status_Creating = NodeTemplate_Status "CREATING"
  
  -- | The node template is currently being deleted.
  pattern NodeTemplate_Status_Deleting :: NodeTemplate_Status
  pattern NodeTemplate_Status_Deleting = NodeTemplate_Status "DELETING"
  
  -- | Invalid status.
  pattern NodeTemplate_Status_Invalid :: NodeTemplate_Status
  pattern NodeTemplate_Status_Invalid = NodeTemplate_Status "INVALID"
  
  -- | The node template is ready.
  pattern NodeTemplate_Status_Ready :: NodeTemplate_Status
  pattern NodeTemplate_Status_Ready = NodeTemplate_Status "READY"
  
  {-# COMPLETE
    NodeTemplate_Status_Creating,
    NodeTemplate_Status_Deleting,
    NodeTemplate_Status_Invalid,
    NodeTemplate_Status_Ready,
    NodeTemplate_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTemplateAggregatedList_Warning_Code = NodeTemplateAggregatedList_Warning_Code {fromNodeTemplateAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTemplateAggregatedList_Warning_Code_CLEANUPFAILED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_CLEANUPFAILED = NodeTemplateAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTemplateAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NodeTemplateAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTemplateAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTemplateAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING = NodeTemplateAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTemplateAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTemplateAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTemplateAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTemplateAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTemplateAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTemplateAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NodeTemplateAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTemplateAggregatedList_Warning_Code_NOTCRITICALERROR :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NOTCRITICALERROR = NodeTemplateAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTemplateAggregatedList_Warning_Code_NORESULTSONPAGE :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_NORESULTSONPAGE = NodeTemplateAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTemplateAggregatedList_Warning_Code_PARTIALSUCCESS :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_PARTIALSUCCESS = NodeTemplateAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTemplateAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTemplateAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTemplateAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED = NodeTemplateAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTemplateAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTemplateAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NodeTemplateAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTemplateAggregatedList_Warning_Code_Unreachable :: NodeTemplateAggregatedList_Warning_Code
  pattern NodeTemplateAggregatedList_Warning_Code_Unreachable = NodeTemplateAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTemplateAggregatedList_Warning_Code_CLEANUPFAILED,
    NodeTemplateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTemplateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTemplateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTemplateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTemplateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NodeTemplateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTemplateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTemplateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTemplateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTemplateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTemplateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTemplateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTemplateAggregatedList_Warning_Code_NOTCRITICALERROR,
    NodeTemplateAggregatedList_Warning_Code_NORESULTSONPAGE,
    NodeTemplateAggregatedList_Warning_Code_PARTIALSUCCESS,
    NodeTemplateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTemplateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTemplateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTemplateAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NodeTemplateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTemplateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTemplateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTemplateAggregatedList_Warning_Code_Unreachable,
    NodeTemplateAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTemplateList_Warning_Code = NodeTemplateList_Warning_Code {fromNodeTemplateList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTemplateList_Warning_Code_CLEANUPFAILED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_CLEANUPFAILED = NodeTemplateList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTemplateList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTemplateList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_DEPRECATEDTYPEUSED = NodeTemplateList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTemplateList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTemplateList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTemplateList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTemplateList_Warning_Code_EXTERNALAPIWARNING :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_EXTERNALAPIWARNING = NodeTemplateList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTemplateList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTemplateList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTemplateList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTemplateList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTemplateList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTemplateList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTemplateList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTemplateList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTemplateList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTemplateList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTemplateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTemplateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTemplateList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NEXTHOPNOTRUNNING = NodeTemplateList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTemplateList_Warning_Code_NOTCRITICALERROR :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NOTCRITICALERROR = NodeTemplateList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTemplateList_Warning_Code_NORESULTSONPAGE :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_NORESULTSONPAGE = NodeTemplateList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTemplateList_Warning_Code_PARTIALSUCCESS :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_PARTIALSUCCESS = NodeTemplateList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTemplateList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTemplateList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTemplateList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTemplateList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTemplateList_Warning_Code_RESOURCENOTDELETED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_RESOURCENOTDELETED = NodeTemplateList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTemplateList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTemplateList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTemplateList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_UNDECLAREDPROPERTIES = NodeTemplateList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTemplateList_Warning_Code_Unreachable :: NodeTemplateList_Warning_Code
  pattern NodeTemplateList_Warning_Code_Unreachable = NodeTemplateList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTemplateList_Warning_Code_CLEANUPFAILED,
    NodeTemplateList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTemplateList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTemplateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTemplateList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTemplateList_Warning_Code_EXTERNALAPIWARNING,
    NodeTemplateList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTemplateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTemplateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTemplateList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTemplateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTemplateList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTemplateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTemplateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTemplateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTemplateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTemplateList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTemplateList_Warning_Code_NOTCRITICALERROR,
    NodeTemplateList_Warning_Code_NORESULTSONPAGE,
    NodeTemplateList_Warning_Code_PARTIALSUCCESS,
    NodeTemplateList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTemplateList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTemplateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTemplateList_Warning_Code_RESOURCENOTDELETED,
    NodeTemplateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTemplateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTemplateList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTemplateList_Warning_Code_Unreachable,
    NodeTemplateList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTemplatesScopedList_Warning_Code = NodeTemplatesScopedList_Warning_Code {fromNodeTemplatesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTemplatesScopedList_Warning_Code_CLEANUPFAILED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_CLEANUPFAILED = NodeTemplatesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTemplatesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED = NodeTemplatesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTemplatesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTemplatesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING = NodeTemplatesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTemplatesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTemplatesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTemplatesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTemplatesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTemplatesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTemplatesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING = NodeTemplatesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTemplatesScopedList_Warning_Code_NOTCRITICALERROR :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NOTCRITICALERROR = NodeTemplatesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTemplatesScopedList_Warning_Code_NORESULTSONPAGE :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_NORESULTSONPAGE = NodeTemplatesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTemplatesScopedList_Warning_Code_PARTIALSUCCESS :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_PARTIALSUCCESS = NodeTemplatesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTemplatesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTemplatesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTemplatesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTemplatesScopedList_Warning_Code_RESOURCENOTDELETED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_RESOURCENOTDELETED = NodeTemplatesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTemplatesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTemplatesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES = NodeTemplatesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTemplatesScopedList_Warning_Code_Unreachable :: NodeTemplatesScopedList_Warning_Code
  pattern NodeTemplatesScopedList_Warning_Code_Unreachable = NodeTemplatesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTemplatesScopedList_Warning_Code_CLEANUPFAILED,
    NodeTemplatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTemplatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTemplatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTemplatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTemplatesScopedList_Warning_Code_EXTERNALAPIWARNING,
    NodeTemplatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTemplatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTemplatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTemplatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTemplatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTemplatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTemplatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTemplatesScopedList_Warning_Code_NOTCRITICALERROR,
    NodeTemplatesScopedList_Warning_Code_NORESULTSONPAGE,
    NodeTemplatesScopedList_Warning_Code_PARTIALSUCCESS,
    NodeTemplatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTemplatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTemplatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTemplatesScopedList_Warning_Code_RESOURCENOTDELETED,
    NodeTemplatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTemplatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTemplatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTemplatesScopedList_Warning_Code_Unreachable,
    NodeTemplatesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTypeAggregatedList_Warning_Code = NodeTypeAggregatedList_Warning_Code {fromNodeTypeAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTypeAggregatedList_Warning_Code_CLEANUPFAILED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_CLEANUPFAILED = NodeTypeAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTypeAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = NodeTypeAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTypeAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTypeAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING = NodeTypeAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTypeAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTypeAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTypeAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTypeAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTypeAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTypeAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = NodeTypeAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTypeAggregatedList_Warning_Code_NOTCRITICALERROR :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NOTCRITICALERROR = NodeTypeAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTypeAggregatedList_Warning_Code_NORESULTSONPAGE :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_NORESULTSONPAGE = NodeTypeAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTypeAggregatedList_Warning_Code_PARTIALSUCCESS :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_PARTIALSUCCESS = NodeTypeAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTypeAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTypeAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTypeAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTypeAggregatedList_Warning_Code_RESOURCENOTDELETED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_RESOURCENOTDELETED = NodeTypeAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTypeAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTypeAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = NodeTypeAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTypeAggregatedList_Warning_Code_Unreachable :: NodeTypeAggregatedList_Warning_Code
  pattern NodeTypeAggregatedList_Warning_Code_Unreachable = NodeTypeAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTypeAggregatedList_Warning_Code_CLEANUPFAILED,
    NodeTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    NodeTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
    NodeTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
    NodeTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
    NodeTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
    NodeTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTypeAggregatedList_Warning_Code_Unreachable,
    NodeTypeAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTypeList_Warning_Code = NodeTypeList_Warning_Code {fromNodeTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTypeList_Warning_Code_CLEANUPFAILED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_CLEANUPFAILED = NodeTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTypeList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_DEPRECATEDTYPEUSED = NodeTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTypeList_Warning_Code_EXTERNALAPIWARNING :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_EXTERNALAPIWARNING = NodeTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTypeList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NEXTHOPNOTRUNNING = NodeTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTypeList_Warning_Code_NOTCRITICALERROR :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NOTCRITICALERROR = NodeTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTypeList_Warning_Code_NORESULTSONPAGE :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_NORESULTSONPAGE = NodeTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTypeList_Warning_Code_PARTIALSUCCESS :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_PARTIALSUCCESS = NodeTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTypeList_Warning_Code_RESOURCENOTDELETED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_RESOURCENOTDELETED = NodeTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTypeList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_UNDECLAREDPROPERTIES = NodeTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTypeList_Warning_Code_Unreachable :: NodeTypeList_Warning_Code
  pattern NodeTypeList_Warning_Code_Unreachable = NodeTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTypeList_Warning_Code_CLEANUPFAILED,
    NodeTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTypeList_Warning_Code_EXTERNALAPIWARNING,
    NodeTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTypeList_Warning_Code_NOTCRITICALERROR,
    NodeTypeList_Warning_Code_NORESULTSONPAGE,
    NodeTypeList_Warning_Code_PARTIALSUCCESS,
    NodeTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTypeList_Warning_Code_RESOURCENOTDELETED,
    NodeTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTypeList_Warning_Code_Unreachable,
    NodeTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NodeTypesScopedList_Warning_Code = NodeTypesScopedList_Warning_Code {fromNodeTypesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NodeTypesScopedList_Warning_Code_CLEANUPFAILED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_CLEANUPFAILED = NodeTypesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NodeTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = NodeTypesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NodeTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED = NodeTypesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NodeTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NodeTypesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NodeTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = NodeTypesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NodeTypesScopedList_Warning_Code_EXTERNALAPIWARNING :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_EXTERNALAPIWARNING = NodeTypesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NodeTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = NodeTypesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NodeTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = NodeTypesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NodeTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NodeTypesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NodeTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = NodeTypesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NodeTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NodeTypesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NodeTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = NodeTypesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NodeTypesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NodeTypesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NodeTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NodeTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NodeTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING = NodeTypesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NodeTypesScopedList_Warning_Code_NOTCRITICALERROR :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NOTCRITICALERROR = NodeTypesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NodeTypesScopedList_Warning_Code_NORESULTSONPAGE :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_NORESULTSONPAGE = NodeTypesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NodeTypesScopedList_Warning_Code_PARTIALSUCCESS :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_PARTIALSUCCESS = NodeTypesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NodeTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = NodeTypesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NodeTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = NodeTypesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NodeTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NodeTypesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NodeTypesScopedList_Warning_Code_RESOURCENOTDELETED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_RESOURCENOTDELETED = NodeTypesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NodeTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = NodeTypesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NodeTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NodeTypesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NodeTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES = NodeTypesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NodeTypesScopedList_Warning_Code_Unreachable :: NodeTypesScopedList_Warning_Code
  pattern NodeTypesScopedList_Warning_Code_Unreachable = NodeTypesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NodeTypesScopedList_Warning_Code_CLEANUPFAILED,
    NodeTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NodeTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    NodeTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NodeTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    NodeTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
    NodeTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    NodeTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NodeTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NodeTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NodeTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NodeTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NodeTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NodeTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NodeTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NodeTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    NodeTypesScopedList_Warning_Code_NOTCRITICALERROR,
    NodeTypesScopedList_Warning_Code_NORESULTSONPAGE,
    NodeTypesScopedList_Warning_Code_PARTIALSUCCESS,
    NodeTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NodeTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    NodeTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NodeTypesScopedList_Warning_Code_RESOURCENOTDELETED,
    NodeTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NodeTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NodeTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    NodeTypesScopedList_Warning_Code_Unreachable,
    NodeTypesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype NotificationEndpointList_Warning_Code = NotificationEndpointList_Warning_Code {fromNotificationEndpointList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern NotificationEndpointList_Warning_Code_CLEANUPFAILED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_CLEANUPFAILED = NotificationEndpointList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern NotificationEndpointList_Warning_Code_DEPRECATEDRESOURCEUSED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_DEPRECATEDRESOURCEUSED = NotificationEndpointList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern NotificationEndpointList_Warning_Code_DEPRECATEDTYPEUSED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_DEPRECATEDTYPEUSED = NotificationEndpointList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern NotificationEndpointList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = NotificationEndpointList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern NotificationEndpointList_Warning_Code_EXPERIMENTALTYPEUSED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_EXPERIMENTALTYPEUSED = NotificationEndpointList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern NotificationEndpointList_Warning_Code_EXTERNALAPIWARNING :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_EXTERNALAPIWARNING = NotificationEndpointList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern NotificationEndpointList_Warning_Code_FIELDVALUEOVERRIDEN :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_FIELDVALUEOVERRIDEN = NotificationEndpointList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern NotificationEndpointList_Warning_Code_INJECTEDKERNELSDEPRECATED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_INJECTEDKERNELSDEPRECATED = NotificationEndpointList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern NotificationEndpointList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = NotificationEndpointList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern NotificationEndpointList_Warning_Code_LARGEDEPLOYMENTWARNING :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_LARGEDEPLOYMENTWARNING = NotificationEndpointList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern NotificationEndpointList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_LISTOVERHEADQUOTAEXCEED = NotificationEndpointList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern NotificationEndpointList_Warning_Code_MISSINGTYPEDEPENDENCY :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_MISSINGTYPEDEPENDENCY = NotificationEndpointList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = NotificationEndpointList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPCANNOTIPFORWARD = NotificationEndpointList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = NotificationEndpointList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTFOUND = NotificationEndpointList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = NotificationEndpointList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern NotificationEndpointList_Warning_Code_NEXTHOPNOTRUNNING :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NEXTHOPNOTRUNNING = NotificationEndpointList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern NotificationEndpointList_Warning_Code_NOTCRITICALERROR :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NOTCRITICALERROR = NotificationEndpointList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern NotificationEndpointList_Warning_Code_NORESULTSONPAGE :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_NORESULTSONPAGE = NotificationEndpointList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern NotificationEndpointList_Warning_Code_PARTIALSUCCESS :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_PARTIALSUCCESS = NotificationEndpointList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern NotificationEndpointList_Warning_Code_QUOTAINFOUNAVAILABLE :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_QUOTAINFOUNAVAILABLE = NotificationEndpointList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern NotificationEndpointList_Warning_Code_REQUIREDTOSAGREEMENT :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_REQUIREDTOSAGREEMENT = NotificationEndpointList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern NotificationEndpointList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = NotificationEndpointList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern NotificationEndpointList_Warning_Code_RESOURCENOTDELETED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_RESOURCENOTDELETED = NotificationEndpointList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern NotificationEndpointList_Warning_Code_SCHEMAVALIDATIONIGNORED :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_SCHEMAVALIDATIONIGNORED = NotificationEndpointList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern NotificationEndpointList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = NotificationEndpointList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern NotificationEndpointList_Warning_Code_UNDECLAREDPROPERTIES :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_UNDECLAREDPROPERTIES = NotificationEndpointList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern NotificationEndpointList_Warning_Code_Unreachable :: NotificationEndpointList_Warning_Code
  pattern NotificationEndpointList_Warning_Code_Unreachable = NotificationEndpointList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    NotificationEndpointList_Warning_Code_CLEANUPFAILED,
    NotificationEndpointList_Warning_Code_DEPRECATEDRESOURCEUSED,
    NotificationEndpointList_Warning_Code_DEPRECATEDTYPEUSED,
    NotificationEndpointList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    NotificationEndpointList_Warning_Code_EXPERIMENTALTYPEUSED,
    NotificationEndpointList_Warning_Code_EXTERNALAPIWARNING,
    NotificationEndpointList_Warning_Code_FIELDVALUEOVERRIDEN,
    NotificationEndpointList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    NotificationEndpointList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    NotificationEndpointList_Warning_Code_LARGEDEPLOYMENTWARNING,
    NotificationEndpointList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    NotificationEndpointList_Warning_Code_MISSINGTYPEDEPENDENCY,
    NotificationEndpointList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    NotificationEndpointList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    NotificationEndpointList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    NotificationEndpointList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    NotificationEndpointList_Warning_Code_NEXTHOPNOTRUNNING,
    NotificationEndpointList_Warning_Code_NOTCRITICALERROR,
    NotificationEndpointList_Warning_Code_NORESULTSONPAGE,
    NotificationEndpointList_Warning_Code_PARTIALSUCCESS,
    NotificationEndpointList_Warning_Code_QUOTAINFOUNAVAILABLE,
    NotificationEndpointList_Warning_Code_REQUIREDTOSAGREEMENT,
    NotificationEndpointList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    NotificationEndpointList_Warning_Code_RESOURCENOTDELETED,
    NotificationEndpointList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    NotificationEndpointList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    NotificationEndpointList_Warning_Code_UNDECLAREDPROPERTIES,
    NotificationEndpointList_Warning_Code_Unreachable,
    NotificationEndpointList_Warning_Code
    #-}
  
  -- | [Output Only] The status of the operation, which can be one of the following: @PENDING@, @RUNNING@, or @DONE@.
  newtype Operation_Status = Operation_Status {fromOperation_Status :: 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
      )
  
  pattern Operation_Status_Done :: Operation_Status
  pattern Operation_Status_Done = Operation_Status "DONE"
  
  pattern Operation_Status_Pending :: Operation_Status
  pattern Operation_Status_Pending = Operation_Status "PENDING"
  
  pattern Operation_Status_Running :: Operation_Status
  pattern Operation_Status_Running = Operation_Status "RUNNING"
  
  {-# COMPLETE
    Operation_Status_Done,
    Operation_Status_Pending,
    Operation_Status_Running,
    Operation_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype Operation_WarningsItem_Code = Operation_WarningsItem_Code {fromOperation_WarningsItem_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern Operation_WarningsItem_Code_CLEANUPFAILED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_CLEANUPFAILED = Operation_WarningsItem_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern Operation_WarningsItem_Code_DEPRECATEDRESOURCEUSED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_DEPRECATEDRESOURCEUSED = Operation_WarningsItem_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern Operation_WarningsItem_Code_DEPRECATEDTYPEUSED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_DEPRECATEDTYPEUSED = Operation_WarningsItem_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern Operation_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE = Operation_WarningsItem_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern Operation_WarningsItem_Code_EXPERIMENTALTYPEUSED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_EXPERIMENTALTYPEUSED = Operation_WarningsItem_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern Operation_WarningsItem_Code_EXTERNALAPIWARNING :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_EXTERNALAPIWARNING = Operation_WarningsItem_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern Operation_WarningsItem_Code_FIELDVALUEOVERRIDEN :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_FIELDVALUEOVERRIDEN = Operation_WarningsItem_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern Operation_WarningsItem_Code_INJECTEDKERNELSDEPRECATED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_INJECTEDKERNELSDEPRECATED = Operation_WarningsItem_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern Operation_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = Operation_WarningsItem_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern Operation_WarningsItem_Code_LARGEDEPLOYMENTWARNING :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_LARGEDEPLOYMENTWARNING = Operation_WarningsItem_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern Operation_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED = Operation_WarningsItem_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern Operation_WarningsItem_Code_MISSINGTYPEDEPENDENCY :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_MISSINGTYPEDEPENDENCY = Operation_WarningsItem_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern Operation_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED = Operation_WarningsItem_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern Operation_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD = Operation_WarningsItem_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = Operation_WarningsItem_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND = Operation_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK = Operation_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern Operation_WarningsItem_Code_NEXTHOPNOTRUNNING :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NEXTHOPNOTRUNNING = Operation_WarningsItem_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern Operation_WarningsItem_Code_NOTCRITICALERROR :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NOTCRITICALERROR = Operation_WarningsItem_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern Operation_WarningsItem_Code_NORESULTSONPAGE :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_NORESULTSONPAGE = Operation_WarningsItem_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern Operation_WarningsItem_Code_PARTIALSUCCESS :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_PARTIALSUCCESS = Operation_WarningsItem_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern Operation_WarningsItem_Code_QUOTAINFOUNAVAILABLE :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_QUOTAINFOUNAVAILABLE = Operation_WarningsItem_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern Operation_WarningsItem_Code_REQUIREDTOSAGREEMENT :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_REQUIREDTOSAGREEMENT = Operation_WarningsItem_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern Operation_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = Operation_WarningsItem_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern Operation_WarningsItem_Code_RESOURCENOTDELETED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_RESOURCENOTDELETED = Operation_WarningsItem_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern Operation_WarningsItem_Code_SCHEMAVALIDATIONIGNORED :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_SCHEMAVALIDATIONIGNORED = Operation_WarningsItem_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern Operation_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE = Operation_WarningsItem_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern Operation_WarningsItem_Code_UNDECLAREDPROPERTIES :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_UNDECLAREDPROPERTIES = Operation_WarningsItem_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern Operation_WarningsItem_Code_Unreachable :: Operation_WarningsItem_Code
  pattern Operation_WarningsItem_Code_Unreachable = Operation_WarningsItem_Code "UNREACHABLE"
  
  {-# COMPLETE
    Operation_WarningsItem_Code_CLEANUPFAILED,
    Operation_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
    Operation_WarningsItem_Code_DEPRECATEDTYPEUSED,
    Operation_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
    Operation_WarningsItem_Code_EXPERIMENTALTYPEUSED,
    Operation_WarningsItem_Code_EXTERNALAPIWARNING,
    Operation_WarningsItem_Code_FIELDVALUEOVERRIDEN,
    Operation_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
    Operation_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    Operation_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
    Operation_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
    Operation_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
    Operation_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
    Operation_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
    Operation_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    Operation_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
    Operation_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
    Operation_WarningsItem_Code_NEXTHOPNOTRUNNING,
    Operation_WarningsItem_Code_NOTCRITICALERROR,
    Operation_WarningsItem_Code_NORESULTSONPAGE,
    Operation_WarningsItem_Code_PARTIALSUCCESS,
    Operation_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
    Operation_WarningsItem_Code_REQUIREDTOSAGREEMENT,
    Operation_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    Operation_WarningsItem_Code_RESOURCENOTDELETED,
    Operation_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
    Operation_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    Operation_WarningsItem_Code_UNDECLAREDPROPERTIES,
    Operation_WarningsItem_Code_Unreachable,
    Operation_WarningsItem_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype OperationAggregatedList_Warning_Code = OperationAggregatedList_Warning_Code {fromOperationAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern OperationAggregatedList_Warning_Code_CLEANUPFAILED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_CLEANUPFAILED = OperationAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern OperationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = OperationAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern OperationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = OperationAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern OperationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = OperationAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern OperationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = OperationAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern OperationAggregatedList_Warning_Code_EXTERNALAPIWARNING :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_EXTERNALAPIWARNING = OperationAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern OperationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = OperationAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern OperationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = OperationAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern OperationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = OperationAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern OperationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = OperationAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern OperationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = OperationAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern OperationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = OperationAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = OperationAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = OperationAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = OperationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = OperationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = OperationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern OperationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = OperationAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern OperationAggregatedList_Warning_Code_NOTCRITICALERROR :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NOTCRITICALERROR = OperationAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern OperationAggregatedList_Warning_Code_NORESULTSONPAGE :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_NORESULTSONPAGE = OperationAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern OperationAggregatedList_Warning_Code_PARTIALSUCCESS :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_PARTIALSUCCESS = OperationAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern OperationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = OperationAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern OperationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = OperationAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern OperationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = OperationAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern OperationAggregatedList_Warning_Code_RESOURCENOTDELETED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_RESOURCENOTDELETED = OperationAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern OperationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = OperationAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern OperationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = OperationAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern OperationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = OperationAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern OperationAggregatedList_Warning_Code_Unreachable :: OperationAggregatedList_Warning_Code
  pattern OperationAggregatedList_Warning_Code_Unreachable = OperationAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    OperationAggregatedList_Warning_Code_CLEANUPFAILED,
    OperationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    OperationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    OperationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    OperationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    OperationAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    OperationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    OperationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    OperationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    OperationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    OperationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    OperationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    OperationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    OperationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    OperationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    OperationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    OperationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    OperationAggregatedList_Warning_Code_NOTCRITICALERROR,
    OperationAggregatedList_Warning_Code_NORESULTSONPAGE,
    OperationAggregatedList_Warning_Code_PARTIALSUCCESS,
    OperationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    OperationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    OperationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    OperationAggregatedList_Warning_Code_RESOURCENOTDELETED,
    OperationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    OperationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    OperationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    OperationAggregatedList_Warning_Code_Unreachable,
    OperationAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype OperationList_Warning_Code = OperationList_Warning_Code {fromOperationList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern OperationList_Warning_Code_CLEANUPFAILED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_CLEANUPFAILED = OperationList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern OperationList_Warning_Code_DEPRECATEDRESOURCEUSED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_DEPRECATEDRESOURCEUSED = OperationList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern OperationList_Warning_Code_DEPRECATEDTYPEUSED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_DEPRECATEDTYPEUSED = OperationList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern OperationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = OperationList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern OperationList_Warning_Code_EXPERIMENTALTYPEUSED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_EXPERIMENTALTYPEUSED = OperationList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern OperationList_Warning_Code_EXTERNALAPIWARNING :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_EXTERNALAPIWARNING = OperationList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern OperationList_Warning_Code_FIELDVALUEOVERRIDEN :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_FIELDVALUEOVERRIDEN = OperationList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern OperationList_Warning_Code_INJECTEDKERNELSDEPRECATED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_INJECTEDKERNELSDEPRECATED = OperationList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern OperationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = OperationList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern OperationList_Warning_Code_LARGEDEPLOYMENTWARNING :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_LARGEDEPLOYMENTWARNING = OperationList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern OperationList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_LISTOVERHEADQUOTAEXCEED = OperationList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern OperationList_Warning_Code_MISSINGTYPEDEPENDENCY :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_MISSINGTYPEDEPENDENCY = OperationList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern OperationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = OperationList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern OperationList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPCANNOTIPFORWARD = OperationList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern OperationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = OperationList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern OperationList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPINSTANCENOTFOUND = OperationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern OperationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = OperationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern OperationList_Warning_Code_NEXTHOPNOTRUNNING :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NEXTHOPNOTRUNNING = OperationList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern OperationList_Warning_Code_NOTCRITICALERROR :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NOTCRITICALERROR = OperationList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern OperationList_Warning_Code_NORESULTSONPAGE :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_NORESULTSONPAGE = OperationList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern OperationList_Warning_Code_PARTIALSUCCESS :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_PARTIALSUCCESS = OperationList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern OperationList_Warning_Code_QUOTAINFOUNAVAILABLE :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_QUOTAINFOUNAVAILABLE = OperationList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern OperationList_Warning_Code_REQUIREDTOSAGREEMENT :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_REQUIREDTOSAGREEMENT = OperationList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern OperationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = OperationList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern OperationList_Warning_Code_RESOURCENOTDELETED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_RESOURCENOTDELETED = OperationList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern OperationList_Warning_Code_SCHEMAVALIDATIONIGNORED :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_SCHEMAVALIDATIONIGNORED = OperationList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern OperationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = OperationList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern OperationList_Warning_Code_UNDECLAREDPROPERTIES :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_UNDECLAREDPROPERTIES = OperationList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern OperationList_Warning_Code_Unreachable :: OperationList_Warning_Code
  pattern OperationList_Warning_Code_Unreachable = OperationList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    OperationList_Warning_Code_CLEANUPFAILED,
    OperationList_Warning_Code_DEPRECATEDRESOURCEUSED,
    OperationList_Warning_Code_DEPRECATEDTYPEUSED,
    OperationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    OperationList_Warning_Code_EXPERIMENTALTYPEUSED,
    OperationList_Warning_Code_EXTERNALAPIWARNING,
    OperationList_Warning_Code_FIELDVALUEOVERRIDEN,
    OperationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    OperationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    OperationList_Warning_Code_LARGEDEPLOYMENTWARNING,
    OperationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    OperationList_Warning_Code_MISSINGTYPEDEPENDENCY,
    OperationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    OperationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    OperationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    OperationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    OperationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    OperationList_Warning_Code_NEXTHOPNOTRUNNING,
    OperationList_Warning_Code_NOTCRITICALERROR,
    OperationList_Warning_Code_NORESULTSONPAGE,
    OperationList_Warning_Code_PARTIALSUCCESS,
    OperationList_Warning_Code_QUOTAINFOUNAVAILABLE,
    OperationList_Warning_Code_REQUIREDTOSAGREEMENT,
    OperationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    OperationList_Warning_Code_RESOURCENOTDELETED,
    OperationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    OperationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    OperationList_Warning_Code_UNDECLAREDPROPERTIES,
    OperationList_Warning_Code_Unreachable,
    OperationList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype OperationsScopedList_Warning_Code = OperationsScopedList_Warning_Code {fromOperationsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern OperationsScopedList_Warning_Code_CLEANUPFAILED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_CLEANUPFAILED = OperationsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern OperationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = OperationsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern OperationsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_DEPRECATEDTYPEUSED = OperationsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern OperationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = OperationsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern OperationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = OperationsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern OperationsScopedList_Warning_Code_EXTERNALAPIWARNING :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_EXTERNALAPIWARNING = OperationsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern OperationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = OperationsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern OperationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = OperationsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern OperationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = OperationsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern OperationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = OperationsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern OperationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = OperationsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern OperationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = OperationsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern OperationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = OperationsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern OperationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = OperationsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = OperationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = OperationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = OperationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern OperationsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NEXTHOPNOTRUNNING = OperationsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern OperationsScopedList_Warning_Code_NOTCRITICALERROR :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NOTCRITICALERROR = OperationsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern OperationsScopedList_Warning_Code_NORESULTSONPAGE :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_NORESULTSONPAGE = OperationsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern OperationsScopedList_Warning_Code_PARTIALSUCCESS :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_PARTIALSUCCESS = OperationsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern OperationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = OperationsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern OperationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = OperationsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern OperationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = OperationsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern OperationsScopedList_Warning_Code_RESOURCENOTDELETED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_RESOURCENOTDELETED = OperationsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern OperationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = OperationsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern OperationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = OperationsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern OperationsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_UNDECLAREDPROPERTIES = OperationsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern OperationsScopedList_Warning_Code_Unreachable :: OperationsScopedList_Warning_Code
  pattern OperationsScopedList_Warning_Code_Unreachable = OperationsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    OperationsScopedList_Warning_Code_CLEANUPFAILED,
    OperationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    OperationsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    OperationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    OperationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    OperationsScopedList_Warning_Code_EXTERNALAPIWARNING,
    OperationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    OperationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    OperationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    OperationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    OperationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    OperationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    OperationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    OperationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    OperationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    OperationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    OperationsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    OperationsScopedList_Warning_Code_NOTCRITICALERROR,
    OperationsScopedList_Warning_Code_NORESULTSONPAGE,
    OperationsScopedList_Warning_Code_PARTIALSUCCESS,
    OperationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    OperationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    OperationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    OperationsScopedList_Warning_Code_RESOURCENOTDELETED,
    OperationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    OperationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    OperationsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    OperationsScopedList_Warning_Code_Unreachable,
    OperationsScopedList_Warning_Code
    #-}
  
  -- | From how long ago in the past these intervals were observed.
  newtype PacketIntervals_Duration = PacketIntervals_Duration {fromPacketIntervals_Duration :: 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
      )
  
  pattern PacketIntervals_Duration_DURATIONUNSPECIFIED :: PacketIntervals_Duration
  pattern PacketIntervals_Duration_DURATIONUNSPECIFIED = PacketIntervals_Duration "DURATION_UNSPECIFIED"
  
  pattern PacketIntervals_Duration_Hour :: PacketIntervals_Duration
  pattern PacketIntervals_Duration_Hour = PacketIntervals_Duration "HOUR"
  
  -- | From BfdSession object creation time.
  pattern PacketIntervals_Duration_Max :: PacketIntervals_Duration
  pattern PacketIntervals_Duration_Max = PacketIntervals_Duration "MAX"
  
  pattern PacketIntervals_Duration_Minute :: PacketIntervals_Duration
  pattern PacketIntervals_Duration_Minute = PacketIntervals_Duration "MINUTE"
  
  {-# COMPLETE
    PacketIntervals_Duration_DURATIONUNSPECIFIED,
    PacketIntervals_Duration_Hour,
    PacketIntervals_Duration_Max,
    PacketIntervals_Duration_Minute,
    PacketIntervals_Duration
    #-}
  
  -- | The type of packets for which inter-packet intervals were computed.
  newtype PacketIntervals_Type = PacketIntervals_Type {fromPacketIntervals_Type :: 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
      )
  
  -- | Only applies to Echo packets. This shows the intervals between sending and receiving the same packet.
  pattern PacketIntervals_Type_Loopback :: PacketIntervals_Type
  pattern PacketIntervals_Type_Loopback = PacketIntervals_Type "LOOPBACK"
  
  -- | Intervals between received packets.
  pattern PacketIntervals_Type_Receive :: PacketIntervals_Type
  pattern PacketIntervals_Type_Receive = PacketIntervals_Type "RECEIVE"
  
  -- | Intervals between transmitted packets.
  pattern PacketIntervals_Type_Transmit :: PacketIntervals_Type
  pattern PacketIntervals_Type_Transmit = PacketIntervals_Type "TRANSMIT"
  
  pattern PacketIntervals_Type_TYPEUNSPECIFIED :: PacketIntervals_Type
  pattern PacketIntervals_Type_TYPEUNSPECIFIED = PacketIntervals_Type "TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    PacketIntervals_Type_Loopback,
    PacketIntervals_Type_Receive,
    PacketIntervals_Type_Transmit,
    PacketIntervals_Type_TYPEUNSPECIFIED,
    PacketIntervals_Type
    #-}
  
  -- | Indicates whether or not this packet mirroring takes effect. If set to FALSE, this packet mirroring policy will not be enforced on the network. The default is TRUE.
  newtype PacketMirroring_Enable = PacketMirroring_Enable {fromPacketMirroring_Enable :: 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
      )
  
  pattern PacketMirroring_Enable_False' :: PacketMirroring_Enable
  pattern PacketMirroring_Enable_False' = PacketMirroring_Enable "FALSE"
  
  pattern PacketMirroring_Enable_True' :: PacketMirroring_Enable
  pattern PacketMirroring_Enable_True' = PacketMirroring_Enable "TRUE"
  
  {-# COMPLETE
    PacketMirroring_Enable_False',
    PacketMirroring_Enable_True',
    PacketMirroring_Enable
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PacketMirroringAggregatedList_Warning_Code = PacketMirroringAggregatedList_Warning_Code {fromPacketMirroringAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PacketMirroringAggregatedList_Warning_Code_CLEANUPFAILED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_CLEANUPFAILED = PacketMirroringAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PacketMirroringAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = PacketMirroringAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PacketMirroringAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = PacketMirroringAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PacketMirroringAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PacketMirroringAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PacketMirroringAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = PacketMirroringAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PacketMirroringAggregatedList_Warning_Code_EXTERNALAPIWARNING :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_EXTERNALAPIWARNING = PacketMirroringAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PacketMirroringAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = PacketMirroringAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PacketMirroringAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = PacketMirroringAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PacketMirroringAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PacketMirroringAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PacketMirroringAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = PacketMirroringAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PacketMirroringAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PacketMirroringAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PacketMirroringAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = PacketMirroringAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = PacketMirroringAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PacketMirroringAggregatedList_Warning_Code_NOTCRITICALERROR :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NOTCRITICALERROR = PacketMirroringAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PacketMirroringAggregatedList_Warning_Code_NORESULTSONPAGE :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_NORESULTSONPAGE = PacketMirroringAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PacketMirroringAggregatedList_Warning_Code_PARTIALSUCCESS :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_PARTIALSUCCESS = PacketMirroringAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PacketMirroringAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = PacketMirroringAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PacketMirroringAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = PacketMirroringAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PacketMirroringAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PacketMirroringAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PacketMirroringAggregatedList_Warning_Code_RESOURCENOTDELETED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_RESOURCENOTDELETED = PacketMirroringAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PacketMirroringAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = PacketMirroringAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PacketMirroringAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PacketMirroringAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PacketMirroringAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = PacketMirroringAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PacketMirroringAggregatedList_Warning_Code_Unreachable :: PacketMirroringAggregatedList_Warning_Code
  pattern PacketMirroringAggregatedList_Warning_Code_Unreachable = PacketMirroringAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PacketMirroringAggregatedList_Warning_Code_CLEANUPFAILED,
    PacketMirroringAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PacketMirroringAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    PacketMirroringAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PacketMirroringAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    PacketMirroringAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    PacketMirroringAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    PacketMirroringAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PacketMirroringAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PacketMirroringAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PacketMirroringAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PacketMirroringAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PacketMirroringAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    PacketMirroringAggregatedList_Warning_Code_NOTCRITICALERROR,
    PacketMirroringAggregatedList_Warning_Code_NORESULTSONPAGE,
    PacketMirroringAggregatedList_Warning_Code_PARTIALSUCCESS,
    PacketMirroringAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PacketMirroringAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    PacketMirroringAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PacketMirroringAggregatedList_Warning_Code_RESOURCENOTDELETED,
    PacketMirroringAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PacketMirroringAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PacketMirroringAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    PacketMirroringAggregatedList_Warning_Code_Unreachable,
    PacketMirroringAggregatedList_Warning_Code
    #-}
  
  -- | Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH.
  newtype PacketMirroringFilter_Direction = PacketMirroringFilter_Direction {fromPacketMirroringFilter_Direction :: 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
      )
  
  -- | Default, both directions are mirrored.
  pattern PacketMirroringFilter_Direction_Both :: PacketMirroringFilter_Direction
  pattern PacketMirroringFilter_Direction_Both = PacketMirroringFilter_Direction "BOTH"
  
  -- | Only egress traffic is mirrored.
  pattern PacketMirroringFilter_Direction_Egress :: PacketMirroringFilter_Direction
  pattern PacketMirroringFilter_Direction_Egress = PacketMirroringFilter_Direction "EGRESS"
  
  -- | Only ingress traffic is mirrored.
  pattern PacketMirroringFilter_Direction_Ingress :: PacketMirroringFilter_Direction
  pattern PacketMirroringFilter_Direction_Ingress = PacketMirroringFilter_Direction "INGRESS"
  
  {-# COMPLETE
    PacketMirroringFilter_Direction_Both,
    PacketMirroringFilter_Direction_Egress,
    PacketMirroringFilter_Direction_Ingress,
    PacketMirroringFilter_Direction
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PacketMirroringList_Warning_Code = PacketMirroringList_Warning_Code {fromPacketMirroringList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PacketMirroringList_Warning_Code_CLEANUPFAILED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_CLEANUPFAILED = PacketMirroringList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PacketMirroringList_Warning_Code_DEPRECATEDRESOURCEUSED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_DEPRECATEDRESOURCEUSED = PacketMirroringList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PacketMirroringList_Warning_Code_DEPRECATEDTYPEUSED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_DEPRECATEDTYPEUSED = PacketMirroringList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PacketMirroringList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PacketMirroringList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PacketMirroringList_Warning_Code_EXPERIMENTALTYPEUSED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_EXPERIMENTALTYPEUSED = PacketMirroringList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PacketMirroringList_Warning_Code_EXTERNALAPIWARNING :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_EXTERNALAPIWARNING = PacketMirroringList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PacketMirroringList_Warning_Code_FIELDVALUEOVERRIDEN :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_FIELDVALUEOVERRIDEN = PacketMirroringList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PacketMirroringList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_INJECTEDKERNELSDEPRECATED = PacketMirroringList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PacketMirroringList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PacketMirroringList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PacketMirroringList_Warning_Code_LARGEDEPLOYMENTWARNING :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_LARGEDEPLOYMENTWARNING = PacketMirroringList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PacketMirroringList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PacketMirroringList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PacketMirroringList_Warning_Code_MISSINGTYPEDEPENDENCY :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_MISSINGTYPEDEPENDENCY = PacketMirroringList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PacketMirroringList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PacketMirroringList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PacketMirroringList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PacketMirroringList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PacketMirroringList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PacketMirroringList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PacketMirroringList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PacketMirroringList_Warning_Code_NEXTHOPNOTRUNNING :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NEXTHOPNOTRUNNING = PacketMirroringList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PacketMirroringList_Warning_Code_NOTCRITICALERROR :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NOTCRITICALERROR = PacketMirroringList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PacketMirroringList_Warning_Code_NORESULTSONPAGE :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_NORESULTSONPAGE = PacketMirroringList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PacketMirroringList_Warning_Code_PARTIALSUCCESS :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_PARTIALSUCCESS = PacketMirroringList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PacketMirroringList_Warning_Code_QUOTAINFOUNAVAILABLE :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_QUOTAINFOUNAVAILABLE = PacketMirroringList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PacketMirroringList_Warning_Code_REQUIREDTOSAGREEMENT :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_REQUIREDTOSAGREEMENT = PacketMirroringList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PacketMirroringList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PacketMirroringList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PacketMirroringList_Warning_Code_RESOURCENOTDELETED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_RESOURCENOTDELETED = PacketMirroringList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PacketMirroringList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_SCHEMAVALIDATIONIGNORED = PacketMirroringList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PacketMirroringList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PacketMirroringList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PacketMirroringList_Warning_Code_UNDECLAREDPROPERTIES :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_UNDECLAREDPROPERTIES = PacketMirroringList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PacketMirroringList_Warning_Code_Unreachable :: PacketMirroringList_Warning_Code
  pattern PacketMirroringList_Warning_Code_Unreachable = PacketMirroringList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PacketMirroringList_Warning_Code_CLEANUPFAILED,
    PacketMirroringList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PacketMirroringList_Warning_Code_DEPRECATEDTYPEUSED,
    PacketMirroringList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PacketMirroringList_Warning_Code_EXPERIMENTALTYPEUSED,
    PacketMirroringList_Warning_Code_EXTERNALAPIWARNING,
    PacketMirroringList_Warning_Code_FIELDVALUEOVERRIDEN,
    PacketMirroringList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PacketMirroringList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PacketMirroringList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PacketMirroringList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PacketMirroringList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PacketMirroringList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PacketMirroringList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PacketMirroringList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PacketMirroringList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PacketMirroringList_Warning_Code_NEXTHOPNOTRUNNING,
    PacketMirroringList_Warning_Code_NOTCRITICALERROR,
    PacketMirroringList_Warning_Code_NORESULTSONPAGE,
    PacketMirroringList_Warning_Code_PARTIALSUCCESS,
    PacketMirroringList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PacketMirroringList_Warning_Code_REQUIREDTOSAGREEMENT,
    PacketMirroringList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PacketMirroringList_Warning_Code_RESOURCENOTDELETED,
    PacketMirroringList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PacketMirroringList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PacketMirroringList_Warning_Code_UNDECLAREDPROPERTIES,
    PacketMirroringList_Warning_Code_Unreachable,
    PacketMirroringList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PacketMirroringsScopedList_Warning_Code = PacketMirroringsScopedList_Warning_Code {fromPacketMirroringsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PacketMirroringsScopedList_Warning_Code_CLEANUPFAILED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_CLEANUPFAILED = PacketMirroringsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PacketMirroringsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = PacketMirroringsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PacketMirroringsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_DEPRECATEDTYPEUSED = PacketMirroringsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PacketMirroringsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PacketMirroringsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PacketMirroringsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = PacketMirroringsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PacketMirroringsScopedList_Warning_Code_EXTERNALAPIWARNING :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_EXTERNALAPIWARNING = PacketMirroringsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PacketMirroringsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = PacketMirroringsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PacketMirroringsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = PacketMirroringsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PacketMirroringsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PacketMirroringsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PacketMirroringsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = PacketMirroringsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PacketMirroringsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PacketMirroringsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PacketMirroringsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = PacketMirroringsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NEXTHOPNOTRUNNING = PacketMirroringsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PacketMirroringsScopedList_Warning_Code_NOTCRITICALERROR :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NOTCRITICALERROR = PacketMirroringsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PacketMirroringsScopedList_Warning_Code_NORESULTSONPAGE :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_NORESULTSONPAGE = PacketMirroringsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PacketMirroringsScopedList_Warning_Code_PARTIALSUCCESS :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_PARTIALSUCCESS = PacketMirroringsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PacketMirroringsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = PacketMirroringsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PacketMirroringsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = PacketMirroringsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PacketMirroringsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PacketMirroringsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PacketMirroringsScopedList_Warning_Code_RESOURCENOTDELETED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_RESOURCENOTDELETED = PacketMirroringsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PacketMirroringsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = PacketMirroringsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PacketMirroringsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PacketMirroringsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PacketMirroringsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_UNDECLAREDPROPERTIES = PacketMirroringsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PacketMirroringsScopedList_Warning_Code_Unreachable :: PacketMirroringsScopedList_Warning_Code
  pattern PacketMirroringsScopedList_Warning_Code_Unreachable = PacketMirroringsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PacketMirroringsScopedList_Warning_Code_CLEANUPFAILED,
    PacketMirroringsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PacketMirroringsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    PacketMirroringsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PacketMirroringsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    PacketMirroringsScopedList_Warning_Code_EXTERNALAPIWARNING,
    PacketMirroringsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    PacketMirroringsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PacketMirroringsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PacketMirroringsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PacketMirroringsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PacketMirroringsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PacketMirroringsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    PacketMirroringsScopedList_Warning_Code_NOTCRITICALERROR,
    PacketMirroringsScopedList_Warning_Code_NORESULTSONPAGE,
    PacketMirroringsScopedList_Warning_Code_PARTIALSUCCESS,
    PacketMirroringsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PacketMirroringsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    PacketMirroringsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PacketMirroringsScopedList_Warning_Code_RESOURCENOTDELETED,
    PacketMirroringsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PacketMirroringsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PacketMirroringsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    PacketMirroringsScopedList_Warning_Code_Unreachable,
    PacketMirroringsScopedList_Warning_Code
    #-}
  
  -- | The status of applying this per-instance configuration on the corresponding managed instance.
  newtype PerInstanceConfig_Status = PerInstanceConfig_Status {fromPerInstanceConfig_Status :: 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 per-instance configuration is being applied to the instance, but is not yet effective, possibly waiting for the instance to, for example, REFRESH.
  pattern PerInstanceConfig_Status_Applying :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_Applying = PerInstanceConfig_Status "APPLYING"
  
  -- | The per-instance configuration deletion is being applied on the instance, possibly waiting for the instance to, for example, REFRESH.
  pattern PerInstanceConfig_Status_Deleting :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_Deleting = PerInstanceConfig_Status "DELETING"
  
  -- | The per-instance configuration is effective on the instance, meaning that all disks, ips and metadata specified in this configuration are attached or set on the instance.
  pattern PerInstanceConfig_Status_Effective :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_Effective = PerInstanceConfig_Status "EFFECTIVE"
  
  -- | /[Default]/ The default status, when no per-instance configuration exists.
  pattern PerInstanceConfig_Status_None :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_None = PerInstanceConfig_Status "NONE"
  
  -- | The per-instance configuration is set on an instance but not been applied yet.
  pattern PerInstanceConfig_Status_Unapplied :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_Unapplied = PerInstanceConfig_Status "UNAPPLIED"
  
  -- | The per-instance configuration has been deleted, but the deletion is not yet applied.
  pattern PerInstanceConfig_Status_UNAPPLIEDDELETION :: PerInstanceConfig_Status
  pattern PerInstanceConfig_Status_UNAPPLIEDDELETION = PerInstanceConfig_Status "UNAPPLIED_DELETION"
  
  {-# COMPLETE
    PerInstanceConfig_Status_Applying,
    PerInstanceConfig_Status_Deleting,
    PerInstanceConfig_Status_Effective,
    PerInstanceConfig_Status_None,
    PerInstanceConfig_Status_Unapplied,
    PerInstanceConfig_Status_UNAPPLIEDDELETION,
    PerInstanceConfig_Status
    #-}
  
  -- | These stateful disks will never be deleted during autohealing, update, instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
  newtype PreservedStatePreservedDisk_AutoDelete = PreservedStatePreservedDisk_AutoDelete {fromPreservedStatePreservedDisk_AutoDelete :: 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
      )
  
  pattern PreservedStatePreservedDisk_AutoDelete_Never :: PreservedStatePreservedDisk_AutoDelete
  pattern PreservedStatePreservedDisk_AutoDelete_Never = PreservedStatePreservedDisk_AutoDelete "NEVER"
  
  pattern PreservedStatePreservedDisk_AutoDelete_ONPERMANENTINSTANCEDELETION :: PreservedStatePreservedDisk_AutoDelete
  pattern PreservedStatePreservedDisk_AutoDelete_ONPERMANENTINSTANCEDELETION = PreservedStatePreservedDisk_AutoDelete "ON_PERMANENT_INSTANCE_DELETION"
  
  {-# COMPLETE
    PreservedStatePreservedDisk_AutoDelete_Never,
    PreservedStatePreservedDisk_AutoDelete_ONPERMANENTINSTANCEDELETION,
    PreservedStatePreservedDisk_AutoDelete
    #-}
  
  -- | The mode in which to attach this disk, either READ/WRITE or READ/ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.
  newtype PreservedStatePreservedDisk_Mode = PreservedStatePreservedDisk_Mode {fromPreservedStatePreservedDisk_Mode :: 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
      )
  
  -- | Attaches this disk in read-only mode. Multiple VM instances can use a disk in READ_ONLY mode at a time.
  pattern PreservedStatePreservedDisk_Mode_READONLY :: PreservedStatePreservedDisk_Mode
  pattern PreservedStatePreservedDisk_Mode_READONLY = PreservedStatePreservedDisk_Mode "READ_ONLY"
  
  -- | /[Default]/ Attaches this disk in READ/WRITE mode. Only one VM instance at a time can be attached to a disk in READ/WRITE mode.
  pattern PreservedStatePreservedDisk_Mode_READWRITE :: PreservedStatePreservedDisk_Mode
  pattern PreservedStatePreservedDisk_Mode_READWRITE = PreservedStatePreservedDisk_Mode "READ_WRITE"
  
  {-# COMPLETE
    PreservedStatePreservedDisk_Mode_READONLY,
    PreservedStatePreservedDisk_Mode_READWRITE,
    PreservedStatePreservedDisk_Mode
    #-}
  
  -- | These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
  newtype PreservedStatePreservedNetworkIp_AutoDelete = PreservedStatePreservedNetworkIp_AutoDelete {fromPreservedStatePreservedNetworkIp_AutoDelete :: 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
      )
  
  pattern PreservedStatePreservedNetworkIp_AutoDelete_Never :: PreservedStatePreservedNetworkIp_AutoDelete
  pattern PreservedStatePreservedNetworkIp_AutoDelete_Never = PreservedStatePreservedNetworkIp_AutoDelete "NEVER"
  
  pattern PreservedStatePreservedNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION :: PreservedStatePreservedNetworkIp_AutoDelete
  pattern PreservedStatePreservedNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION = PreservedStatePreservedNetworkIp_AutoDelete "ON_PERMANENT_INSTANCE_DELETION"
  
  {-# COMPLETE
    PreservedStatePreservedNetworkIp_AutoDelete_Never,
    PreservedStatePreservedNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION,
    PreservedStatePreservedNetworkIp_AutoDelete
    #-}
  
  -- | [Output Only] The Cloud Armor tier for this project. It can be one of the following values: CA/STANDARD, CA/ENTERPRISE/PAYGO. If this field is not specified, it is assumed to be CA/STANDARD.
  newtype Project_CloudArmorTier = Project_CloudArmorTier {fromProject_CloudArmorTier :: 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
      )
  
  -- | Enterprise tier protection billed annually.
  pattern Project_CloudArmorTier_CAENTERPRISEANNUAL :: Project_CloudArmorTier
  pattern Project_CloudArmorTier_CAENTERPRISEANNUAL = Project_CloudArmorTier "CA_ENTERPRISE_ANNUAL"
  
  -- | Enterprise tier protection billed monthly.
  pattern Project_CloudArmorTier_CAENTERPRISEPAYGO :: Project_CloudArmorTier
  pattern Project_CloudArmorTier_CAENTERPRISEPAYGO = Project_CloudArmorTier "CA_ENTERPRISE_PAYGO"
  
  -- | Standard protection.
  pattern Project_CloudArmorTier_CASTANDARD :: Project_CloudArmorTier
  pattern Project_CloudArmorTier_CASTANDARD = Project_CloudArmorTier "CA_STANDARD"
  
  {-# COMPLETE
    Project_CloudArmorTier_CAENTERPRISEANNUAL,
    Project_CloudArmorTier_CAENTERPRISEPAYGO,
    Project_CloudArmorTier_CASTANDARD,
    Project_CloudArmorTier
    #-}
  
  -- | This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM.
  newtype Project_DefaultNetworkTier = Project_DefaultNetworkTier {fromProject_DefaultNetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern Project_DefaultNetworkTier_FIXEDSTANDARD :: Project_DefaultNetworkTier
  pattern Project_DefaultNetworkTier_FIXEDSTANDARD = Project_DefaultNetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern Project_DefaultNetworkTier_Premium :: Project_DefaultNetworkTier
  pattern Project_DefaultNetworkTier_Premium = Project_DefaultNetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern Project_DefaultNetworkTier_Standard :: Project_DefaultNetworkTier
  pattern Project_DefaultNetworkTier_Standard = Project_DefaultNetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern Project_DefaultNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: Project_DefaultNetworkTier
  pattern Project_DefaultNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = Project_DefaultNetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    Project_DefaultNetworkTier_FIXEDSTANDARD,
    Project_DefaultNetworkTier_Premium,
    Project_DefaultNetworkTier_Standard,
    Project_DefaultNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    Project_DefaultNetworkTier
    #-}
  
  -- | [Output Only] Default internal DNS setting used by VMs running in this project.
  newtype Project_VmDnsSetting = Project_VmDnsSetting {fromProject_VmDnsSetting :: 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
      )
  
  pattern Project_VmDnsSetting_GLOBALDEFAULT :: Project_VmDnsSetting
  pattern Project_VmDnsSetting_GLOBALDEFAULT = Project_VmDnsSetting "GLOBAL_DEFAULT"
  
  pattern Project_VmDnsSetting_UNSPECIFIEDVMDNSSETTING :: Project_VmDnsSetting
  pattern Project_VmDnsSetting_UNSPECIFIEDVMDNSSETTING = Project_VmDnsSetting "UNSPECIFIED_VM_DNS_SETTING"
  
  pattern Project_VmDnsSetting_ZONALDEFAULT :: Project_VmDnsSetting
  pattern Project_VmDnsSetting_ZONALDEFAULT = Project_VmDnsSetting "ZONAL_DEFAULT"
  
  pattern Project_VmDnsSetting_ZONALONLY :: Project_VmDnsSetting
  pattern Project_VmDnsSetting_ZONALONLY = Project_VmDnsSetting "ZONAL_ONLY"
  
  {-# COMPLETE
    Project_VmDnsSetting_GLOBALDEFAULT,
    Project_VmDnsSetting_UNSPECIFIEDVMDNSSETTING,
    Project_VmDnsSetting_ZONALDEFAULT,
    Project_VmDnsSetting_ZONALONLY,
    Project_VmDnsSetting
    #-}
  
  -- | [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated.
  newtype Project_XpnProjectStatus = Project_XpnProjectStatus {fromProject_XpnProjectStatus :: 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
      )
  
  pattern Project_XpnProjectStatus_Host :: Project_XpnProjectStatus
  pattern Project_XpnProjectStatus_Host = Project_XpnProjectStatus "HOST"
  
  pattern Project_XpnProjectStatus_UNSPECIFIEDXPNPROJECTSTATUS :: Project_XpnProjectStatus
  pattern Project_XpnProjectStatus_UNSPECIFIEDXPNPROJECTSTATUS = Project_XpnProjectStatus "UNSPECIFIED_XPN_PROJECT_STATUS"
  
  {-# COMPLETE
    Project_XpnProjectStatus_Host,
    Project_XpnProjectStatus_UNSPECIFIEDXPNPROJECTSTATUS,
    Project_XpnProjectStatus
    #-}
  
  -- | Managed protection tier to be set.
  newtype ProjectsSetCloudArmorTierRequest_CloudArmorTier = ProjectsSetCloudArmorTierRequest_CloudArmorTier {fromProjectsSetCloudArmorTierRequest_CloudArmorTier :: 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
      )
  
  -- | Enterprise tier protection billed annually.
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEANNUAL :: ProjectsSetCloudArmorTierRequest_CloudArmorTier
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEANNUAL = ProjectsSetCloudArmorTierRequest_CloudArmorTier "CA_ENTERPRISE_ANNUAL"
  
  -- | Enterprise tier protection billed monthly.
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEPAYGO :: ProjectsSetCloudArmorTierRequest_CloudArmorTier
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEPAYGO = ProjectsSetCloudArmorTierRequest_CloudArmorTier "CA_ENTERPRISE_PAYGO"
  
  -- | Standard protection.
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CASTANDARD :: ProjectsSetCloudArmorTierRequest_CloudArmorTier
  pattern ProjectsSetCloudArmorTierRequest_CloudArmorTier_CASTANDARD = ProjectsSetCloudArmorTierRequest_CloudArmorTier "CA_STANDARD"
  
  {-# COMPLETE
    ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEANNUAL,
    ProjectsSetCloudArmorTierRequest_CloudArmorTier_CAENTERPRISEPAYGO,
    ProjectsSetCloudArmorTierRequest_CloudArmorTier_CASTANDARD,
    ProjectsSetCloudArmorTierRequest_CloudArmorTier
    #-}
  
  -- | Default network tier to be set.
  newtype ProjectsSetDefaultNetworkTierRequest_NetworkTier = ProjectsSetDefaultNetworkTierRequest_NetworkTier {fromProjectsSetDefaultNetworkTierRequest_NetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_FIXEDSTANDARD :: ProjectsSetDefaultNetworkTierRequest_NetworkTier
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_FIXEDSTANDARD = ProjectsSetDefaultNetworkTierRequest_NetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_Premium :: ProjectsSetDefaultNetworkTierRequest_NetworkTier
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_Premium = ProjectsSetDefaultNetworkTierRequest_NetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_Standard :: ProjectsSetDefaultNetworkTierRequest_NetworkTier
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_Standard = ProjectsSetDefaultNetworkTierRequest_NetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: ProjectsSetDefaultNetworkTierRequest_NetworkTier
  pattern ProjectsSetDefaultNetworkTierRequest_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = ProjectsSetDefaultNetworkTierRequest_NetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    ProjectsSetDefaultNetworkTierRequest_NetworkTier_FIXEDSTANDARD,
    ProjectsSetDefaultNetworkTierRequest_NetworkTier_Premium,
    ProjectsSetDefaultNetworkTierRequest_NetworkTier_Standard,
    ProjectsSetDefaultNetworkTierRequest_NetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    ProjectsSetDefaultNetworkTierRequest_NetworkTier
    #-}
  
  -- | [Output Only] The version of BYOIP API.
  newtype PublicAdvertisedPrefix_ByoipApiVersion = PublicAdvertisedPrefix_ByoipApiVersion {fromPublicAdvertisedPrefix_ByoipApiVersion :: 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
      )
  
  -- | This public advertised prefix can be used to create both regional and global public delegated prefixes. It usually takes 4 weeks to create or delete a public delegated prefix. The BGP status cannot be changed.
  pattern PublicAdvertisedPrefix_ByoipApiVersion_V1 :: PublicAdvertisedPrefix_ByoipApiVersion
  pattern PublicAdvertisedPrefix_ByoipApiVersion_V1 = PublicAdvertisedPrefix_ByoipApiVersion "V1"
  
  -- | This public advertised prefix can only be used to create regional public delegated prefixes. Public delegated prefix creation and deletion takes minutes and the BGP status can be modified.
  pattern PublicAdvertisedPrefix_ByoipApiVersion_V2 :: PublicAdvertisedPrefix_ByoipApiVersion
  pattern PublicAdvertisedPrefix_ByoipApiVersion_V2 = PublicAdvertisedPrefix_ByoipApiVersion "V2"
  
  {-# COMPLETE
    PublicAdvertisedPrefix_ByoipApiVersion_V1,
    PublicAdvertisedPrefix_ByoipApiVersion_V2,
    PublicAdvertisedPrefix_ByoipApiVersion
    #-}
  
  -- | Specifies how child public delegated prefix will be scoped. It could be one of following values: - @REGIONAL@: The public delegated prefix is regional only. The provisioning will take a few minutes. - @GLOBAL@: The public delegated prefix is global only. The provisioning will take ~4 weeks. - @GLOBAL_AND_REGIONAL@ [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.
  newtype PublicAdvertisedPrefix_PdpScope = PublicAdvertisedPrefix_PdpScope {fromPublicAdvertisedPrefix_PdpScope :: 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 public delegated prefix is global only. The provisioning will take ~4 weeks.
  pattern PublicAdvertisedPrefix_PdpScope_Global :: PublicAdvertisedPrefix_PdpScope
  pattern PublicAdvertisedPrefix_PdpScope_Global = PublicAdvertisedPrefix_PdpScope "GLOBAL"
  
  -- | The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2.
  pattern PublicAdvertisedPrefix_PdpScope_GLOBALANDREGIONAL :: PublicAdvertisedPrefix_PdpScope
  pattern PublicAdvertisedPrefix_PdpScope_GLOBALANDREGIONAL = PublicAdvertisedPrefix_PdpScope "GLOBAL_AND_REGIONAL"
  
  -- | The public delegated prefix is regional only. The provisioning will take a few minutes.
  pattern PublicAdvertisedPrefix_PdpScope_Regional :: PublicAdvertisedPrefix_PdpScope
  pattern PublicAdvertisedPrefix_PdpScope_Regional = PublicAdvertisedPrefix_PdpScope "REGIONAL"
  
  {-# COMPLETE
    PublicAdvertisedPrefix_PdpScope_Global,
    PublicAdvertisedPrefix_PdpScope_GLOBALANDREGIONAL,
    PublicAdvertisedPrefix_PdpScope_Regional,
    PublicAdvertisedPrefix_PdpScope
    #-}
  
  -- | The status of the public advertised prefix. Possible values include: - @INITIAL@: RPKI validation is complete. - @PTR_CONFIGURED@: User has configured the PTR. - @VALIDATED@: Reverse DNS lookup is successful. - @REVERSE_DNS_LOOKUP_FAILED@: Reverse DNS lookup failed. - @PREFIX_CONFIGURATION_IN_PROGRESS@: The prefix is being configured. - @PREFIX_CONFIGURATION_COMPLETE@: The prefix is fully configured. - @PREFIX_REMOVAL_IN_PROGRESS@: The prefix is being removed.
  newtype PublicAdvertisedPrefix_Status = PublicAdvertisedPrefix_Status {fromPublicAdvertisedPrefix_Status :: 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 prefix is announced to Internet.
  pattern PublicAdvertisedPrefix_Status_ANNOUNCEDTOINTERNET :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_ANNOUNCEDTOINTERNET = PublicAdvertisedPrefix_Status "ANNOUNCED_TO_INTERNET"
  
  -- | RPKI validation is complete.
  pattern PublicAdvertisedPrefix_Status_Initial :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_Initial = PublicAdvertisedPrefix_Status "INITIAL"
  
  -- | The prefix is fully configured.
  pattern PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONCOMPLETE :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONCOMPLETE = PublicAdvertisedPrefix_Status "PREFIX_CONFIGURATION_COMPLETE"
  
  -- | The prefix is being configured.
  pattern PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONINPROGRESS :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONINPROGRESS = PublicAdvertisedPrefix_Status "PREFIX_CONFIGURATION_IN_PROGRESS"
  
  -- | The prefix is being removed.
  pattern PublicAdvertisedPrefix_Status_PREFIXREMOVALINPROGRESS :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_PREFIXREMOVALINPROGRESS = PublicAdvertisedPrefix_Status "PREFIX_REMOVAL_IN_PROGRESS"
  
  -- | User has configured the PTR.
  pattern PublicAdvertisedPrefix_Status_PTRCONFIGURED :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_PTRCONFIGURED = PublicAdvertisedPrefix_Status "PTR_CONFIGURED"
  
  -- | The prefix is currently withdrawn but ready to be announced.
  pattern PublicAdvertisedPrefix_Status_READYTOANNOUNCE :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_READYTOANNOUNCE = PublicAdvertisedPrefix_Status "READY_TO_ANNOUNCE"
  
  -- | Reverse DNS lookup failed.
  pattern PublicAdvertisedPrefix_Status_REVERSEDNSLOOKUPFAILED :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_REVERSEDNSLOOKUPFAILED = PublicAdvertisedPrefix_Status "REVERSE_DNS_LOOKUP_FAILED"
  
  -- | Reverse DNS lookup is successful.
  pattern PublicAdvertisedPrefix_Status_Validated :: PublicAdvertisedPrefix_Status
  pattern PublicAdvertisedPrefix_Status_Validated = PublicAdvertisedPrefix_Status "VALIDATED"
  
  {-# COMPLETE
    PublicAdvertisedPrefix_Status_ANNOUNCEDTOINTERNET,
    PublicAdvertisedPrefix_Status_Initial,
    PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONCOMPLETE,
    PublicAdvertisedPrefix_Status_PREFIXCONFIGURATIONINPROGRESS,
    PublicAdvertisedPrefix_Status_PREFIXREMOVALINPROGRESS,
    PublicAdvertisedPrefix_Status_PTRCONFIGURED,
    PublicAdvertisedPrefix_Status_READYTOANNOUNCE,
    PublicAdvertisedPrefix_Status_REVERSEDNSLOOKUPFAILED,
    PublicAdvertisedPrefix_Status_Validated,
    PublicAdvertisedPrefix_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PublicAdvertisedPrefixList_Warning_Code = PublicAdvertisedPrefixList_Warning_Code {fromPublicAdvertisedPrefixList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PublicAdvertisedPrefixList_Warning_Code_CLEANUPFAILED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_CLEANUPFAILED = PublicAdvertisedPrefixList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED = PublicAdvertisedPrefixList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDTYPEUSED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDTYPEUSED = PublicAdvertisedPrefixList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PublicAdvertisedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PublicAdvertisedPrefixList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PublicAdvertisedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED = PublicAdvertisedPrefixList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PublicAdvertisedPrefixList_Warning_Code_EXTERNALAPIWARNING :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_EXTERNALAPIWARNING = PublicAdvertisedPrefixList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PublicAdvertisedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN = PublicAdvertisedPrefixList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PublicAdvertisedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED = PublicAdvertisedPrefixList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PublicAdvertisedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PublicAdvertisedPrefixList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PublicAdvertisedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING = PublicAdvertisedPrefixList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PublicAdvertisedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PublicAdvertisedPrefixList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PublicAdvertisedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY = PublicAdvertisedPrefixList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPNOTRUNNING :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NEXTHOPNOTRUNNING = PublicAdvertisedPrefixList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PublicAdvertisedPrefixList_Warning_Code_NOTCRITICALERROR :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NOTCRITICALERROR = PublicAdvertisedPrefixList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PublicAdvertisedPrefixList_Warning_Code_NORESULTSONPAGE :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_NORESULTSONPAGE = PublicAdvertisedPrefixList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PublicAdvertisedPrefixList_Warning_Code_PARTIALSUCCESS :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_PARTIALSUCCESS = PublicAdvertisedPrefixList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PublicAdvertisedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE = PublicAdvertisedPrefixList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PublicAdvertisedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT = PublicAdvertisedPrefixList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PublicAdvertisedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PublicAdvertisedPrefixList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PublicAdvertisedPrefixList_Warning_Code_RESOURCENOTDELETED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_RESOURCENOTDELETED = PublicAdvertisedPrefixList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PublicAdvertisedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED = PublicAdvertisedPrefixList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PublicAdvertisedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PublicAdvertisedPrefixList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PublicAdvertisedPrefixList_Warning_Code_UNDECLAREDPROPERTIES :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_UNDECLAREDPROPERTIES = PublicAdvertisedPrefixList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PublicAdvertisedPrefixList_Warning_Code_Unreachable :: PublicAdvertisedPrefixList_Warning_Code
  pattern PublicAdvertisedPrefixList_Warning_Code_Unreachable = PublicAdvertisedPrefixList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PublicAdvertisedPrefixList_Warning_Code_CLEANUPFAILED,
    PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PublicAdvertisedPrefixList_Warning_Code_DEPRECATEDTYPEUSED,
    PublicAdvertisedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PublicAdvertisedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED,
    PublicAdvertisedPrefixList_Warning_Code_EXTERNALAPIWARNING,
    PublicAdvertisedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN,
    PublicAdvertisedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PublicAdvertisedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PublicAdvertisedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PublicAdvertisedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PublicAdvertisedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PublicAdvertisedPrefixList_Warning_Code_NEXTHOPNOTRUNNING,
    PublicAdvertisedPrefixList_Warning_Code_NOTCRITICALERROR,
    PublicAdvertisedPrefixList_Warning_Code_NORESULTSONPAGE,
    PublicAdvertisedPrefixList_Warning_Code_PARTIALSUCCESS,
    PublicAdvertisedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PublicAdvertisedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT,
    PublicAdvertisedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PublicAdvertisedPrefixList_Warning_Code_RESOURCENOTDELETED,
    PublicAdvertisedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PublicAdvertisedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PublicAdvertisedPrefixList_Warning_Code_UNDECLAREDPROPERTIES,
    PublicAdvertisedPrefixList_Warning_Code_Unreachable,
    PublicAdvertisedPrefixList_Warning_Code
    #-}
  
  -- | [Output Only] The version of BYOIP API.
  newtype PublicDelegatedPrefix_ByoipApiVersion = PublicDelegatedPrefix_ByoipApiVersion {fromPublicDelegatedPrefix_ByoipApiVersion :: 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
      )
  
  -- | This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.
  pattern PublicDelegatedPrefix_ByoipApiVersion_V1 :: PublicDelegatedPrefix_ByoipApiVersion
  pattern PublicDelegatedPrefix_ByoipApiVersion_V1 = PublicDelegatedPrefix_ByoipApiVersion "V1"
  
  -- | This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status.
  pattern PublicDelegatedPrefix_ByoipApiVersion_V2 :: PublicDelegatedPrefix_ByoipApiVersion
  pattern PublicDelegatedPrefix_ByoipApiVersion_V2 = PublicDelegatedPrefix_ByoipApiVersion "V2"
  
  {-# COMPLETE
    PublicDelegatedPrefix_ByoipApiVersion_V1,
    PublicDelegatedPrefix_ByoipApiVersion_V2,
    PublicDelegatedPrefix_ByoipApiVersion
    #-}
  
  -- | The public delegated prefix mode for IPv6 only.
  newtype PublicDelegatedPrefix_Mode = PublicDelegatedPrefix_Mode {fromPublicDelegatedPrefix_Mode :: 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 public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.
  pattern PublicDelegatedPrefix_Mode_Delegation :: PublicDelegatedPrefix_Mode
  pattern PublicDelegatedPrefix_Mode_Delegation = PublicDelegatedPrefix_Mode "DELEGATION"
  
  -- | The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.
  pattern PublicDelegatedPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION :: PublicDelegatedPrefix_Mode
  pattern PublicDelegatedPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION = PublicDelegatedPrefix_Mode "EXTERNAL_IPV6_FORWARDING_RULE_CREATION"
  
  {-# COMPLETE
    PublicDelegatedPrefix_Mode_Delegation,
    PublicDelegatedPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION,
    PublicDelegatedPrefix_Mode
    #-}
  
  -- | [Output Only] The status of the public delegated prefix, which can be one of following values: - @INITIALIZING@ The public delegated prefix is being initialized and addresses cannot be created yet. - @READY_TO_ANNOUNCE@ The public delegated prefix is a live migration prefix and is active. - @ANNOUNCED@ The public delegated prefix is active. - @DELETING@ The public delegated prefix is being deprovsioned.
  newtype PublicDelegatedPrefix_Status = PublicDelegatedPrefix_Status {fromPublicDelegatedPrefix_Status :: 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 public delegated prefix is active.
  pattern PublicDelegatedPrefix_Status_Announced :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_Announced = PublicDelegatedPrefix_Status "ANNOUNCED"
  
  -- | The prefix is announced within Google network.
  pattern PublicDelegatedPrefix_Status_ANNOUNCEDTOGOOGLE :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_ANNOUNCEDTOGOOGLE = PublicDelegatedPrefix_Status "ANNOUNCED_TO_GOOGLE"
  
  -- | The prefix is announced to Internet and within Google.
  pattern PublicDelegatedPrefix_Status_ANNOUNCEDTOINTERNET :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_ANNOUNCEDTOINTERNET = PublicDelegatedPrefix_Status "ANNOUNCED_TO_INTERNET"
  
  -- | The public delegated prefix is being deprovsioned.
  pattern PublicDelegatedPrefix_Status_Deleting :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_Deleting = PublicDelegatedPrefix_Status "DELETING"
  
  -- | The public delegated prefix is being initialized and addresses cannot be created yet.
  pattern PublicDelegatedPrefix_Status_Initializing :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_Initializing = PublicDelegatedPrefix_Status "INITIALIZING"
  
  -- | The public delegated prefix is currently withdrawn but ready to be announced.
  pattern PublicDelegatedPrefix_Status_READYTOANNOUNCE :: PublicDelegatedPrefix_Status
  pattern PublicDelegatedPrefix_Status_READYTOANNOUNCE = PublicDelegatedPrefix_Status "READY_TO_ANNOUNCE"
  
  {-# COMPLETE
    PublicDelegatedPrefix_Status_Announced,
    PublicDelegatedPrefix_Status_ANNOUNCEDTOGOOGLE,
    PublicDelegatedPrefix_Status_ANNOUNCEDTOINTERNET,
    PublicDelegatedPrefix_Status_Deleting,
    PublicDelegatedPrefix_Status_Initializing,
    PublicDelegatedPrefix_Status_READYTOANNOUNCE,
    PublicDelegatedPrefix_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PublicDelegatedPrefixAggregatedList_Warning_Code = PublicDelegatedPrefixAggregatedList_Warning_Code {fromPublicDelegatedPrefixAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_CLEANUPFAILED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_CLEANUPFAILED = PublicDelegatedPrefixAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = PublicDelegatedPrefixAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = PublicDelegatedPrefixAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PublicDelegatedPrefixAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = PublicDelegatedPrefixAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_EXTERNALAPIWARNING :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_EXTERNALAPIWARNING = PublicDelegatedPrefixAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = PublicDelegatedPrefixAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = PublicDelegatedPrefixAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PublicDelegatedPrefixAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = PublicDelegatedPrefixAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PublicDelegatedPrefixAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = PublicDelegatedPrefixAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = PublicDelegatedPrefixAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NOTCRITICALERROR :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NOTCRITICALERROR = PublicDelegatedPrefixAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NORESULTSONPAGE :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_NORESULTSONPAGE = PublicDelegatedPrefixAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_PARTIALSUCCESS :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_PARTIALSUCCESS = PublicDelegatedPrefixAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = PublicDelegatedPrefixAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = PublicDelegatedPrefixAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PublicDelegatedPrefixAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCENOTDELETED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCENOTDELETED = PublicDelegatedPrefixAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = PublicDelegatedPrefixAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PublicDelegatedPrefixAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = PublicDelegatedPrefixAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_Unreachable :: PublicDelegatedPrefixAggregatedList_Warning_Code
  pattern PublicDelegatedPrefixAggregatedList_Warning_Code_Unreachable = PublicDelegatedPrefixAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PublicDelegatedPrefixAggregatedList_Warning_Code_CLEANUPFAILED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PublicDelegatedPrefixAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    PublicDelegatedPrefixAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    PublicDelegatedPrefixAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PublicDelegatedPrefixAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PublicDelegatedPrefixAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NOTCRITICALERROR,
    PublicDelegatedPrefixAggregatedList_Warning_Code_NORESULTSONPAGE,
    PublicDelegatedPrefixAggregatedList_Warning_Code_PARTIALSUCCESS,
    PublicDelegatedPrefixAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PublicDelegatedPrefixAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PublicDelegatedPrefixAggregatedList_Warning_Code_RESOURCENOTDELETED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PublicDelegatedPrefixAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PublicDelegatedPrefixAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    PublicDelegatedPrefixAggregatedList_Warning_Code_Unreachable,
    PublicDelegatedPrefixAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PublicDelegatedPrefixList_Warning_Code = PublicDelegatedPrefixList_Warning_Code {fromPublicDelegatedPrefixList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PublicDelegatedPrefixList_Warning_Code_CLEANUPFAILED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_CLEANUPFAILED = PublicDelegatedPrefixList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PublicDelegatedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED = PublicDelegatedPrefixList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PublicDelegatedPrefixList_Warning_Code_DEPRECATEDTYPEUSED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_DEPRECATEDTYPEUSED = PublicDelegatedPrefixList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PublicDelegatedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PublicDelegatedPrefixList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PublicDelegatedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED = PublicDelegatedPrefixList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PublicDelegatedPrefixList_Warning_Code_EXTERNALAPIWARNING :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_EXTERNALAPIWARNING = PublicDelegatedPrefixList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PublicDelegatedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN = PublicDelegatedPrefixList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PublicDelegatedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED = PublicDelegatedPrefixList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PublicDelegatedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PublicDelegatedPrefixList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PublicDelegatedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING = PublicDelegatedPrefixList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PublicDelegatedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PublicDelegatedPrefixList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PublicDelegatedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY = PublicDelegatedPrefixList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPNOTRUNNING :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NEXTHOPNOTRUNNING = PublicDelegatedPrefixList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PublicDelegatedPrefixList_Warning_Code_NOTCRITICALERROR :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NOTCRITICALERROR = PublicDelegatedPrefixList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PublicDelegatedPrefixList_Warning_Code_NORESULTSONPAGE :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_NORESULTSONPAGE = PublicDelegatedPrefixList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PublicDelegatedPrefixList_Warning_Code_PARTIALSUCCESS :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_PARTIALSUCCESS = PublicDelegatedPrefixList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PublicDelegatedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE = PublicDelegatedPrefixList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PublicDelegatedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT = PublicDelegatedPrefixList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PublicDelegatedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PublicDelegatedPrefixList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PublicDelegatedPrefixList_Warning_Code_RESOURCENOTDELETED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_RESOURCENOTDELETED = PublicDelegatedPrefixList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PublicDelegatedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED = PublicDelegatedPrefixList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PublicDelegatedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PublicDelegatedPrefixList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PublicDelegatedPrefixList_Warning_Code_UNDECLAREDPROPERTIES :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_UNDECLAREDPROPERTIES = PublicDelegatedPrefixList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PublicDelegatedPrefixList_Warning_Code_Unreachable :: PublicDelegatedPrefixList_Warning_Code
  pattern PublicDelegatedPrefixList_Warning_Code_Unreachable = PublicDelegatedPrefixList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PublicDelegatedPrefixList_Warning_Code_CLEANUPFAILED,
    PublicDelegatedPrefixList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PublicDelegatedPrefixList_Warning_Code_DEPRECATEDTYPEUSED,
    PublicDelegatedPrefixList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PublicDelegatedPrefixList_Warning_Code_EXPERIMENTALTYPEUSED,
    PublicDelegatedPrefixList_Warning_Code_EXTERNALAPIWARNING,
    PublicDelegatedPrefixList_Warning_Code_FIELDVALUEOVERRIDEN,
    PublicDelegatedPrefixList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PublicDelegatedPrefixList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PublicDelegatedPrefixList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PublicDelegatedPrefixList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PublicDelegatedPrefixList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PublicDelegatedPrefixList_Warning_Code_NEXTHOPNOTRUNNING,
    PublicDelegatedPrefixList_Warning_Code_NOTCRITICALERROR,
    PublicDelegatedPrefixList_Warning_Code_NORESULTSONPAGE,
    PublicDelegatedPrefixList_Warning_Code_PARTIALSUCCESS,
    PublicDelegatedPrefixList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PublicDelegatedPrefixList_Warning_Code_REQUIREDTOSAGREEMENT,
    PublicDelegatedPrefixList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PublicDelegatedPrefixList_Warning_Code_RESOURCENOTDELETED,
    PublicDelegatedPrefixList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PublicDelegatedPrefixList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PublicDelegatedPrefixList_Warning_Code_UNDECLAREDPROPERTIES,
    PublicDelegatedPrefixList_Warning_Code_Unreachable,
    PublicDelegatedPrefixList_Warning_Code
    #-}
  
  -- | The PublicDelegatedSubPrefix mode for IPv6 only.
  newtype PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode = PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode {fromPublicDelegatedPrefixPublicDelegatedSubPrefix_Mode :: 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 public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_Delegation :: PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_Delegation = PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode "DELEGATION"
  
  -- | The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION :: PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION = PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode "EXTERNAL_IPV6_FORWARDING_RULE_CREATION"
  
  {-# COMPLETE
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_Delegation,
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode_EXTERNALIPV6FORWARDINGRULECREATION,
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Mode
    #-}
  
  -- | [Output Only] The status of the sub public delegated prefix.
  newtype PublicDelegatedPrefixPublicDelegatedSubPrefix_Status = PublicDelegatedPrefixPublicDelegatedSubPrefix_Status {fromPublicDelegatedPrefixPublicDelegatedSubPrefix_Status :: 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
      )
  
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Active :: PublicDelegatedPrefixPublicDelegatedSubPrefix_Status
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Active = PublicDelegatedPrefixPublicDelegatedSubPrefix_Status "ACTIVE"
  
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Inactive :: PublicDelegatedPrefixPublicDelegatedSubPrefix_Status
  pattern PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Inactive = PublicDelegatedPrefixPublicDelegatedSubPrefix_Status "INACTIVE"
  
  {-# COMPLETE
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Active,
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Status_Inactive,
    PublicDelegatedPrefixPublicDelegatedSubPrefix_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype PublicDelegatedPrefixesScopedList_Warning_Code = PublicDelegatedPrefixesScopedList_Warning_Code {fromPublicDelegatedPrefixesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_CLEANUPFAILED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_CLEANUPFAILED = PublicDelegatedPrefixesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = PublicDelegatedPrefixesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDTYPEUSED = PublicDelegatedPrefixesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = PublicDelegatedPrefixesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = PublicDelegatedPrefixesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_EXTERNALAPIWARNING :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_EXTERNALAPIWARNING = PublicDelegatedPrefixesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = PublicDelegatedPrefixesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = PublicDelegatedPrefixesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = PublicDelegatedPrefixesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = PublicDelegatedPrefixesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = PublicDelegatedPrefixesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = PublicDelegatedPrefixesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPNOTRUNNING = PublicDelegatedPrefixesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NOTCRITICALERROR :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NOTCRITICALERROR = PublicDelegatedPrefixesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NORESULTSONPAGE :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_NORESULTSONPAGE = PublicDelegatedPrefixesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_PARTIALSUCCESS :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_PARTIALSUCCESS = PublicDelegatedPrefixesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = PublicDelegatedPrefixesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = PublicDelegatedPrefixesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = PublicDelegatedPrefixesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCENOTDELETED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCENOTDELETED = PublicDelegatedPrefixesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = PublicDelegatedPrefixesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = PublicDelegatedPrefixesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_UNDECLAREDPROPERTIES = PublicDelegatedPrefixesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_Unreachable :: PublicDelegatedPrefixesScopedList_Warning_Code
  pattern PublicDelegatedPrefixesScopedList_Warning_Code_Unreachable = PublicDelegatedPrefixesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    PublicDelegatedPrefixesScopedList_Warning_Code_CLEANUPFAILED,
    PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    PublicDelegatedPrefixesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    PublicDelegatedPrefixesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    PublicDelegatedPrefixesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    PublicDelegatedPrefixesScopedList_Warning_Code_EXTERNALAPIWARNING,
    PublicDelegatedPrefixesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    PublicDelegatedPrefixesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    PublicDelegatedPrefixesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    PublicDelegatedPrefixesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    PublicDelegatedPrefixesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    PublicDelegatedPrefixesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    PublicDelegatedPrefixesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    PublicDelegatedPrefixesScopedList_Warning_Code_NOTCRITICALERROR,
    PublicDelegatedPrefixesScopedList_Warning_Code_NORESULTSONPAGE,
    PublicDelegatedPrefixesScopedList_Warning_Code_PARTIALSUCCESS,
    PublicDelegatedPrefixesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    PublicDelegatedPrefixesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    PublicDelegatedPrefixesScopedList_Warning_Code_RESOURCENOTDELETED,
    PublicDelegatedPrefixesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    PublicDelegatedPrefixesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    PublicDelegatedPrefixesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    PublicDelegatedPrefixesScopedList_Warning_Code_Unreachable,
    PublicDelegatedPrefixesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] Name of the quota metric.
  newtype Quota_Metric = Quota_Metric {fromQuota_Metric :: 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
      )
  
  pattern Quota_Metric_A2CPUS :: Quota_Metric
  pattern Quota_Metric_A2CPUS = Quota_Metric "A2_CPUS"
  
  pattern Quota_Metric_AFFINITYGROUPS :: Quota_Metric
  pattern Quota_Metric_AFFINITYGROUPS = Quota_Metric "AFFINITY_GROUPS"
  
  pattern Quota_Metric_Autoscalers :: Quota_Metric
  pattern Quota_Metric_Autoscalers = Quota_Metric "AUTOSCALERS"
  
  pattern Quota_Metric_BACKENDBUCKETS :: Quota_Metric
  pattern Quota_Metric_BACKENDBUCKETS = Quota_Metric "BACKEND_BUCKETS"
  
  pattern Quota_Metric_BACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_BACKENDSERVICES = Quota_Metric "BACKEND_SERVICES"
  
  pattern Quota_Metric_C2DCPUS :: Quota_Metric
  pattern Quota_Metric_C2DCPUS = Quota_Metric "C2D_CPUS"
  
  pattern Quota_Metric_C2CPUS :: Quota_Metric
  pattern Quota_Metric_C2CPUS = Quota_Metric "C2_CPUS"
  
  pattern Quota_Metric_C3CPUS :: Quota_Metric
  pattern Quota_Metric_C3CPUS = Quota_Metric "C3_CPUS"
  
  pattern Quota_Metric_Commitments :: Quota_Metric
  pattern Quota_Metric_Commitments = Quota_Metric "COMMITMENTS"
  
  pattern Quota_Metric_COMMITTEDA2CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDA2CPUS = Quota_Metric "COMMITTED_A2_CPUS"
  
  pattern Quota_Metric_COMMITTEDC2DCPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDC2DCPUS = Quota_Metric "COMMITTED_C2D_CPUS"
  
  pattern Quota_Metric_COMMITTEDC2CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDC2CPUS = Quota_Metric "COMMITTED_C2_CPUS"
  
  pattern Quota_Metric_COMMITTEDC3CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDC3CPUS = Quota_Metric "COMMITTED_C3_CPUS"
  
  pattern Quota_Metric_COMMITTEDCPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDCPUS = Quota_Metric "COMMITTED_CPUS"
  
  pattern Quota_Metric_COMMITTEDE2CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDE2CPUS = Quota_Metric "COMMITTED_E2_CPUS"
  
  pattern Quota_Metric_COMMITTEDLICENSES :: Quota_Metric
  pattern Quota_Metric_COMMITTEDLICENSES = Quota_Metric "COMMITTED_LICENSES"
  
  pattern Quota_Metric_COMMITTEDLOCALSSDTOTALGB :: Quota_Metric
  pattern Quota_Metric_COMMITTEDLOCALSSDTOTALGB = Quota_Metric "COMMITTED_LOCAL_SSD_TOTAL_GB"
  
  pattern Quota_Metric_COMMITTEDM3CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDM3CPUS = Quota_Metric "COMMITTED_M3_CPUS"
  
  pattern Quota_Metric_COMMITTEDMEMORYOPTIMIZEDCPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDMEMORYOPTIMIZEDCPUS = Quota_Metric "COMMITTED_MEMORY_OPTIMIZED_CPUS"
  
  pattern Quota_Metric_COMMITTEDN2ACPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDN2ACPUS = Quota_Metric "COMMITTED_N2A_CPUS"
  
  pattern Quota_Metric_COMMITTEDN2DCPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDN2DCPUS = Quota_Metric "COMMITTED_N2D_CPUS"
  
  pattern Quota_Metric_COMMITTEDN2CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDN2CPUS = Quota_Metric "COMMITTED_N2_CPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAA10080GBGPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAA10080GBGPUS = Quota_Metric "COMMITTED_NVIDIA_A100_80GB_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAA100GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAA100GPUS = Quota_Metric "COMMITTED_NVIDIA_A100_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAH100GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAH100GPUS = Quota_Metric "COMMITTED_NVIDIA_H100_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAK80GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAK80GPUS = Quota_Metric "COMMITTED_NVIDIA_K80_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAL4GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAL4GPUS = Quota_Metric "COMMITTED_NVIDIA_L4_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAP100GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAP100GPUS = Quota_Metric "COMMITTED_NVIDIA_P100_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAP4GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAP4GPUS = Quota_Metric "COMMITTED_NVIDIA_P4_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAT4GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAT4GPUS = Quota_Metric "COMMITTED_NVIDIA_T4_GPUS"
  
  pattern Quota_Metric_COMMITTEDNVIDIAV100GPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDNVIDIAV100GPUS = Quota_Metric "COMMITTED_NVIDIA_V100_GPUS"
  
  pattern Quota_Metric_COMMITTEDT2ACPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDT2ACPUS = Quota_Metric "COMMITTED_T2A_CPUS"
  
  pattern Quota_Metric_COMMITTEDT2DCPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDT2DCPUS = Quota_Metric "COMMITTED_T2D_CPUS"
  
  pattern Quota_Metric_COMMITTEDZ3CPUS :: Quota_Metric
  pattern Quota_Metric_COMMITTEDZ3CPUS = Quota_Metric "COMMITTED_Z3_CPUS"
  
  -- | Guest CPUs
  pattern Quota_Metric_Cpus :: Quota_Metric
  pattern Quota_Metric_Cpus = Quota_Metric "CPUS"
  
  pattern Quota_Metric_CPUSALLREGIONS :: Quota_Metric
  pattern Quota_Metric_CPUSALLREGIONS = Quota_Metric "CPUS_ALL_REGIONS"
  
  pattern Quota_Metric_DISKSTOTALGB :: Quota_Metric
  pattern Quota_Metric_DISKSTOTALGB = Quota_Metric "DISKS_TOTAL_GB"
  
  pattern Quota_Metric_E2CPUS :: Quota_Metric
  pattern Quota_Metric_E2CPUS = Quota_Metric "E2_CPUS"
  
  pattern Quota_Metric_EXTERNALMANAGEDFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_EXTERNALMANAGEDFORWARDINGRULES = Quota_Metric "EXTERNAL_MANAGED_FORWARDING_RULES"
  
  pattern Quota_Metric_EXTERNALNETWORKLBFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_EXTERNALNETWORKLBFORWARDINGRULES = Quota_Metric "EXTERNAL_NETWORK_LB_FORWARDING_RULES"
  
  pattern Quota_Metric_EXTERNALPROTOCOLFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_EXTERNALPROTOCOLFORWARDINGRULES = Quota_Metric "EXTERNAL_PROTOCOL_FORWARDING_RULES"
  
  pattern Quota_Metric_EXTERNALVPNGATEWAYS :: Quota_Metric
  pattern Quota_Metric_EXTERNALVPNGATEWAYS = Quota_Metric "EXTERNAL_VPN_GATEWAYS"
  
  pattern Quota_Metric_Firewalls :: Quota_Metric
  pattern Quota_Metric_Firewalls = Quota_Metric "FIREWALLS"
  
  pattern Quota_Metric_FORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_FORWARDINGRULES = Quota_Metric "FORWARDING_RULES"
  
  pattern Quota_Metric_GLOBALEXTERNALMANAGEDBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_GLOBALEXTERNALMANAGEDBACKENDSERVICES = Quota_Metric "GLOBAL_EXTERNAL_MANAGED_BACKEND_SERVICES"
  
  pattern Quota_Metric_GLOBALEXTERNALMANAGEDFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_GLOBALEXTERNALMANAGEDFORWARDINGRULES = Quota_Metric "GLOBAL_EXTERNAL_MANAGED_FORWARDING_RULES"
  
  pattern Quota_Metric_GLOBALEXTERNALPROXYLBBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_GLOBALEXTERNALPROXYLBBACKENDSERVICES = Quota_Metric "GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES"
  
  pattern Quota_Metric_GLOBALINTERNALADDRESSES :: Quota_Metric
  pattern Quota_Metric_GLOBALINTERNALADDRESSES = Quota_Metric "GLOBAL_INTERNAL_ADDRESSES"
  
  pattern Quota_Metric_GLOBALINTERNALMANAGEDBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_GLOBALINTERNALMANAGEDBACKENDSERVICES = Quota_Metric "GLOBAL_INTERNAL_MANAGED_BACKEND_SERVICES"
  
  pattern Quota_Metric_GLOBALINTERNALTRAFFICDIRECTORBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_GLOBALINTERNALTRAFFICDIRECTORBACKENDSERVICES = Quota_Metric "GLOBAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES"
  
  pattern Quota_Metric_GPUSALLREGIONS :: Quota_Metric
  pattern Quota_Metric_GPUSALLREGIONS = Quota_Metric "GPUS_ALL_REGIONS"
  
  pattern Quota_Metric_HDBTOTALGB :: Quota_Metric
  pattern Quota_Metric_HDBTOTALGB = Quota_Metric "HDB_TOTAL_GB"
  
  pattern Quota_Metric_HDBTOTALIOPS :: Quota_Metric
  pattern Quota_Metric_HDBTOTALIOPS = Quota_Metric "HDB_TOTAL_IOPS"
  
  pattern Quota_Metric_HDBTOTALTHROUGHPUT :: Quota_Metric
  pattern Quota_Metric_HDBTOTALTHROUGHPUT = Quota_Metric "HDB_TOTAL_THROUGHPUT"
  
  pattern Quota_Metric_HEALTHCHECKS :: Quota_Metric
  pattern Quota_Metric_HEALTHCHECKS = Quota_Metric "HEALTH_CHECKS"
  
  pattern Quota_Metric_Images :: Quota_Metric
  pattern Quota_Metric_Images = Quota_Metric "IMAGES"
  
  pattern Quota_Metric_Instances :: Quota_Metric
  pattern Quota_Metric_Instances = Quota_Metric "INSTANCES"
  
  pattern Quota_Metric_INSTANCEGROUPS :: Quota_Metric
  pattern Quota_Metric_INSTANCEGROUPS = Quota_Metric "INSTANCE_GROUPS"
  
  pattern Quota_Metric_INSTANCEGROUPMANAGERS :: Quota_Metric
  pattern Quota_Metric_INSTANCEGROUPMANAGERS = Quota_Metric "INSTANCE_GROUP_MANAGERS"
  
  pattern Quota_Metric_INSTANCETEMPLATES :: Quota_Metric
  pattern Quota_Metric_INSTANCETEMPLATES = Quota_Metric "INSTANCE_TEMPLATES"
  
  pattern Quota_Metric_Interconnects :: Quota_Metric
  pattern Quota_Metric_Interconnects = Quota_Metric "INTERCONNECTS"
  
  pattern Quota_Metric_INTERCONNECTATTACHMENTSPERREGION :: Quota_Metric
  pattern Quota_Metric_INTERCONNECTATTACHMENTSPERREGION = Quota_Metric "INTERCONNECT_ATTACHMENTS_PER_REGION"
  
  pattern Quota_Metric_INTERCONNECTATTACHMENTSTOTALMBPS :: Quota_Metric
  pattern Quota_Metric_INTERCONNECTATTACHMENTSTOTALMBPS = Quota_Metric "INTERCONNECT_ATTACHMENTS_TOTAL_MBPS"
  
  pattern Quota_Metric_INTERCONNECTTOTALGBPS :: Quota_Metric
  pattern Quota_Metric_INTERCONNECTTOTALGBPS = Quota_Metric "INTERCONNECT_TOTAL_GBPS"
  
  pattern Quota_Metric_INTERNALADDRESSES :: Quota_Metric
  pattern Quota_Metric_INTERNALADDRESSES = Quota_Metric "INTERNAL_ADDRESSES"
  
  pattern Quota_Metric_INTERNALTRAFFICDIRECTORFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_INTERNALTRAFFICDIRECTORFORWARDINGRULES = Quota_Metric "INTERNAL_TRAFFIC_DIRECTOR_FORWARDING_RULES"
  
  pattern Quota_Metric_INPLACESNAPSHOTS :: Quota_Metric
  pattern Quota_Metric_INPLACESNAPSHOTS = Quota_Metric "IN_PLACE_SNAPSHOTS"
  
  pattern Quota_Metric_INUSEADDRESSES :: Quota_Metric
  pattern Quota_Metric_INUSEADDRESSES = Quota_Metric "IN_USE_ADDRESSES"
  
  pattern Quota_Metric_INUSEBACKUPSCHEDULES :: Quota_Metric
  pattern Quota_Metric_INUSEBACKUPSCHEDULES = Quota_Metric "IN_USE_BACKUP_SCHEDULES"
  
  pattern Quota_Metric_INUSESNAPSHOTSCHEDULES :: Quota_Metric
  pattern Quota_Metric_INUSESNAPSHOTSCHEDULES = Quota_Metric "IN_USE_SNAPSHOT_SCHEDULES"
  
  pattern Quota_Metric_LOCALSSDTOTALGB :: Quota_Metric
  pattern Quota_Metric_LOCALSSDTOTALGB = Quota_Metric "LOCAL_SSD_TOTAL_GB"
  
  pattern Quota_Metric_M1CPUS :: Quota_Metric
  pattern Quota_Metric_M1CPUS = Quota_Metric "M1_CPUS"
  
  pattern Quota_Metric_M2CPUS :: Quota_Metric
  pattern Quota_Metric_M2CPUS = Quota_Metric "M2_CPUS"
  
  pattern Quota_Metric_M3CPUS :: Quota_Metric
  pattern Quota_Metric_M3CPUS = Quota_Metric "M3_CPUS"
  
  pattern Quota_Metric_MACHINEIMAGES :: Quota_Metric
  pattern Quota_Metric_MACHINEIMAGES = Quota_Metric "MACHINE_IMAGES"
  
  pattern Quota_Metric_N2ACPUS :: Quota_Metric
  pattern Quota_Metric_N2ACPUS = Quota_Metric "N2A_CPUS"
  
  pattern Quota_Metric_N2DCPUS :: Quota_Metric
  pattern Quota_Metric_N2DCPUS = Quota_Metric "N2D_CPUS"
  
  pattern Quota_Metric_N2CPUS :: Quota_Metric
  pattern Quota_Metric_N2CPUS = Quota_Metric "N2_CPUS"
  
  pattern Quota_Metric_Networks :: Quota_Metric
  pattern Quota_Metric_Networks = Quota_Metric "NETWORKS"
  
  pattern Quota_Metric_NETWORKATTACHMENTS :: Quota_Metric
  pattern Quota_Metric_NETWORKATTACHMENTS = Quota_Metric "NETWORK_ATTACHMENTS"
  
  pattern Quota_Metric_NETWORKENDPOINTGROUPS :: Quota_Metric
  pattern Quota_Metric_NETWORKENDPOINTGROUPS = Quota_Metric "NETWORK_ENDPOINT_GROUPS"
  
  pattern Quota_Metric_NETWORKFIREWALLPOLICIES :: Quota_Metric
  pattern Quota_Metric_NETWORKFIREWALLPOLICIES = Quota_Metric "NETWORK_FIREWALL_POLICIES"
  
  pattern Quota_Metric_NETLBSECURITYPOLICIESPERREGION :: Quota_Metric
  pattern Quota_Metric_NETLBSECURITYPOLICIESPERREGION = Quota_Metric "NET_LB_SECURITY_POLICIES_PER_REGION"
  
  pattern Quota_Metric_NETLBSECURITYPOLICYRULESPERREGION :: Quota_Metric
  pattern Quota_Metric_NETLBSECURITYPOLICYRULESPERREGION = Quota_Metric "NET_LB_SECURITY_POLICY_RULES_PER_REGION"
  
  pattern Quota_Metric_NETLBSECURITYPOLICYRULEATTRIBUTESPERREGION :: Quota_Metric
  pattern Quota_Metric_NETLBSECURITYPOLICYRULEATTRIBUTESPERREGION = Quota_Metric "NET_LB_SECURITY_POLICY_RULE_ATTRIBUTES_PER_REGION"
  
  pattern Quota_Metric_NODEGROUPS :: Quota_Metric
  pattern Quota_Metric_NODEGROUPS = Quota_Metric "NODE_GROUPS"
  
  pattern Quota_Metric_NODETEMPLATES :: Quota_Metric
  pattern Quota_Metric_NODETEMPLATES = Quota_Metric "NODE_TEMPLATES"
  
  pattern Quota_Metric_NVIDIAA10080GBGPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAA10080GBGPUS = Quota_Metric "NVIDIA_A100_80GB_GPUS"
  
  pattern Quota_Metric_NVIDIAA100GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAA100GPUS = Quota_Metric "NVIDIA_A100_GPUS"
  
  pattern Quota_Metric_NVIDIAK80GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAK80GPUS = Quota_Metric "NVIDIA_K80_GPUS"
  
  pattern Quota_Metric_NVIDIAL4GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAL4GPUS = Quota_Metric "NVIDIA_L4_GPUS"
  
  pattern Quota_Metric_NVIDIAP100GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAP100GPUS = Quota_Metric "NVIDIA_P100_GPUS"
  
  pattern Quota_Metric_NVIDIAP100VWSGPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAP100VWSGPUS = Quota_Metric "NVIDIA_P100_VWS_GPUS"
  
  pattern Quota_Metric_NVIDIAP4GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAP4GPUS = Quota_Metric "NVIDIA_P4_GPUS"
  
  pattern Quota_Metric_NVIDIAP4VWSGPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAP4VWSGPUS = Quota_Metric "NVIDIA_P4_VWS_GPUS"
  
  pattern Quota_Metric_NVIDIAT4GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAT4GPUS = Quota_Metric "NVIDIA_T4_GPUS"
  
  pattern Quota_Metric_NVIDIAT4VWSGPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAT4VWSGPUS = Quota_Metric "NVIDIA_T4_VWS_GPUS"
  
  pattern Quota_Metric_NVIDIAV100GPUS :: Quota_Metric
  pattern Quota_Metric_NVIDIAV100GPUS = Quota_Metric "NVIDIA_V100_GPUS"
  
  pattern Quota_Metric_PACKETMIRRORINGS :: Quota_Metric
  pattern Quota_Metric_PACKETMIRRORINGS = Quota_Metric "PACKET_MIRRORINGS"
  
  pattern Quota_Metric_PDEXTREMETOTALPROVISIONEDIOPS :: Quota_Metric
  pattern Quota_Metric_PDEXTREMETOTALPROVISIONEDIOPS = Quota_Metric "PD_EXTREME_TOTAL_PROVISIONED_IOPS"
  
  pattern Quota_Metric_PREEMPTIBLECPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLECPUS = Quota_Metric "PREEMPTIBLE_CPUS"
  
  pattern Quota_Metric_PREEMPTIBLELOCALSSDGB :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLELOCALSSDGB = Quota_Metric "PREEMPTIBLE_LOCAL_SSD_GB"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAA10080GBGPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAA10080GBGPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_A100_80GB_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAA100GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAA100GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_A100_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAH100GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAH100GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_H100_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAK80GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAK80GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_K80_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAL4GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAL4GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_L4_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAP100GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAP100GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_P100_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAP100VWSGPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAP100VWSGPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_P100_VWS_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAP4GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAP4GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_P4_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAP4VWSGPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAP4VWSGPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_P4_VWS_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAT4GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAT4GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_T4_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAT4VWSGPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAT4VWSGPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_T4_VWS_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLENVIDIAV100GPUS :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLENVIDIAV100GPUS = Quota_Metric "PREEMPTIBLE_NVIDIA_V100_GPUS"
  
  pattern Quota_Metric_PREEMPTIBLE_TPU_LITE_DEVICE_V5 :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLE_TPU_LITE_DEVICE_V5 = Quota_Metric "PREEMPTIBLE_TPU_LITE_DEVICE_V5"
  
  pattern Quota_Metric_PREEMPTIBLE_TPU_LITE_PODSLICE_V5 :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLE_TPU_LITE_PODSLICE_V5 = Quota_Metric "PREEMPTIBLE_TPU_LITE_PODSLICE_V5"
  
  pattern Quota_Metric_PREEMPTIBLE_TPU_PODSLICE_V4 :: Quota_Metric
  pattern Quota_Metric_PREEMPTIBLE_TPU_PODSLICE_V4 = Quota_Metric "PREEMPTIBLE_TPU_PODSLICE_V4"
  
  pattern Quota_Metric_PSCILBCONSUMERFORWARDINGRULESPERPRODUCERNETWORK :: Quota_Metric
  pattern Quota_Metric_PSCILBCONSUMERFORWARDINGRULESPERPRODUCERNETWORK = Quota_Metric "PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK"
  
  pattern Quota_Metric_PSCINTERNALLBFORWARDINGRULES :: Quota_Metric
  pattern Quota_Metric_PSCINTERNALLBFORWARDINGRULES = Quota_Metric "PSC_INTERNAL_LB_FORWARDING_RULES"
  
  pattern Quota_Metric_PUBLICADVERTISEDPREFIXES :: Quota_Metric
  pattern Quota_Metric_PUBLICADVERTISEDPREFIXES = Quota_Metric "PUBLIC_ADVERTISED_PREFIXES"
  
  pattern Quota_Metric_PUBLICDELEGATEDPREFIXES :: Quota_Metric
  pattern Quota_Metric_PUBLICDELEGATEDPREFIXES = Quota_Metric "PUBLIC_DELEGATED_PREFIXES"
  
  pattern Quota_Metric_REGIONALAUTOSCALERS :: Quota_Metric
  pattern Quota_Metric_REGIONALAUTOSCALERS = Quota_Metric "REGIONAL_AUTOSCALERS"
  
  pattern Quota_Metric_REGIONALEXTERNALMANAGEDBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_REGIONALEXTERNALMANAGEDBACKENDSERVICES = Quota_Metric "REGIONAL_EXTERNAL_MANAGED_BACKEND_SERVICES"
  
  pattern Quota_Metric_REGIONALEXTERNALNETWORKLBBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_REGIONALEXTERNALNETWORKLBBACKENDSERVICES = Quota_Metric "REGIONAL_EXTERNAL_NETWORK_LB_BACKEND_SERVICES"
  
  pattern Quota_Metric_REGIONALINSTANCEGROUPMANAGERS :: Quota_Metric
  pattern Quota_Metric_REGIONALINSTANCEGROUPMANAGERS = Quota_Metric "REGIONAL_INSTANCE_GROUP_MANAGERS"
  
  pattern Quota_Metric_REGIONALINTERNALLBBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_REGIONALINTERNALLBBACKENDSERVICES = Quota_Metric "REGIONAL_INTERNAL_LB_BACKEND_SERVICES"
  
  pattern Quota_Metric_REGIONALINTERNALMANAGEDBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_REGIONALINTERNALMANAGEDBACKENDSERVICES = Quota_Metric "REGIONAL_INTERNAL_MANAGED_BACKEND_SERVICES"
  
  pattern Quota_Metric_REGIONALINTERNALTRAFFICDIRECTORBACKENDSERVICES :: Quota_Metric
  pattern Quota_Metric_REGIONALINTERNALTRAFFICDIRECTORBACKENDSERVICES = Quota_Metric "REGIONAL_INTERNAL_TRAFFIC_DIRECTOR_BACKEND_SERVICES"
  
  pattern Quota_Metric_Reservations :: Quota_Metric
  pattern Quota_Metric_Reservations = Quota_Metric "RESERVATIONS"
  
  pattern Quota_Metric_RESOURCEPOLICIES :: Quota_Metric
  pattern Quota_Metric_RESOURCEPOLICIES = Quota_Metric "RESOURCE_POLICIES"
  
  pattern Quota_Metric_Routers :: Quota_Metric
  pattern Quota_Metric_Routers = Quota_Metric "ROUTERS"
  
  pattern Quota_Metric_Routes :: Quota_Metric
  pattern Quota_Metric_Routes = Quota_Metric "ROUTES"
  
  pattern Quota_Metric_SECURITYPOLICIES :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICIES = Quota_Metric "SECURITY_POLICIES"
  
  pattern Quota_Metric_SECURITYPOLICIESPERREGION :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICIESPERREGION = Quota_Metric "SECURITY_POLICIES_PER_REGION"
  
  pattern Quota_Metric_SECURITYPOLICYADVANCEDRULESPERREGION :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICYADVANCEDRULESPERREGION = Quota_Metric "SECURITY_POLICY_ADVANCED_RULES_PER_REGION"
  
  pattern Quota_Metric_SECURITYPOLICYCEVALRULES :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICYCEVALRULES = Quota_Metric "SECURITY_POLICY_CEVAL_RULES"
  
  pattern Quota_Metric_SECURITYPOLICYRULES :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICYRULES = Quota_Metric "SECURITY_POLICY_RULES"
  
  pattern Quota_Metric_SECURITYPOLICYRULESPERREGION :: Quota_Metric
  pattern Quota_Metric_SECURITYPOLICYRULESPERREGION = Quota_Metric "SECURITY_POLICY_RULES_PER_REGION"
  
  pattern Quota_Metric_SERVICEATTACHMENTS :: Quota_Metric
  pattern Quota_Metric_SERVICEATTACHMENTS = Quota_Metric "SERVICE_ATTACHMENTS"
  
  -- | The total number of snapshots allowed for a single project.
  pattern Quota_Metric_Snapshots :: Quota_Metric
  pattern Quota_Metric_Snapshots = Quota_Metric "SNAPSHOTS"
  
  pattern Quota_Metric_SSDTOTALGB :: Quota_Metric
  pattern Quota_Metric_SSDTOTALGB = Quota_Metric "SSD_TOTAL_GB"
  
  pattern Quota_Metric_SSLCERTIFICATES :: Quota_Metric
  pattern Quota_Metric_SSLCERTIFICATES = Quota_Metric "SSL_CERTIFICATES"
  
  pattern Quota_Metric_SSLPOLICIES :: Quota_Metric
  pattern Quota_Metric_SSLPOLICIES = Quota_Metric "SSL_POLICIES"
  
  pattern Quota_Metric_STATICADDRESSES :: Quota_Metric
  pattern Quota_Metric_STATICADDRESSES = Quota_Metric "STATIC_ADDRESSES"
  
  pattern Quota_Metric_STATICBYOIPADDRESSES :: Quota_Metric
  pattern Quota_Metric_STATICBYOIPADDRESSES = Quota_Metric "STATIC_BYOIP_ADDRESSES"
  
  pattern Quota_Metric_STATICEXTERNALIPV6ADDRESSRANGES :: Quota_Metric
  pattern Quota_Metric_STATICEXTERNALIPV6ADDRESSRANGES = Quota_Metric "STATIC_EXTERNAL_IPV6_ADDRESS_RANGES"
  
  pattern Quota_Metric_Subnetworks :: Quota_Metric
  pattern Quota_Metric_Subnetworks = Quota_Metric "SUBNETWORKS"
  
  pattern Quota_Metric_T2ACPUS :: Quota_Metric
  pattern Quota_Metric_T2ACPUS = Quota_Metric "T2A_CPUS"
  
  pattern Quota_Metric_T2DCPUS :: Quota_Metric
  pattern Quota_Metric_T2DCPUS = Quota_Metric "T2D_CPUS"
  
  pattern Quota_Metric_TARGETHTTPSPROXIES :: Quota_Metric
  pattern Quota_Metric_TARGETHTTPSPROXIES = Quota_Metric "TARGET_HTTPS_PROXIES"
  
  pattern Quota_Metric_TARGETHTTPPROXIES :: Quota_Metric
  pattern Quota_Metric_TARGETHTTPPROXIES = Quota_Metric "TARGET_HTTP_PROXIES"
  
  pattern Quota_Metric_TARGETINSTANCES :: Quota_Metric
  pattern Quota_Metric_TARGETINSTANCES = Quota_Metric "TARGET_INSTANCES"
  
  pattern Quota_Metric_TARGETPOOLS :: Quota_Metric
  pattern Quota_Metric_TARGETPOOLS = Quota_Metric "TARGET_POOLS"
  
  pattern Quota_Metric_TARGETSSLPROXIES :: Quota_Metric
  pattern Quota_Metric_TARGETSSLPROXIES = Quota_Metric "TARGET_SSL_PROXIES"
  
  pattern Quota_Metric_TARGETTCPPROXIES :: Quota_Metric
  pattern Quota_Metric_TARGETTCPPROXIES = Quota_Metric "TARGET_TCP_PROXIES"
  
  pattern Quota_Metric_TARGETVPNGATEWAYS :: Quota_Metric
  pattern Quota_Metric_TARGETVPNGATEWAYS = Quota_Metric "TARGET_VPN_GATEWAYS"
  
  pattern Quota_Metric_TPU_LITE_DEVICE_V5 :: Quota_Metric
  pattern Quota_Metric_TPU_LITE_DEVICE_V5 = Quota_Metric "TPU_LITE_DEVICE_V5"
  
  pattern Quota_Metric_TPU_LITE_PODSLICE_V5 :: Quota_Metric
  pattern Quota_Metric_TPU_LITE_PODSLICE_V5 = Quota_Metric "TPU_LITE_PODSLICE_V5"
  
  pattern Quota_Metric_TPU_PODSLICE_V4 :: Quota_Metric
  pattern Quota_Metric_TPU_PODSLICE_V4 = Quota_Metric "TPU_PODSLICE_V4"
  
  pattern Quota_Metric_URLMAPS :: Quota_Metric
  pattern Quota_Metric_URLMAPS = Quota_Metric "URL_MAPS"
  
  pattern Quota_Metric_VARIABLEIPV6PUBLICDELEGATEDPREFIXES :: Quota_Metric
  pattern Quota_Metric_VARIABLEIPV6PUBLICDELEGATEDPREFIXES = Quota_Metric "VARIABLE_IPV6_PUBLIC_DELEGATED_PREFIXES"
  
  pattern Quota_Metric_VPNGATEWAYS :: Quota_Metric
  pattern Quota_Metric_VPNGATEWAYS = Quota_Metric "VPN_GATEWAYS"
  
  pattern Quota_Metric_VPNTUNNELS :: Quota_Metric
  pattern Quota_Metric_VPNTUNNELS = Quota_Metric "VPN_TUNNELS"
  
  pattern Quota_Metric_XPNSERVICEPROJECTS :: Quota_Metric
  pattern Quota_Metric_XPNSERVICEPROJECTS = Quota_Metric "XPN_SERVICE_PROJECTS"
  
  {-# COMPLETE
    Quota_Metric_A2CPUS,
    Quota_Metric_AFFINITYGROUPS,
    Quota_Metric_Autoscalers,
    Quota_Metric_BACKENDBUCKETS,
    Quota_Metric_BACKENDSERVICES,
    Quota_Metric_C2DCPUS,
    Quota_Metric_C2CPUS,
    Quota_Metric_C3CPUS,
    Quota_Metric_Commitments,
    Quota_Metric_COMMITTEDA2CPUS,
    Quota_Metric_COMMITTEDC2DCPUS,
    Quota_Metric_COMMITTEDC2CPUS,
    Quota_Metric_COMMITTEDC3CPUS,
    Quota_Metric_COMMITTEDCPUS,
    Quota_Metric_COMMITTEDE2CPUS,
    Quota_Metric_COMMITTEDLICENSES,
    Quota_Metric_COMMITTEDLOCALSSDTOTALGB,
    Quota_Metric_COMMITTEDM3CPUS,
    Quota_Metric_COMMITTEDMEMORYOPTIMIZEDCPUS,
    Quota_Metric_COMMITTEDN2ACPUS,
    Quota_Metric_COMMITTEDN2DCPUS,
    Quota_Metric_COMMITTEDN2CPUS,
    Quota_Metric_COMMITTEDNVIDIAA10080GBGPUS,
    Quota_Metric_COMMITTEDNVIDIAA100GPUS,
    Quota_Metric_COMMITTEDNVIDIAH100GPUS,
    Quota_Metric_COMMITTEDNVIDIAK80GPUS,
    Quota_Metric_COMMITTEDNVIDIAL4GPUS,
    Quota_Metric_COMMITTEDNVIDIAP100GPUS,
    Quota_Metric_COMMITTEDNVIDIAP4GPUS,
    Quota_Metric_COMMITTEDNVIDIAT4GPUS,
    Quota_Metric_COMMITTEDNVIDIAV100GPUS,
    Quota_Metric_COMMITTEDT2ACPUS,
    Quota_Metric_COMMITTEDT2DCPUS,
    Quota_Metric_COMMITTEDZ3CPUS,
    Quota_Metric_Cpus,
    Quota_Metric_CPUSALLREGIONS,
    Quota_Metric_DISKSTOTALGB,
    Quota_Metric_E2CPUS,
    Quota_Metric_EXTERNALMANAGEDFORWARDINGRULES,
    Quota_Metric_EXTERNALNETWORKLBFORWARDINGRULES,
    Quota_Metric_EXTERNALPROTOCOLFORWARDINGRULES,
    Quota_Metric_EXTERNALVPNGATEWAYS,
    Quota_Metric_Firewalls,
    Quota_Metric_FORWARDINGRULES,
    Quota_Metric_GLOBALEXTERNALMANAGEDBACKENDSERVICES,
    Quota_Metric_GLOBALEXTERNALMANAGEDFORWARDINGRULES,
    Quota_Metric_GLOBALEXTERNALPROXYLBBACKENDSERVICES,
    Quota_Metric_GLOBALINTERNALADDRESSES,
    Quota_Metric_GLOBALINTERNALMANAGEDBACKENDSERVICES,
    Quota_Metric_GLOBALINTERNALTRAFFICDIRECTORBACKENDSERVICES,
    Quota_Metric_GPUSALLREGIONS,
    Quota_Metric_HDBTOTALGB,
    Quota_Metric_HDBTOTALIOPS,
    Quota_Metric_HDBTOTALTHROUGHPUT,
    Quota_Metric_HEALTHCHECKS,
    Quota_Metric_Images,
    Quota_Metric_Instances,
    Quota_Metric_INSTANCEGROUPS,
    Quota_Metric_INSTANCEGROUPMANAGERS,
    Quota_Metric_INSTANCETEMPLATES,
    Quota_Metric_Interconnects,
    Quota_Metric_INTERCONNECTATTACHMENTSPERREGION,
    Quota_Metric_INTERCONNECTATTACHMENTSTOTALMBPS,
    Quota_Metric_INTERCONNECTTOTALGBPS,
    Quota_Metric_INTERNALADDRESSES,
    Quota_Metric_INTERNALTRAFFICDIRECTORFORWARDINGRULES,
    Quota_Metric_INPLACESNAPSHOTS,
    Quota_Metric_INUSEADDRESSES,
    Quota_Metric_INUSEBACKUPSCHEDULES,
    Quota_Metric_INUSESNAPSHOTSCHEDULES,
    Quota_Metric_LOCALSSDTOTALGB,
    Quota_Metric_M1CPUS,
    Quota_Metric_M2CPUS,
    Quota_Metric_M3CPUS,
    Quota_Metric_MACHINEIMAGES,
    Quota_Metric_N2ACPUS,
    Quota_Metric_N2DCPUS,
    Quota_Metric_N2CPUS,
    Quota_Metric_Networks,
    Quota_Metric_NETWORKATTACHMENTS,
    Quota_Metric_NETWORKENDPOINTGROUPS,
    Quota_Metric_NETWORKFIREWALLPOLICIES,
    Quota_Metric_NETLBSECURITYPOLICIESPERREGION,
    Quota_Metric_NETLBSECURITYPOLICYRULESPERREGION,
    Quota_Metric_NETLBSECURITYPOLICYRULEATTRIBUTESPERREGION,
    Quota_Metric_NODEGROUPS,
    Quota_Metric_NODETEMPLATES,
    Quota_Metric_NVIDIAA10080GBGPUS,
    Quota_Metric_NVIDIAA100GPUS,
    Quota_Metric_NVIDIAK80GPUS,
    Quota_Metric_NVIDIAL4GPUS,
    Quota_Metric_NVIDIAP100GPUS,
    Quota_Metric_NVIDIAP100VWSGPUS,
    Quota_Metric_NVIDIAP4GPUS,
    Quota_Metric_NVIDIAP4VWSGPUS,
    Quota_Metric_NVIDIAT4GPUS,
    Quota_Metric_NVIDIAT4VWSGPUS,
    Quota_Metric_NVIDIAV100GPUS,
    Quota_Metric_PACKETMIRRORINGS,
    Quota_Metric_PDEXTREMETOTALPROVISIONEDIOPS,
    Quota_Metric_PREEMPTIBLECPUS,
    Quota_Metric_PREEMPTIBLELOCALSSDGB,
    Quota_Metric_PREEMPTIBLENVIDIAA10080GBGPUS,
    Quota_Metric_PREEMPTIBLENVIDIAA100GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAH100GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAK80GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAL4GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAP100GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAP100VWSGPUS,
    Quota_Metric_PREEMPTIBLENVIDIAP4GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAP4VWSGPUS,
    Quota_Metric_PREEMPTIBLENVIDIAT4GPUS,
    Quota_Metric_PREEMPTIBLENVIDIAT4VWSGPUS,
    Quota_Metric_PREEMPTIBLENVIDIAV100GPUS,
    Quota_Metric_PREEMPTIBLE_TPU_LITE_DEVICE_V5,
    Quota_Metric_PREEMPTIBLE_TPU_LITE_PODSLICE_V5,
    Quota_Metric_PREEMPTIBLE_TPU_PODSLICE_V4,
    Quota_Metric_PSCILBCONSUMERFORWARDINGRULESPERPRODUCERNETWORK,
    Quota_Metric_PSCINTERNALLBFORWARDINGRULES,
    Quota_Metric_PUBLICADVERTISEDPREFIXES,
    Quota_Metric_PUBLICDELEGATEDPREFIXES,
    Quota_Metric_REGIONALAUTOSCALERS,
    Quota_Metric_REGIONALEXTERNALMANAGEDBACKENDSERVICES,
    Quota_Metric_REGIONALEXTERNALNETWORKLBBACKENDSERVICES,
    Quota_Metric_REGIONALINSTANCEGROUPMANAGERS,
    Quota_Metric_REGIONALINTERNALLBBACKENDSERVICES,
    Quota_Metric_REGIONALINTERNALMANAGEDBACKENDSERVICES,
    Quota_Metric_REGIONALINTERNALTRAFFICDIRECTORBACKENDSERVICES,
    Quota_Metric_Reservations,
    Quota_Metric_RESOURCEPOLICIES,
    Quota_Metric_Routers,
    Quota_Metric_Routes,
    Quota_Metric_SECURITYPOLICIES,
    Quota_Metric_SECURITYPOLICIESPERREGION,
    Quota_Metric_SECURITYPOLICYADVANCEDRULESPERREGION,
    Quota_Metric_SECURITYPOLICYCEVALRULES,
    Quota_Metric_SECURITYPOLICYRULES,
    Quota_Metric_SECURITYPOLICYRULESPERREGION,
    Quota_Metric_SERVICEATTACHMENTS,
    Quota_Metric_Snapshots,
    Quota_Metric_SSDTOTALGB,
    Quota_Metric_SSLCERTIFICATES,
    Quota_Metric_SSLPOLICIES,
    Quota_Metric_STATICADDRESSES,
    Quota_Metric_STATICBYOIPADDRESSES,
    Quota_Metric_STATICEXTERNALIPV6ADDRESSRANGES,
    Quota_Metric_Subnetworks,
    Quota_Metric_T2ACPUS,
    Quota_Metric_T2DCPUS,
    Quota_Metric_TARGETHTTPSPROXIES,
    Quota_Metric_TARGETHTTPPROXIES,
    Quota_Metric_TARGETINSTANCES,
    Quota_Metric_TARGETPOOLS,
    Quota_Metric_TARGETSSLPROXIES,
    Quota_Metric_TARGETTCPPROXIES,
    Quota_Metric_TARGETVPNGATEWAYS,
    Quota_Metric_TPU_LITE_DEVICE_V5,
    Quota_Metric_TPU_LITE_PODSLICE_V5,
    Quota_Metric_TPU_PODSLICE_V4,
    Quota_Metric_URLMAPS,
    Quota_Metric_VARIABLEIPV6PUBLICDELEGATEDPREFIXES,
    Quota_Metric_VPNGATEWAYS,
    Quota_Metric_VPNTUNNELS,
    Quota_Metric_XPNSERVICEPROJECTS,
    Quota_Metric
    #-}
  
  -- | Rollout status of the future quota limit.
  newtype QuotaExceededInfo_RolloutStatus = QuotaExceededInfo_RolloutStatus {fromQuotaExceededInfo_RolloutStatus :: 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
      )
  
  -- | IN_PROGRESS - A rollout is in process which will change the limit value to future limit.
  pattern QuotaExceededInfo_RolloutStatus_INPROGRESS :: QuotaExceededInfo_RolloutStatus
  pattern QuotaExceededInfo_RolloutStatus_INPROGRESS = QuotaExceededInfo_RolloutStatus "IN_PROGRESS"
  
  -- | ROLLOUT/STATUS/UNSPECIFIED - Rollout status is not specified. The default value.
  pattern QuotaExceededInfo_RolloutStatus_ROLLOUTSTATUSUNSPECIFIED :: QuotaExceededInfo_RolloutStatus
  pattern QuotaExceededInfo_RolloutStatus_ROLLOUTSTATUSUNSPECIFIED = QuotaExceededInfo_RolloutStatus "ROLLOUT_STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    QuotaExceededInfo_RolloutStatus_INPROGRESS,
    QuotaExceededInfo_RolloutStatus_ROLLOUTSTATUSUNSPECIFIED,
    QuotaExceededInfo_RolloutStatus
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype Region_QuotaStatusWarning_Code = Region_QuotaStatusWarning_Code {fromRegion_QuotaStatusWarning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern Region_QuotaStatusWarning_Code_CLEANUPFAILED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_CLEANUPFAILED = Region_QuotaStatusWarning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern Region_QuotaStatusWarning_Code_DEPRECATEDRESOURCEUSED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_DEPRECATEDRESOURCEUSED = Region_QuotaStatusWarning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern Region_QuotaStatusWarning_Code_DEPRECATEDTYPEUSED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_DEPRECATEDTYPEUSED = Region_QuotaStatusWarning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern Region_QuotaStatusWarning_Code_DISKSIZELARGERTHANIMAGESIZE :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_DISKSIZELARGERTHANIMAGESIZE = Region_QuotaStatusWarning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern Region_QuotaStatusWarning_Code_EXPERIMENTALTYPEUSED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_EXPERIMENTALTYPEUSED = Region_QuotaStatusWarning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern Region_QuotaStatusWarning_Code_EXTERNALAPIWARNING :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_EXTERNALAPIWARNING = Region_QuotaStatusWarning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern Region_QuotaStatusWarning_Code_FIELDVALUEOVERRIDEN :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_FIELDVALUEOVERRIDEN = Region_QuotaStatusWarning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern Region_QuotaStatusWarning_Code_INJECTEDKERNELSDEPRECATED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_INJECTEDKERNELSDEPRECATED = Region_QuotaStatusWarning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern Region_QuotaStatusWarning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = Region_QuotaStatusWarning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern Region_QuotaStatusWarning_Code_LARGEDEPLOYMENTWARNING :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_LARGEDEPLOYMENTWARNING = Region_QuotaStatusWarning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern Region_QuotaStatusWarning_Code_LISTOVERHEADQUOTAEXCEED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_LISTOVERHEADQUOTAEXCEED = Region_QuotaStatusWarning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern Region_QuotaStatusWarning_Code_MISSINGTYPEDEPENDENCY :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_MISSINGTYPEDEPENDENCY = Region_QuotaStatusWarning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPADDRESSNOTASSIGNED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPADDRESSNOTASSIGNED = Region_QuotaStatusWarning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPCANNOTIPFORWARD :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPCANNOTIPFORWARD = Region_QuotaStatusWarning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = Region_QuotaStatusWarning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTFOUND :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTFOUND = Region_QuotaStatusWarning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTONNETWORK :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTONNETWORK = Region_QuotaStatusWarning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern Region_QuotaStatusWarning_Code_NEXTHOPNOTRUNNING :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NEXTHOPNOTRUNNING = Region_QuotaStatusWarning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern Region_QuotaStatusWarning_Code_NOTCRITICALERROR :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NOTCRITICALERROR = Region_QuotaStatusWarning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern Region_QuotaStatusWarning_Code_NORESULTSONPAGE :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_NORESULTSONPAGE = Region_QuotaStatusWarning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern Region_QuotaStatusWarning_Code_PARTIALSUCCESS :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_PARTIALSUCCESS = Region_QuotaStatusWarning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern Region_QuotaStatusWarning_Code_QUOTAINFOUNAVAILABLE :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_QUOTAINFOUNAVAILABLE = Region_QuotaStatusWarning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern Region_QuotaStatusWarning_Code_REQUIREDTOSAGREEMENT :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_REQUIREDTOSAGREEMENT = Region_QuotaStatusWarning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern Region_QuotaStatusWarning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = Region_QuotaStatusWarning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern Region_QuotaStatusWarning_Code_RESOURCENOTDELETED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_RESOURCENOTDELETED = Region_QuotaStatusWarning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern Region_QuotaStatusWarning_Code_SCHEMAVALIDATIONIGNORED :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_SCHEMAVALIDATIONIGNORED = Region_QuotaStatusWarning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern Region_QuotaStatusWarning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = Region_QuotaStatusWarning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern Region_QuotaStatusWarning_Code_UNDECLAREDPROPERTIES :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_UNDECLAREDPROPERTIES = Region_QuotaStatusWarning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern Region_QuotaStatusWarning_Code_Unreachable :: Region_QuotaStatusWarning_Code
  pattern Region_QuotaStatusWarning_Code_Unreachable = Region_QuotaStatusWarning_Code "UNREACHABLE"
  
  {-# COMPLETE
    Region_QuotaStatusWarning_Code_CLEANUPFAILED,
    Region_QuotaStatusWarning_Code_DEPRECATEDRESOURCEUSED,
    Region_QuotaStatusWarning_Code_DEPRECATEDTYPEUSED,
    Region_QuotaStatusWarning_Code_DISKSIZELARGERTHANIMAGESIZE,
    Region_QuotaStatusWarning_Code_EXPERIMENTALTYPEUSED,
    Region_QuotaStatusWarning_Code_EXTERNALAPIWARNING,
    Region_QuotaStatusWarning_Code_FIELDVALUEOVERRIDEN,
    Region_QuotaStatusWarning_Code_INJECTEDKERNELSDEPRECATED,
    Region_QuotaStatusWarning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    Region_QuotaStatusWarning_Code_LARGEDEPLOYMENTWARNING,
    Region_QuotaStatusWarning_Code_LISTOVERHEADQUOTAEXCEED,
    Region_QuotaStatusWarning_Code_MISSINGTYPEDEPENDENCY,
    Region_QuotaStatusWarning_Code_NEXTHOPADDRESSNOTASSIGNED,
    Region_QuotaStatusWarning_Code_NEXTHOPCANNOTIPFORWARD,
    Region_QuotaStatusWarning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTFOUND,
    Region_QuotaStatusWarning_Code_NEXTHOPINSTANCENOTONNETWORK,
    Region_QuotaStatusWarning_Code_NEXTHOPNOTRUNNING,
    Region_QuotaStatusWarning_Code_NOTCRITICALERROR,
    Region_QuotaStatusWarning_Code_NORESULTSONPAGE,
    Region_QuotaStatusWarning_Code_PARTIALSUCCESS,
    Region_QuotaStatusWarning_Code_QUOTAINFOUNAVAILABLE,
    Region_QuotaStatusWarning_Code_REQUIREDTOSAGREEMENT,
    Region_QuotaStatusWarning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    Region_QuotaStatusWarning_Code_RESOURCENOTDELETED,
    Region_QuotaStatusWarning_Code_SCHEMAVALIDATIONIGNORED,
    Region_QuotaStatusWarning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    Region_QuotaStatusWarning_Code_UNDECLAREDPROPERTIES,
    Region_QuotaStatusWarning_Code_Unreachable,
    Region_QuotaStatusWarning_Code
    #-}
  
  -- | [Output Only] Status of the region, either UP or DOWN.
  newtype Region_Status = Region_Status {fromRegion_Status :: 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
      )
  
  pattern Region_Status_Down :: Region_Status
  pattern Region_Status_Down = Region_Status "DOWN"
  
  pattern Region_Status_UP :: Region_Status
  pattern Region_Status_UP = Region_Status "UP"
  
  {-# COMPLETE
    Region_Status_Down,
    Region_Status_UP,
    Region_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionAutoscalerList_Warning_Code = RegionAutoscalerList_Warning_Code {fromRegionAutoscalerList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionAutoscalerList_Warning_Code_CLEANUPFAILED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_CLEANUPFAILED = RegionAutoscalerList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionAutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED = RegionAutoscalerList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionAutoscalerList_Warning_Code_DEPRECATEDTYPEUSED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_DEPRECATEDTYPEUSED = RegionAutoscalerList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionAutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionAutoscalerList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionAutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED = RegionAutoscalerList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionAutoscalerList_Warning_Code_EXTERNALAPIWARNING :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_EXTERNALAPIWARNING = RegionAutoscalerList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionAutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN = RegionAutoscalerList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionAutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionAutoscalerList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionAutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionAutoscalerList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionAutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING = RegionAutoscalerList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionAutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionAutoscalerList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionAutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY = RegionAutoscalerList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionAutoscalerList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionAutoscalerList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionAutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionAutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionAutoscalerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPNOTRUNNING :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NEXTHOPNOTRUNNING = RegionAutoscalerList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionAutoscalerList_Warning_Code_NOTCRITICALERROR :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NOTCRITICALERROR = RegionAutoscalerList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionAutoscalerList_Warning_Code_NORESULTSONPAGE :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_NORESULTSONPAGE = RegionAutoscalerList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionAutoscalerList_Warning_Code_PARTIALSUCCESS :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_PARTIALSUCCESS = RegionAutoscalerList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionAutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE = RegionAutoscalerList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionAutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT = RegionAutoscalerList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionAutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionAutoscalerList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionAutoscalerList_Warning_Code_RESOURCENOTDELETED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_RESOURCENOTDELETED = RegionAutoscalerList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionAutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionAutoscalerList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionAutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionAutoscalerList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionAutoscalerList_Warning_Code_UNDECLAREDPROPERTIES :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_UNDECLAREDPROPERTIES = RegionAutoscalerList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionAutoscalerList_Warning_Code_Unreachable :: RegionAutoscalerList_Warning_Code
  pattern RegionAutoscalerList_Warning_Code_Unreachable = RegionAutoscalerList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionAutoscalerList_Warning_Code_CLEANUPFAILED,
    RegionAutoscalerList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionAutoscalerList_Warning_Code_DEPRECATEDTYPEUSED,
    RegionAutoscalerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionAutoscalerList_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionAutoscalerList_Warning_Code_EXTERNALAPIWARNING,
    RegionAutoscalerList_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionAutoscalerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionAutoscalerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionAutoscalerList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionAutoscalerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionAutoscalerList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionAutoscalerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionAutoscalerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionAutoscalerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionAutoscalerList_Warning_Code_NEXTHOPNOTRUNNING,
    RegionAutoscalerList_Warning_Code_NOTCRITICALERROR,
    RegionAutoscalerList_Warning_Code_NORESULTSONPAGE,
    RegionAutoscalerList_Warning_Code_PARTIALSUCCESS,
    RegionAutoscalerList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionAutoscalerList_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionAutoscalerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionAutoscalerList_Warning_Code_RESOURCENOTDELETED,
    RegionAutoscalerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionAutoscalerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionAutoscalerList_Warning_Code_UNDECLAREDPROPERTIES,
    RegionAutoscalerList_Warning_Code_Unreachable,
    RegionAutoscalerList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionDiskTypeList_Warning_Code = RegionDiskTypeList_Warning_Code {fromRegionDiskTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionDiskTypeList_Warning_Code_CLEANUPFAILED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_CLEANUPFAILED = RegionDiskTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionDiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = RegionDiskTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionDiskTypeList_Warning_Code_DEPRECATEDTYPEUSED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_DEPRECATEDTYPEUSED = RegionDiskTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionDiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionDiskTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionDiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED = RegionDiskTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionDiskTypeList_Warning_Code_EXTERNALAPIWARNING :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_EXTERNALAPIWARNING = RegionDiskTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionDiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN = RegionDiskTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionDiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionDiskTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionDiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionDiskTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionDiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = RegionDiskTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionDiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionDiskTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionDiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = RegionDiskTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionDiskTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionDiskTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionDiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionDiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionDiskTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPNOTRUNNING :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NEXTHOPNOTRUNNING = RegionDiskTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionDiskTypeList_Warning_Code_NOTCRITICALERROR :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NOTCRITICALERROR = RegionDiskTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionDiskTypeList_Warning_Code_NORESULTSONPAGE :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_NORESULTSONPAGE = RegionDiskTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionDiskTypeList_Warning_Code_PARTIALSUCCESS :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_PARTIALSUCCESS = RegionDiskTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionDiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = RegionDiskTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionDiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT = RegionDiskTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionDiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionDiskTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionDiskTypeList_Warning_Code_RESOURCENOTDELETED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_RESOURCENOTDELETED = RegionDiskTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionDiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionDiskTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionDiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionDiskTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionDiskTypeList_Warning_Code_UNDECLAREDPROPERTIES :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_UNDECLAREDPROPERTIES = RegionDiskTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionDiskTypeList_Warning_Code_Unreachable :: RegionDiskTypeList_Warning_Code
  pattern RegionDiskTypeList_Warning_Code_Unreachable = RegionDiskTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionDiskTypeList_Warning_Code_CLEANUPFAILED,
    RegionDiskTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionDiskTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    RegionDiskTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionDiskTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionDiskTypeList_Warning_Code_EXTERNALAPIWARNING,
    RegionDiskTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionDiskTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionDiskTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionDiskTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionDiskTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionDiskTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionDiskTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionDiskTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionDiskTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionDiskTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    RegionDiskTypeList_Warning_Code_NOTCRITICALERROR,
    RegionDiskTypeList_Warning_Code_NORESULTSONPAGE,
    RegionDiskTypeList_Warning_Code_PARTIALSUCCESS,
    RegionDiskTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionDiskTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionDiskTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionDiskTypeList_Warning_Code_RESOURCENOTDELETED,
    RegionDiskTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionDiskTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionDiskTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    RegionDiskTypeList_Warning_Code_Unreachable,
    RegionDiskTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionInstanceGroupList_Warning_Code = RegionInstanceGroupList_Warning_Code {fromRegionInstanceGroupList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionInstanceGroupList_Warning_Code_CLEANUPFAILED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_CLEANUPFAILED = RegionInstanceGroupList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionInstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED = RegionInstanceGroupList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionInstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED = RegionInstanceGroupList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionInstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionInstanceGroupList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionInstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED = RegionInstanceGroupList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionInstanceGroupList_Warning_Code_EXTERNALAPIWARNING :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_EXTERNALAPIWARNING = RegionInstanceGroupList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionInstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN = RegionInstanceGroupList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionInstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionInstanceGroupList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionInstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionInstanceGroupList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionInstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING = RegionInstanceGroupList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionInstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionInstanceGroupList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionInstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY = RegionInstanceGroupList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionInstanceGroupList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionInstanceGroupList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionInstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionInstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionInstanceGroupList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING = RegionInstanceGroupList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionInstanceGroupList_Warning_Code_NOTCRITICALERROR :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NOTCRITICALERROR = RegionInstanceGroupList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionInstanceGroupList_Warning_Code_NORESULTSONPAGE :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_NORESULTSONPAGE = RegionInstanceGroupList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionInstanceGroupList_Warning_Code_PARTIALSUCCESS :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_PARTIALSUCCESS = RegionInstanceGroupList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionInstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE = RegionInstanceGroupList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionInstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT = RegionInstanceGroupList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionInstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionInstanceGroupList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionInstanceGroupList_Warning_Code_RESOURCENOTDELETED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_RESOURCENOTDELETED = RegionInstanceGroupList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionInstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionInstanceGroupList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionInstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionInstanceGroupList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionInstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES = RegionInstanceGroupList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionInstanceGroupList_Warning_Code_Unreachable :: RegionInstanceGroupList_Warning_Code
  pattern RegionInstanceGroupList_Warning_Code_Unreachable = RegionInstanceGroupList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionInstanceGroupList_Warning_Code_CLEANUPFAILED,
    RegionInstanceGroupList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionInstanceGroupList_Warning_Code_DEPRECATEDTYPEUSED,
    RegionInstanceGroupList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionInstanceGroupList_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionInstanceGroupList_Warning_Code_EXTERNALAPIWARNING,
    RegionInstanceGroupList_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionInstanceGroupList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionInstanceGroupList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionInstanceGroupList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionInstanceGroupList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionInstanceGroupList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionInstanceGroupList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionInstanceGroupList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionInstanceGroupList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionInstanceGroupList_Warning_Code_NEXTHOPNOTRUNNING,
    RegionInstanceGroupList_Warning_Code_NOTCRITICALERROR,
    RegionInstanceGroupList_Warning_Code_NORESULTSONPAGE,
    RegionInstanceGroupList_Warning_Code_PARTIALSUCCESS,
    RegionInstanceGroupList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionInstanceGroupList_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionInstanceGroupList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionInstanceGroupList_Warning_Code_RESOURCENOTDELETED,
    RegionInstanceGroupList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionInstanceGroupList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionInstanceGroupList_Warning_Code_UNDECLAREDPROPERTIES,
    RegionInstanceGroupList_Warning_Code_Unreachable,
    RegionInstanceGroupList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionInstanceGroupManagerList_Warning_Code = RegionInstanceGroupManagerList_Warning_Code {fromRegionInstanceGroupManagerList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionInstanceGroupManagerList_Warning_Code_CLEANUPFAILED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_CLEANUPFAILED = RegionInstanceGroupManagerList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED = RegionInstanceGroupManagerList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED = RegionInstanceGroupManagerList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionInstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionInstanceGroupManagerList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionInstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED = RegionInstanceGroupManagerList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionInstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING = RegionInstanceGroupManagerList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionInstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN = RegionInstanceGroupManagerList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionInstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionInstanceGroupManagerList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionInstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionInstanceGroupManagerList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionInstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING = RegionInstanceGroupManagerList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionInstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionInstanceGroupManagerList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionInstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY = RegionInstanceGroupManagerList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING = RegionInstanceGroupManagerList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionInstanceGroupManagerList_Warning_Code_NOTCRITICALERROR :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NOTCRITICALERROR = RegionInstanceGroupManagerList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionInstanceGroupManagerList_Warning_Code_NORESULTSONPAGE :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_NORESULTSONPAGE = RegionInstanceGroupManagerList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionInstanceGroupManagerList_Warning_Code_PARTIALSUCCESS :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_PARTIALSUCCESS = RegionInstanceGroupManagerList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionInstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE = RegionInstanceGroupManagerList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionInstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT = RegionInstanceGroupManagerList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionInstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionInstanceGroupManagerList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionInstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED = RegionInstanceGroupManagerList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionInstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionInstanceGroupManagerList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionInstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionInstanceGroupManagerList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionInstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES = RegionInstanceGroupManagerList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionInstanceGroupManagerList_Warning_Code_Unreachable :: RegionInstanceGroupManagerList_Warning_Code
  pattern RegionInstanceGroupManagerList_Warning_Code_Unreachable = RegionInstanceGroupManagerList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionInstanceGroupManagerList_Warning_Code_CLEANUPFAILED,
    RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionInstanceGroupManagerList_Warning_Code_DEPRECATEDTYPEUSED,
    RegionInstanceGroupManagerList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionInstanceGroupManagerList_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionInstanceGroupManagerList_Warning_Code_EXTERNALAPIWARNING,
    RegionInstanceGroupManagerList_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionInstanceGroupManagerList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionInstanceGroupManagerList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionInstanceGroupManagerList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionInstanceGroupManagerList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionInstanceGroupManagerList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionInstanceGroupManagerList_Warning_Code_NEXTHOPNOTRUNNING,
    RegionInstanceGroupManagerList_Warning_Code_NOTCRITICALERROR,
    RegionInstanceGroupManagerList_Warning_Code_NORESULTSONPAGE,
    RegionInstanceGroupManagerList_Warning_Code_PARTIALSUCCESS,
    RegionInstanceGroupManagerList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionInstanceGroupManagerList_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionInstanceGroupManagerList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionInstanceGroupManagerList_Warning_Code_RESOURCENOTDELETED,
    RegionInstanceGroupManagerList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionInstanceGroupManagerList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionInstanceGroupManagerList_Warning_Code_UNDECLAREDPROPERTIES,
    RegionInstanceGroupManagerList_Warning_Code_Unreachable,
    RegionInstanceGroupManagerList_Warning_Code
    #-}
  
  -- | The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.
  newtype RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction = RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction {fromRegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction :: 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
      )
  
  -- | Do not perform any action.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_None :: RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_None = RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction "NONE"
  
  -- | Do not stop the instance.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh :: RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh = RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace :: RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace = RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart :: RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart = RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction "RESTART"
  
  {-# COMPLETE
    RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_None,
    RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Refresh,
    RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Replace,
    RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction_Restart,
    RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction
    #-}
  
  -- | The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.
  newtype RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction = RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction {fromRegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction :: 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
      )
  
  -- | Do not perform any action.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None :: RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None = RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "NONE"
  
  -- | Do not stop the instance.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh :: RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh = RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "REFRESH"
  
  -- | (Default.) Replace the instance according to the replacement method option.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace :: RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace = RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "REPLACE"
  
  -- | Stop the instance and start it again.
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart :: RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
  pattern RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart = RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction "RESTART"
  
  {-# COMPLETE
    RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_None,
    RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Refresh,
    RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Replace,
    RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction_Restart,
    RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code {fromRegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_CLEANUPFAILED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_CLEANUPFAILED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NOTCRITICALERROR :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NOTCRITICALERROR = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NORESULTSONPAGE :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NORESULTSONPAGE = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_PARTIALSUCCESS :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_PARTIALSUCCESS = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_Unreachable :: RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
  pattern RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_Unreachable = RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_CLEANUPFAILED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DEPRECATEDTYPEUSED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_EXTERNALAPIWARNING,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NEXTHOPNOTRUNNING,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NOTCRITICALERROR,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_NORESULTSONPAGE,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_PARTIALSUCCESS,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_RESOURCENOTDELETED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_UNDECLAREDPROPERTIES,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code_Unreachable,
    RegionInstanceGroupManagersListInstanceConfigsResp_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionInstanceGroupsListInstances_Warning_Code = RegionInstanceGroupsListInstances_Warning_Code {fromRegionInstanceGroupsListInstances_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionInstanceGroupsListInstances_Warning_Code_CLEANUPFAILED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_CLEANUPFAILED = RegionInstanceGroupsListInstances_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED = RegionInstanceGroupsListInstances_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED = RegionInstanceGroupsListInstances_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionInstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionInstanceGroupsListInstances_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionInstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED = RegionInstanceGroupsListInstances_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionInstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING = RegionInstanceGroupsListInstances_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionInstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN = RegionInstanceGroupsListInstances_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionInstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionInstanceGroupsListInstances_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionInstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionInstanceGroupsListInstances_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionInstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING = RegionInstanceGroupsListInstances_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionInstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionInstanceGroupsListInstances_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionInstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY = RegionInstanceGroupsListInstances_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING = RegionInstanceGroupsListInstances_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR = RegionInstanceGroupsListInstances_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionInstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE = RegionInstanceGroupsListInstances_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionInstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS = RegionInstanceGroupsListInstances_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionInstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE = RegionInstanceGroupsListInstances_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionInstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT = RegionInstanceGroupsListInstances_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionInstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionInstanceGroupsListInstances_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionInstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED = RegionInstanceGroupsListInstances_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionInstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionInstanceGroupsListInstances_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionInstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionInstanceGroupsListInstances_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionInstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES = RegionInstanceGroupsListInstances_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionInstanceGroupsListInstances_Warning_Code_Unreachable :: RegionInstanceGroupsListInstances_Warning_Code
  pattern RegionInstanceGroupsListInstances_Warning_Code_Unreachable = RegionInstanceGroupsListInstances_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionInstanceGroupsListInstances_Warning_Code_CLEANUPFAILED,
    RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionInstanceGroupsListInstances_Warning_Code_DEPRECATEDTYPEUSED,
    RegionInstanceGroupsListInstances_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionInstanceGroupsListInstances_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionInstanceGroupsListInstances_Warning_Code_EXTERNALAPIWARNING,
    RegionInstanceGroupsListInstances_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionInstanceGroupsListInstances_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionInstanceGroupsListInstances_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionInstanceGroupsListInstances_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionInstanceGroupsListInstances_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionInstanceGroupsListInstances_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionInstanceGroupsListInstances_Warning_Code_NEXTHOPNOTRUNNING,
    RegionInstanceGroupsListInstances_Warning_Code_NOTCRITICALERROR,
    RegionInstanceGroupsListInstances_Warning_Code_NORESULTSONPAGE,
    RegionInstanceGroupsListInstances_Warning_Code_PARTIALSUCCESS,
    RegionInstanceGroupsListInstances_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionInstanceGroupsListInstances_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionInstanceGroupsListInstances_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionInstanceGroupsListInstances_Warning_Code_RESOURCENOTDELETED,
    RegionInstanceGroupsListInstances_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionInstanceGroupsListInstances_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionInstanceGroupsListInstances_Warning_Code_UNDECLAREDPROPERTIES,
    RegionInstanceGroupsListInstances_Warning_Code_Unreachable,
    RegionInstanceGroupsListInstances_Warning_Code
    #-}
  
  -- | Instances in which state should be returned. Valid options are: \'ALL\', \'RUNNING\'. By default, it lists all instances.
  newtype RegionInstanceGroupsListInstancesRequest_InstanceState = RegionInstanceGroupsListInstancesRequest_InstanceState {fromRegionInstanceGroupsListInstancesRequest_InstanceState :: 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
      )
  
  -- | Matches any status of the instances, running, non-running and others.
  pattern RegionInstanceGroupsListInstancesRequest_InstanceState_All :: RegionInstanceGroupsListInstancesRequest_InstanceState
  pattern RegionInstanceGroupsListInstancesRequest_InstanceState_All = RegionInstanceGroupsListInstancesRequest_InstanceState "ALL"
  
  -- | Instance is in RUNNING state if it is running.
  pattern RegionInstanceGroupsListInstancesRequest_InstanceState_Running :: RegionInstanceGroupsListInstancesRequest_InstanceState
  pattern RegionInstanceGroupsListInstancesRequest_InstanceState_Running = RegionInstanceGroupsListInstancesRequest_InstanceState "RUNNING"
  
  {-# COMPLETE
    RegionInstanceGroupsListInstancesRequest_InstanceState_All,
    RegionInstanceGroupsListInstancesRequest_InstanceState_Running,
    RegionInstanceGroupsListInstancesRequest_InstanceState
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RegionList_Warning_Code = RegionList_Warning_Code {fromRegionList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RegionList_Warning_Code_CLEANUPFAILED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_CLEANUPFAILED = RegionList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RegionList_Warning_Code_DEPRECATEDRESOURCEUSED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_DEPRECATEDRESOURCEUSED = RegionList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RegionList_Warning_Code_DEPRECATEDTYPEUSED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_DEPRECATEDTYPEUSED = RegionList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RegionList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RegionList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RegionList_Warning_Code_EXPERIMENTALTYPEUSED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_EXPERIMENTALTYPEUSED = RegionList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RegionList_Warning_Code_EXTERNALAPIWARNING :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_EXTERNALAPIWARNING = RegionList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RegionList_Warning_Code_FIELDVALUEOVERRIDEN :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_FIELDVALUEOVERRIDEN = RegionList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RegionList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_INJECTEDKERNELSDEPRECATED = RegionList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RegionList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RegionList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RegionList_Warning_Code_LARGEDEPLOYMENTWARNING :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_LARGEDEPLOYMENTWARNING = RegionList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RegionList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RegionList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RegionList_Warning_Code_MISSINGTYPEDEPENDENCY :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_MISSINGTYPEDEPENDENCY = RegionList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RegionList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RegionList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RegionList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RegionList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RegionList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RegionList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RegionList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RegionList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RegionList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RegionList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RegionList_Warning_Code_NEXTHOPNOTRUNNING :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NEXTHOPNOTRUNNING = RegionList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RegionList_Warning_Code_NOTCRITICALERROR :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NOTCRITICALERROR = RegionList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RegionList_Warning_Code_NORESULTSONPAGE :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_NORESULTSONPAGE = RegionList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RegionList_Warning_Code_PARTIALSUCCESS :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_PARTIALSUCCESS = RegionList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RegionList_Warning_Code_QUOTAINFOUNAVAILABLE :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_QUOTAINFOUNAVAILABLE = RegionList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RegionList_Warning_Code_REQUIREDTOSAGREEMENT :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_REQUIREDTOSAGREEMENT = RegionList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RegionList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RegionList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RegionList_Warning_Code_RESOURCENOTDELETED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_RESOURCENOTDELETED = RegionList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RegionList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_SCHEMAVALIDATIONIGNORED = RegionList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RegionList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RegionList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RegionList_Warning_Code_UNDECLAREDPROPERTIES :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_UNDECLAREDPROPERTIES = RegionList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RegionList_Warning_Code_Unreachable :: RegionList_Warning_Code
  pattern RegionList_Warning_Code_Unreachable = RegionList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RegionList_Warning_Code_CLEANUPFAILED,
    RegionList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RegionList_Warning_Code_DEPRECATEDTYPEUSED,
    RegionList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RegionList_Warning_Code_EXPERIMENTALTYPEUSED,
    RegionList_Warning_Code_EXTERNALAPIWARNING,
    RegionList_Warning_Code_FIELDVALUEOVERRIDEN,
    RegionList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RegionList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RegionList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RegionList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RegionList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RegionList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RegionList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RegionList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RegionList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RegionList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RegionList_Warning_Code_NEXTHOPNOTRUNNING,
    RegionList_Warning_Code_NOTCRITICALERROR,
    RegionList_Warning_Code_NORESULTSONPAGE,
    RegionList_Warning_Code_PARTIALSUCCESS,
    RegionList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RegionList_Warning_Code_REQUIREDTOSAGREEMENT,
    RegionList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RegionList_Warning_Code_RESOURCENOTDELETED,
    RegionList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RegionList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RegionList_Warning_Code_UNDECLAREDPROPERTIES,
    RegionList_Warning_Code_Unreachable,
    RegionList_Warning_Code
    #-}
  
  -- | [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK/REGIONAL, SYSTEM/GLOBAL, SYSTEM_REGIONAL.
  newtype RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type {fromRegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type :: 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
      )
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "HIERARCHY"
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "NETWORK"
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "NETWORK_REGIONAL"
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "SYSTEM_GLOBAL"
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "SYSTEM_REGIONAL"
  
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified :: RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
  pattern RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type "UNSPECIFIED"
  
  {-# COMPLETE
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Hierarchy,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Network,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_NETWORKREGIONAL,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMGLOBAL,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_SYSTEMREGIONAL,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type_Unspecified,
    RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type
    #-}
  
  -- | [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress.
  newtype Reservation_Status = Reservation_Status {fromReservation_Status :: 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
      )
  
  -- | Reservation resources are being allocated.
  pattern Reservation_Status_Creating :: Reservation_Status
  pattern Reservation_Status_Creating = Reservation_Status "CREATING"
  
  -- | Reservation deletion is in progress.
  pattern Reservation_Status_Deleting :: Reservation_Status
  pattern Reservation_Status_Deleting = Reservation_Status "DELETING"
  
  pattern Reservation_Status_Invalid :: Reservation_Status
  pattern Reservation_Status_Invalid = Reservation_Status "INVALID"
  
  -- | Reservation resources have been allocated, and the reservation is ready for use.
  pattern Reservation_Status_Ready :: Reservation_Status
  pattern Reservation_Status_Ready = Reservation_Status "READY"
  
  -- | Reservation update is in progress.
  pattern Reservation_Status_Updating :: Reservation_Status
  pattern Reservation_Status_Updating = Reservation_Status "UPDATING"
  
  {-# COMPLETE
    Reservation_Status_Creating,
    Reservation_Status_Deleting,
    Reservation_Status_Invalid,
    Reservation_Status_Ready,
    Reservation_Status_Updating,
    Reservation_Status
    #-}
  
  -- | Specifies the type of reservation from which this instance can consume resources: ANY/RESERVATION (default), SPECIFIC/RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples.
  newtype ReservationAffinity_ConsumeReservationType = ReservationAffinity_ConsumeReservationType {fromReservationAffinity_ConsumeReservationType :: 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
      )
  
  -- | Consume any allocation available.
  pattern ReservationAffinity_ConsumeReservationType_ANYRESERVATION :: ReservationAffinity_ConsumeReservationType
  pattern ReservationAffinity_ConsumeReservationType_ANYRESERVATION = ReservationAffinity_ConsumeReservationType "ANY_RESERVATION"
  
  -- | Do not consume from any allocated capacity.
  pattern ReservationAffinity_ConsumeReservationType_NORESERVATION :: ReservationAffinity_ConsumeReservationType
  pattern ReservationAffinity_ConsumeReservationType_NORESERVATION = ReservationAffinity_ConsumeReservationType "NO_RESERVATION"
  
  -- | Must consume from a specific reservation. Must specify key value fields for specifying the reservations.
  pattern ReservationAffinity_ConsumeReservationType_SPECIFICRESERVATION :: ReservationAffinity_ConsumeReservationType
  pattern ReservationAffinity_ConsumeReservationType_SPECIFICRESERVATION = ReservationAffinity_ConsumeReservationType "SPECIFIC_RESERVATION"
  
  pattern ReservationAffinity_ConsumeReservationType_Unspecified :: ReservationAffinity_ConsumeReservationType
  pattern ReservationAffinity_ConsumeReservationType_Unspecified = ReservationAffinity_ConsumeReservationType "UNSPECIFIED"
  
  {-# COMPLETE
    ReservationAffinity_ConsumeReservationType_ANYRESERVATION,
    ReservationAffinity_ConsumeReservationType_NORESERVATION,
    ReservationAffinity_ConsumeReservationType_SPECIFICRESERVATION,
    ReservationAffinity_ConsumeReservationType_Unspecified,
    ReservationAffinity_ConsumeReservationType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ReservationAggregatedList_Warning_Code = ReservationAggregatedList_Warning_Code {fromReservationAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ReservationAggregatedList_Warning_Code_CLEANUPFAILED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_CLEANUPFAILED = ReservationAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ReservationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = ReservationAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ReservationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = ReservationAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ReservationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ReservationAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ReservationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = ReservationAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ReservationAggregatedList_Warning_Code_EXTERNALAPIWARNING :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_EXTERNALAPIWARNING = ReservationAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ReservationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = ReservationAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ReservationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ReservationAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ReservationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ReservationAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ReservationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = ReservationAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ReservationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ReservationAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ReservationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = ReservationAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ReservationAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ReservationAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ReservationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ReservationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ReservationAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = ReservationAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ReservationAggregatedList_Warning_Code_NOTCRITICALERROR :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NOTCRITICALERROR = ReservationAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ReservationAggregatedList_Warning_Code_NORESULTSONPAGE :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_NORESULTSONPAGE = ReservationAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ReservationAggregatedList_Warning_Code_PARTIALSUCCESS :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_PARTIALSUCCESS = ReservationAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ReservationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = ReservationAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ReservationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = ReservationAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ReservationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ReservationAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ReservationAggregatedList_Warning_Code_RESOURCENOTDELETED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_RESOURCENOTDELETED = ReservationAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ReservationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ReservationAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ReservationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ReservationAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ReservationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = ReservationAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ReservationAggregatedList_Warning_Code_Unreachable :: ReservationAggregatedList_Warning_Code
  pattern ReservationAggregatedList_Warning_Code_Unreachable = ReservationAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ReservationAggregatedList_Warning_Code_CLEANUPFAILED,
    ReservationAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ReservationAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    ReservationAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ReservationAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ReservationAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    ReservationAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ReservationAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ReservationAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ReservationAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ReservationAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ReservationAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ReservationAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ReservationAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ReservationAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ReservationAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    ReservationAggregatedList_Warning_Code_NOTCRITICALERROR,
    ReservationAggregatedList_Warning_Code_NORESULTSONPAGE,
    ReservationAggregatedList_Warning_Code_PARTIALSUCCESS,
    ReservationAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ReservationAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ReservationAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ReservationAggregatedList_Warning_Code_RESOURCENOTDELETED,
    ReservationAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ReservationAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ReservationAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    ReservationAggregatedList_Warning_Code_Unreachable,
    ReservationAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ReservationList_Warning_Code = ReservationList_Warning_Code {fromReservationList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ReservationList_Warning_Code_CLEANUPFAILED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_CLEANUPFAILED = ReservationList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ReservationList_Warning_Code_DEPRECATEDRESOURCEUSED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_DEPRECATEDRESOURCEUSED = ReservationList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ReservationList_Warning_Code_DEPRECATEDTYPEUSED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_DEPRECATEDTYPEUSED = ReservationList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ReservationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ReservationList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ReservationList_Warning_Code_EXPERIMENTALTYPEUSED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_EXPERIMENTALTYPEUSED = ReservationList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ReservationList_Warning_Code_EXTERNALAPIWARNING :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_EXTERNALAPIWARNING = ReservationList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ReservationList_Warning_Code_FIELDVALUEOVERRIDEN :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_FIELDVALUEOVERRIDEN = ReservationList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ReservationList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_INJECTEDKERNELSDEPRECATED = ReservationList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ReservationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ReservationList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ReservationList_Warning_Code_LARGEDEPLOYMENTWARNING :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_LARGEDEPLOYMENTWARNING = ReservationList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ReservationList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ReservationList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ReservationList_Warning_Code_MISSINGTYPEDEPENDENCY :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_MISSINGTYPEDEPENDENCY = ReservationList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ReservationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ReservationList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ReservationList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ReservationList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ReservationList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ReservationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ReservationList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ReservationList_Warning_Code_NEXTHOPNOTRUNNING :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NEXTHOPNOTRUNNING = ReservationList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ReservationList_Warning_Code_NOTCRITICALERROR :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NOTCRITICALERROR = ReservationList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ReservationList_Warning_Code_NORESULTSONPAGE :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_NORESULTSONPAGE = ReservationList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ReservationList_Warning_Code_PARTIALSUCCESS :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_PARTIALSUCCESS = ReservationList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ReservationList_Warning_Code_QUOTAINFOUNAVAILABLE :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_QUOTAINFOUNAVAILABLE = ReservationList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ReservationList_Warning_Code_REQUIREDTOSAGREEMENT :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_REQUIREDTOSAGREEMENT = ReservationList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ReservationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ReservationList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ReservationList_Warning_Code_RESOURCENOTDELETED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_RESOURCENOTDELETED = ReservationList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ReservationList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_SCHEMAVALIDATIONIGNORED = ReservationList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ReservationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ReservationList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ReservationList_Warning_Code_UNDECLAREDPROPERTIES :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_UNDECLAREDPROPERTIES = ReservationList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ReservationList_Warning_Code_Unreachable :: ReservationList_Warning_Code
  pattern ReservationList_Warning_Code_Unreachable = ReservationList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ReservationList_Warning_Code_CLEANUPFAILED,
    ReservationList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ReservationList_Warning_Code_DEPRECATEDTYPEUSED,
    ReservationList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ReservationList_Warning_Code_EXPERIMENTALTYPEUSED,
    ReservationList_Warning_Code_EXTERNALAPIWARNING,
    ReservationList_Warning_Code_FIELDVALUEOVERRIDEN,
    ReservationList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ReservationList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ReservationList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ReservationList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ReservationList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ReservationList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ReservationList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ReservationList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ReservationList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ReservationList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ReservationList_Warning_Code_NEXTHOPNOTRUNNING,
    ReservationList_Warning_Code_NOTCRITICALERROR,
    ReservationList_Warning_Code_NORESULTSONPAGE,
    ReservationList_Warning_Code_PARTIALSUCCESS,
    ReservationList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ReservationList_Warning_Code_REQUIREDTOSAGREEMENT,
    ReservationList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ReservationList_Warning_Code_RESOURCENOTDELETED,
    ReservationList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ReservationList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ReservationList_Warning_Code_UNDECLAREDPROPERTIES,
    ReservationList_Warning_Code_Unreachable,
    ReservationList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ReservationsScopedList_Warning_Code = ReservationsScopedList_Warning_Code {fromReservationsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ReservationsScopedList_Warning_Code_CLEANUPFAILED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_CLEANUPFAILED = ReservationsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ReservationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = ReservationsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ReservationsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_DEPRECATEDTYPEUSED = ReservationsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ReservationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ReservationsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ReservationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = ReservationsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ReservationsScopedList_Warning_Code_EXTERNALAPIWARNING :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_EXTERNALAPIWARNING = ReservationsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ReservationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = ReservationsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ReservationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ReservationsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ReservationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ReservationsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ReservationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = ReservationsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ReservationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ReservationsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ReservationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = ReservationsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ReservationsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ReservationsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ReservationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ReservationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ReservationsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ReservationsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NEXTHOPNOTRUNNING = ReservationsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ReservationsScopedList_Warning_Code_NOTCRITICALERROR :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NOTCRITICALERROR = ReservationsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ReservationsScopedList_Warning_Code_NORESULTSONPAGE :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_NORESULTSONPAGE = ReservationsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ReservationsScopedList_Warning_Code_PARTIALSUCCESS :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_PARTIALSUCCESS = ReservationsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ReservationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = ReservationsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ReservationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = ReservationsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ReservationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ReservationsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ReservationsScopedList_Warning_Code_RESOURCENOTDELETED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_RESOURCENOTDELETED = ReservationsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ReservationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ReservationsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ReservationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ReservationsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ReservationsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_UNDECLAREDPROPERTIES = ReservationsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ReservationsScopedList_Warning_Code_Unreachable :: ReservationsScopedList_Warning_Code
  pattern ReservationsScopedList_Warning_Code_Unreachable = ReservationsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ReservationsScopedList_Warning_Code_CLEANUPFAILED,
    ReservationsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ReservationsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    ReservationsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ReservationsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ReservationsScopedList_Warning_Code_EXTERNALAPIWARNING,
    ReservationsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ReservationsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ReservationsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ReservationsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ReservationsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ReservationsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ReservationsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ReservationsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ReservationsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ReservationsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ReservationsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    ReservationsScopedList_Warning_Code_NOTCRITICALERROR,
    ReservationsScopedList_Warning_Code_NORESULTSONPAGE,
    ReservationsScopedList_Warning_Code_PARTIALSUCCESS,
    ReservationsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ReservationsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ReservationsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ReservationsScopedList_Warning_Code_RESOURCENOTDELETED,
    ReservationsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ReservationsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ReservationsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    ReservationsScopedList_Warning_Code_Unreachable,
    ReservationsScopedList_Warning_Code
    #-}
  
  -- | The type of hardware resource that you want to specify. You can specify any of the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a separate entry in the list for each individual resource type.
  newtype ResourceCommitment_Type = ResourceCommitment_Type {fromResourceCommitment_Type :: 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
      )
  
  pattern ResourceCommitment_Type_Accelerator :: ResourceCommitment_Type
  pattern ResourceCommitment_Type_Accelerator = ResourceCommitment_Type "ACCELERATOR"
  
  pattern ResourceCommitment_Type_LOCALSSD :: ResourceCommitment_Type
  pattern ResourceCommitment_Type_LOCALSSD = ResourceCommitment_Type "LOCAL_SSD"
  
  pattern ResourceCommitment_Type_Memory :: ResourceCommitment_Type
  pattern ResourceCommitment_Type_Memory = ResourceCommitment_Type "MEMORY"
  
  pattern ResourceCommitment_Type_Unspecified :: ResourceCommitment_Type
  pattern ResourceCommitment_Type_Unspecified = ResourceCommitment_Type "UNSPECIFIED"
  
  pattern ResourceCommitment_Type_Vcpu :: ResourceCommitment_Type
  pattern ResourceCommitment_Type_Vcpu = ResourceCommitment_Type "VCPU"
  
  {-# COMPLETE
    ResourceCommitment_Type_Accelerator,
    ResourceCommitment_Type_LOCALSSD,
    ResourceCommitment_Type_Memory,
    ResourceCommitment_Type_Unspecified,
    ResourceCommitment_Type_Vcpu,
    ResourceCommitment_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ResourcePoliciesScopedList_Warning_Code = ResourcePoliciesScopedList_Warning_Code {fromResourcePoliciesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ResourcePoliciesScopedList_Warning_Code_CLEANUPFAILED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_CLEANUPFAILED = ResourcePoliciesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ResourcePoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = ResourcePoliciesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ResourcePoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED = ResourcePoliciesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ResourcePoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ResourcePoliciesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ResourcePoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = ResourcePoliciesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ResourcePoliciesScopedList_Warning_Code_EXTERNALAPIWARNING :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_EXTERNALAPIWARNING = ResourcePoliciesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ResourcePoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = ResourcePoliciesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ResourcePoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ResourcePoliciesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ResourcePoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ResourcePoliciesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ResourcePoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = ResourcePoliciesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ResourcePoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ResourcePoliciesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ResourcePoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = ResourcePoliciesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING = ResourcePoliciesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ResourcePoliciesScopedList_Warning_Code_NOTCRITICALERROR :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NOTCRITICALERROR = ResourcePoliciesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ResourcePoliciesScopedList_Warning_Code_NORESULTSONPAGE :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_NORESULTSONPAGE = ResourcePoliciesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ResourcePoliciesScopedList_Warning_Code_PARTIALSUCCESS :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_PARTIALSUCCESS = ResourcePoliciesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ResourcePoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = ResourcePoliciesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ResourcePoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = ResourcePoliciesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ResourcePoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ResourcePoliciesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ResourcePoliciesScopedList_Warning_Code_RESOURCENOTDELETED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_RESOURCENOTDELETED = ResourcePoliciesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ResourcePoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ResourcePoliciesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ResourcePoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ResourcePoliciesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ResourcePoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES = ResourcePoliciesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ResourcePoliciesScopedList_Warning_Code_Unreachable :: ResourcePoliciesScopedList_Warning_Code
  pattern ResourcePoliciesScopedList_Warning_Code_Unreachable = ResourcePoliciesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ResourcePoliciesScopedList_Warning_Code_CLEANUPFAILED,
    ResourcePoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ResourcePoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    ResourcePoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ResourcePoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ResourcePoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
    ResourcePoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ResourcePoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ResourcePoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ResourcePoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ResourcePoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ResourcePoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ResourcePoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    ResourcePoliciesScopedList_Warning_Code_NOTCRITICALERROR,
    ResourcePoliciesScopedList_Warning_Code_NORESULTSONPAGE,
    ResourcePoliciesScopedList_Warning_Code_PARTIALSUCCESS,
    ResourcePoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ResourcePoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ResourcePoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ResourcePoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
    ResourcePoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ResourcePoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ResourcePoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    ResourcePoliciesScopedList_Warning_Code_Unreachable,
    ResourcePoliciesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] The status of resource policy creation.
  newtype ResourcePolicy_Status = ResourcePolicy_Status {fromResourcePolicy_Status :: 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
      )
  
  -- | Resource policy is being created.
  pattern ResourcePolicy_Status_Creating :: ResourcePolicy_Status
  pattern ResourcePolicy_Status_Creating = ResourcePolicy_Status "CREATING"
  
  -- | Resource policy is being deleted.
  pattern ResourcePolicy_Status_Deleting :: ResourcePolicy_Status
  pattern ResourcePolicy_Status_Deleting = ResourcePolicy_Status "DELETING"
  
  -- | Resource policy is expired and will not run again.
  pattern ResourcePolicy_Status_Expired :: ResourcePolicy_Status
  pattern ResourcePolicy_Status_Expired = ResourcePolicy_Status "EXPIRED"
  
  pattern ResourcePolicy_Status_Invalid :: ResourcePolicy_Status
  pattern ResourcePolicy_Status_Invalid = ResourcePolicy_Status "INVALID"
  
  -- | Resource policy is ready to be used.
  pattern ResourcePolicy_Status_Ready :: ResourcePolicy_Status
  pattern ResourcePolicy_Status_Ready = ResourcePolicy_Status "READY"
  
  {-# COMPLETE
    ResourcePolicy_Status_Creating,
    ResourcePolicy_Status_Deleting,
    ResourcePolicy_Status_Expired,
    ResourcePolicy_Status_Invalid,
    ResourcePolicy_Status_Ready,
    ResourcePolicy_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ResourcePolicyAggregatedList_Warning_Code = ResourcePolicyAggregatedList_Warning_Code {fromResourcePolicyAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ResourcePolicyAggregatedList_Warning_Code_CLEANUPFAILED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_CLEANUPFAILED = ResourcePolicyAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = ResourcePolicyAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = ResourcePolicyAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ResourcePolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ResourcePolicyAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ResourcePolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = ResourcePolicyAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ResourcePolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING = ResourcePolicyAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ResourcePolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = ResourcePolicyAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ResourcePolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ResourcePolicyAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ResourcePolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ResourcePolicyAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ResourcePolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = ResourcePolicyAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ResourcePolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ResourcePolicyAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ResourcePolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = ResourcePolicyAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = ResourcePolicyAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ResourcePolicyAggregatedList_Warning_Code_NOTCRITICALERROR :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NOTCRITICALERROR = ResourcePolicyAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ResourcePolicyAggregatedList_Warning_Code_NORESULTSONPAGE :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_NORESULTSONPAGE = ResourcePolicyAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ResourcePolicyAggregatedList_Warning_Code_PARTIALSUCCESS :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_PARTIALSUCCESS = ResourcePolicyAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ResourcePolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = ResourcePolicyAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ResourcePolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = ResourcePolicyAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ResourcePolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ResourcePolicyAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ResourcePolicyAggregatedList_Warning_Code_RESOURCENOTDELETED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_RESOURCENOTDELETED = ResourcePolicyAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ResourcePolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ResourcePolicyAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ResourcePolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ResourcePolicyAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ResourcePolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = ResourcePolicyAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ResourcePolicyAggregatedList_Warning_Code_Unreachable :: ResourcePolicyAggregatedList_Warning_Code
  pattern ResourcePolicyAggregatedList_Warning_Code_Unreachable = ResourcePolicyAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ResourcePolicyAggregatedList_Warning_Code_CLEANUPFAILED,
    ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ResourcePolicyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    ResourcePolicyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ResourcePolicyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ResourcePolicyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    ResourcePolicyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ResourcePolicyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ResourcePolicyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ResourcePolicyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ResourcePolicyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ResourcePolicyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ResourcePolicyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    ResourcePolicyAggregatedList_Warning_Code_NOTCRITICALERROR,
    ResourcePolicyAggregatedList_Warning_Code_NORESULTSONPAGE,
    ResourcePolicyAggregatedList_Warning_Code_PARTIALSUCCESS,
    ResourcePolicyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ResourcePolicyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ResourcePolicyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ResourcePolicyAggregatedList_Warning_Code_RESOURCENOTDELETED,
    ResourcePolicyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ResourcePolicyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ResourcePolicyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    ResourcePolicyAggregatedList_Warning_Code_Unreachable,
    ResourcePolicyAggregatedList_Warning_Code
    #-}
  
  -- | Specifies network collocation
  newtype ResourcePolicyGroupPlacementPolicy_Collocation = ResourcePolicyGroupPlacementPolicy_Collocation {fromResourcePolicyGroupPlacementPolicy_Collocation :: 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
      )
  
  pattern ResourcePolicyGroupPlacementPolicy_Collocation_Collocated :: ResourcePolicyGroupPlacementPolicy_Collocation
  pattern ResourcePolicyGroupPlacementPolicy_Collocation_Collocated = ResourcePolicyGroupPlacementPolicy_Collocation "COLLOCATED"
  
  pattern ResourcePolicyGroupPlacementPolicy_Collocation_UNSPECIFIEDCOLLOCATION :: ResourcePolicyGroupPlacementPolicy_Collocation
  pattern ResourcePolicyGroupPlacementPolicy_Collocation_UNSPECIFIEDCOLLOCATION = ResourcePolicyGroupPlacementPolicy_Collocation "UNSPECIFIED_COLLOCATION"
  
  {-# COMPLETE
    ResourcePolicyGroupPlacementPolicy_Collocation_Collocated,
    ResourcePolicyGroupPlacementPolicy_Collocation_UNSPECIFIEDCOLLOCATION,
    ResourcePolicyGroupPlacementPolicy_Collocation
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ResourcePolicyList_Warning_Code = ResourcePolicyList_Warning_Code {fromResourcePolicyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ResourcePolicyList_Warning_Code_CLEANUPFAILED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_CLEANUPFAILED = ResourcePolicyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ResourcePolicyList_Warning_Code_DEPRECATEDRESOURCEUSED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_DEPRECATEDRESOURCEUSED = ResourcePolicyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ResourcePolicyList_Warning_Code_DEPRECATEDTYPEUSED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_DEPRECATEDTYPEUSED = ResourcePolicyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ResourcePolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ResourcePolicyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ResourcePolicyList_Warning_Code_EXPERIMENTALTYPEUSED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_EXPERIMENTALTYPEUSED = ResourcePolicyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ResourcePolicyList_Warning_Code_EXTERNALAPIWARNING :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_EXTERNALAPIWARNING = ResourcePolicyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ResourcePolicyList_Warning_Code_FIELDVALUEOVERRIDEN :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_FIELDVALUEOVERRIDEN = ResourcePolicyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ResourcePolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED = ResourcePolicyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ResourcePolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ResourcePolicyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ResourcePolicyList_Warning_Code_LARGEDEPLOYMENTWARNING :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_LARGEDEPLOYMENTWARNING = ResourcePolicyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ResourcePolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ResourcePolicyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ResourcePolicyList_Warning_Code_MISSINGTYPEDEPENDENCY :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_MISSINGTYPEDEPENDENCY = ResourcePolicyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ResourcePolicyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ResourcePolicyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ResourcePolicyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ResourcePolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ResourcePolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ResourcePolicyList_Warning_Code_NEXTHOPNOTRUNNING :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NEXTHOPNOTRUNNING = ResourcePolicyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ResourcePolicyList_Warning_Code_NOTCRITICALERROR :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NOTCRITICALERROR = ResourcePolicyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ResourcePolicyList_Warning_Code_NORESULTSONPAGE :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_NORESULTSONPAGE = ResourcePolicyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ResourcePolicyList_Warning_Code_PARTIALSUCCESS :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_PARTIALSUCCESS = ResourcePolicyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ResourcePolicyList_Warning_Code_QUOTAINFOUNAVAILABLE :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_QUOTAINFOUNAVAILABLE = ResourcePolicyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ResourcePolicyList_Warning_Code_REQUIREDTOSAGREEMENT :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_REQUIREDTOSAGREEMENT = ResourcePolicyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ResourcePolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ResourcePolicyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ResourcePolicyList_Warning_Code_RESOURCENOTDELETED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_RESOURCENOTDELETED = ResourcePolicyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ResourcePolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED = ResourcePolicyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ResourcePolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ResourcePolicyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ResourcePolicyList_Warning_Code_UNDECLAREDPROPERTIES :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_UNDECLAREDPROPERTIES = ResourcePolicyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ResourcePolicyList_Warning_Code_Unreachable :: ResourcePolicyList_Warning_Code
  pattern ResourcePolicyList_Warning_Code_Unreachable = ResourcePolicyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ResourcePolicyList_Warning_Code_CLEANUPFAILED,
    ResourcePolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ResourcePolicyList_Warning_Code_DEPRECATEDTYPEUSED,
    ResourcePolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ResourcePolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
    ResourcePolicyList_Warning_Code_EXTERNALAPIWARNING,
    ResourcePolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
    ResourcePolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ResourcePolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ResourcePolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ResourcePolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ResourcePolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ResourcePolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ResourcePolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ResourcePolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ResourcePolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ResourcePolicyList_Warning_Code_NEXTHOPNOTRUNNING,
    ResourcePolicyList_Warning_Code_NOTCRITICALERROR,
    ResourcePolicyList_Warning_Code_NORESULTSONPAGE,
    ResourcePolicyList_Warning_Code_PARTIALSUCCESS,
    ResourcePolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ResourcePolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
    ResourcePolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ResourcePolicyList_Warning_Code_RESOURCENOTDELETED,
    ResourcePolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ResourcePolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ResourcePolicyList_Warning_Code_UNDECLAREDPROPERTIES,
    ResourcePolicyList_Warning_Code_Unreachable,
    ResourcePolicyList_Warning_Code
    #-}
  
  -- | Specifies the behavior to apply to scheduled snapshots when the source disk is deleted.
  newtype ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete = ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete {fromResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete :: 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
      )
  
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_APPLYRETENTIONPOLICY :: ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_APPLYRETENTIONPOLICY = ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete "APPLY_RETENTION_POLICY"
  
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_KEEPAUTOSNAPSHOTS :: ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_KEEPAUTOSNAPSHOTS = ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete "KEEP_AUTO_SNAPSHOTS"
  
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_UNSPECIFIEDONSOURCEDISKDELETE :: ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
  pattern ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_UNSPECIFIEDONSOURCEDISKDELETE = ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete "UNSPECIFIED_ON_SOURCE_DISK_DELETE"
  
  {-# COMPLETE
    ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_APPLYRETENTIONPOLICY,
    ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_KEEPAUTOSNAPSHOTS,
    ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete_UNSPECIFIEDONSOURCEDISKDELETE,
    ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete
    #-}
  
  -- | Defines a schedule that runs on specific days of the week. Specify one or more days. The following options are available: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.
  newtype ResourcePolicyWeeklyCycleDayOfWeek_Day = ResourcePolicyWeeklyCycleDayOfWeek_Day {fromResourcePolicyWeeklyCycleDayOfWeek_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
      )
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Friday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Friday = ResourcePolicyWeeklyCycleDayOfWeek_Day "FRIDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Invalid :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Invalid = ResourcePolicyWeeklyCycleDayOfWeek_Day "INVALID"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Monday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Monday = ResourcePolicyWeeklyCycleDayOfWeek_Day "MONDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Saturday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Saturday = ResourcePolicyWeeklyCycleDayOfWeek_Day "SATURDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Sunday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Sunday = ResourcePolicyWeeklyCycleDayOfWeek_Day "SUNDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Thursday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Thursday = ResourcePolicyWeeklyCycleDayOfWeek_Day "THURSDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Tuesday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Tuesday = ResourcePolicyWeeklyCycleDayOfWeek_Day "TUESDAY"
  
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Wednesday :: ResourcePolicyWeeklyCycleDayOfWeek_Day
  pattern ResourcePolicyWeeklyCycleDayOfWeek_Day_Wednesday = ResourcePolicyWeeklyCycleDayOfWeek_Day "WEDNESDAY"
  
  {-# COMPLETE
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Friday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Invalid,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Monday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Saturday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Sunday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Thursday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Tuesday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day_Wednesday,
    ResourcePolicyWeeklyCycleDayOfWeek_Day
    #-}
  
  -- | [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
  newtype Route_NextHopOrigin = Route_NextHopOrigin {fromRoute_NextHopOrigin :: 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
      )
  
  pattern Route_NextHopOrigin_Egp :: Route_NextHopOrigin
  pattern Route_NextHopOrigin_Egp = Route_NextHopOrigin "EGP"
  
  pattern Route_NextHopOrigin_Igp :: Route_NextHopOrigin
  pattern Route_NextHopOrigin_Igp = Route_NextHopOrigin "IGP"
  
  pattern Route_NextHopOrigin_Incomplete :: Route_NextHopOrigin
  pattern Route_NextHopOrigin_Incomplete = Route_NextHopOrigin "INCOMPLETE"
  
  {-# COMPLETE
    Route_NextHopOrigin_Egp,
    Route_NextHopOrigin_Igp,
    Route_NextHopOrigin_Incomplete,
    Route_NextHopOrigin
    #-}
  
  -- | [Output only] The status of the route.
  newtype Route_RouteStatus = Route_RouteStatus {fromRoute_RouteStatus :: 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
      )
  
  -- | This route is processed and active.
  pattern Route_RouteStatus_Active :: Route_RouteStatus
  pattern Route_RouteStatus_Active = Route_RouteStatus "ACTIVE"
  
  -- | The route is dropped due to the VPC exceeding the dynamic route limit. For dynamic route limit, please refer to the Learned route example
  pattern Route_RouteStatus_Dropped :: Route_RouteStatus
  pattern Route_RouteStatus_Dropped = Route_RouteStatus "DROPPED"
  
  -- | This route is processed but inactive due to failure from the backend. The backend may have rejected the route
  pattern Route_RouteStatus_Inactive :: Route_RouteStatus
  pattern Route_RouteStatus_Inactive = Route_RouteStatus "INACTIVE"
  
  -- | This route is being processed internally. The status will change once processed.
  pattern Route_RouteStatus_Pending :: Route_RouteStatus
  pattern Route_RouteStatus_Pending = Route_RouteStatus "PENDING"
  
  {-# COMPLETE
    Route_RouteStatus_Active,
    Route_RouteStatus_Dropped,
    Route_RouteStatus_Inactive,
    Route_RouteStatus_Pending,
    Route_RouteStatus
    #-}
  
  -- | [Output Only] The type of this route, which can be one of the following values: - \'TRANSIT\' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers - \'SUBNET\' for a route from a subnet of the VPC - \'BGP\' for a route learned from a BGP peer of this router - \'STATIC\' for a static route
  newtype Route_RouteType = Route_RouteType {fromRoute_RouteType :: 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
      )
  
  pattern Route_RouteType_Bgp :: Route_RouteType
  pattern Route_RouteType_Bgp = Route_RouteType "BGP"
  
  pattern Route_RouteType_Static :: Route_RouteType
  pattern Route_RouteType_Static = Route_RouteType "STATIC"
  
  pattern Route_RouteType_Subnet :: Route_RouteType
  pattern Route_RouteType_Subnet = Route_RouteType "SUBNET"
  
  pattern Route_RouteType_Transit :: Route_RouteType
  pattern Route_RouteType_Transit = Route_RouteType "TRANSIT"
  
  {-# COMPLETE
    Route_RouteType_Bgp,
    Route_RouteType_Static,
    Route_RouteType_Subnet,
    Route_RouteType_Transit,
    Route_RouteType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype Route_WarningsItem_Code = Route_WarningsItem_Code {fromRoute_WarningsItem_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern Route_WarningsItem_Code_CLEANUPFAILED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_CLEANUPFAILED = Route_WarningsItem_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern Route_WarningsItem_Code_DEPRECATEDRESOURCEUSED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_DEPRECATEDRESOURCEUSED = Route_WarningsItem_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern Route_WarningsItem_Code_DEPRECATEDTYPEUSED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_DEPRECATEDTYPEUSED = Route_WarningsItem_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern Route_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE = Route_WarningsItem_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern Route_WarningsItem_Code_EXPERIMENTALTYPEUSED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_EXPERIMENTALTYPEUSED = Route_WarningsItem_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern Route_WarningsItem_Code_EXTERNALAPIWARNING :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_EXTERNALAPIWARNING = Route_WarningsItem_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern Route_WarningsItem_Code_FIELDVALUEOVERRIDEN :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_FIELDVALUEOVERRIDEN = Route_WarningsItem_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern Route_WarningsItem_Code_INJECTEDKERNELSDEPRECATED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_INJECTEDKERNELSDEPRECATED = Route_WarningsItem_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern Route_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = Route_WarningsItem_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern Route_WarningsItem_Code_LARGEDEPLOYMENTWARNING :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_LARGEDEPLOYMENTWARNING = Route_WarningsItem_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern Route_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED = Route_WarningsItem_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern Route_WarningsItem_Code_MISSINGTYPEDEPENDENCY :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_MISSINGTYPEDEPENDENCY = Route_WarningsItem_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern Route_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED = Route_WarningsItem_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern Route_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD = Route_WarningsItem_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = Route_WarningsItem_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND = Route_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK = Route_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern Route_WarningsItem_Code_NEXTHOPNOTRUNNING :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NEXTHOPNOTRUNNING = Route_WarningsItem_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern Route_WarningsItem_Code_NOTCRITICALERROR :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NOTCRITICALERROR = Route_WarningsItem_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern Route_WarningsItem_Code_NORESULTSONPAGE :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_NORESULTSONPAGE = Route_WarningsItem_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern Route_WarningsItem_Code_PARTIALSUCCESS :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_PARTIALSUCCESS = Route_WarningsItem_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern Route_WarningsItem_Code_QUOTAINFOUNAVAILABLE :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_QUOTAINFOUNAVAILABLE = Route_WarningsItem_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern Route_WarningsItem_Code_REQUIREDTOSAGREEMENT :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_REQUIREDTOSAGREEMENT = Route_WarningsItem_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern Route_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = Route_WarningsItem_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern Route_WarningsItem_Code_RESOURCENOTDELETED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_RESOURCENOTDELETED = Route_WarningsItem_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern Route_WarningsItem_Code_SCHEMAVALIDATIONIGNORED :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_SCHEMAVALIDATIONIGNORED = Route_WarningsItem_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern Route_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE = Route_WarningsItem_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern Route_WarningsItem_Code_UNDECLAREDPROPERTIES :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_UNDECLAREDPROPERTIES = Route_WarningsItem_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern Route_WarningsItem_Code_Unreachable :: Route_WarningsItem_Code
  pattern Route_WarningsItem_Code_Unreachable = Route_WarningsItem_Code "UNREACHABLE"
  
  {-# COMPLETE
    Route_WarningsItem_Code_CLEANUPFAILED,
    Route_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
    Route_WarningsItem_Code_DEPRECATEDTYPEUSED,
    Route_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
    Route_WarningsItem_Code_EXPERIMENTALTYPEUSED,
    Route_WarningsItem_Code_EXTERNALAPIWARNING,
    Route_WarningsItem_Code_FIELDVALUEOVERRIDEN,
    Route_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
    Route_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    Route_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
    Route_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
    Route_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
    Route_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
    Route_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
    Route_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    Route_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
    Route_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
    Route_WarningsItem_Code_NEXTHOPNOTRUNNING,
    Route_WarningsItem_Code_NOTCRITICALERROR,
    Route_WarningsItem_Code_NORESULTSONPAGE,
    Route_WarningsItem_Code_PARTIALSUCCESS,
    Route_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
    Route_WarningsItem_Code_REQUIREDTOSAGREEMENT,
    Route_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    Route_WarningsItem_Code_RESOURCENOTDELETED,
    Route_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
    Route_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    Route_WarningsItem_Code_UNDECLAREDPROPERTIES,
    Route_WarningsItem_Code_Unreachable,
    Route_WarningsItem_Code
    #-}
  
  -- | [Output Only] The type of the AS Path, which can be one of the following values: - \'AS/SET\': unordered set of autonomous systems that the route in has traversed - \'AS/SEQUENCE\': ordered set of autonomous systems that the route has traversed - \'AS/CONFED/SEQUENCE\': ordered set of Member Autonomous Systems in the local confederation that the route has traversed - \'AS/CONFED/SET\': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
  newtype RouteAsPath_PathSegmentType = RouteAsPath_PathSegmentType {fromRouteAsPath_PathSegmentType :: 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
      )
  
  pattern RouteAsPath_PathSegmentType_ASCONFEDSEQUENCE :: RouteAsPath_PathSegmentType
  pattern RouteAsPath_PathSegmentType_ASCONFEDSEQUENCE = RouteAsPath_PathSegmentType "AS_CONFED_SEQUENCE"
  
  pattern RouteAsPath_PathSegmentType_ASCONFEDSET :: RouteAsPath_PathSegmentType
  pattern RouteAsPath_PathSegmentType_ASCONFEDSET = RouteAsPath_PathSegmentType "AS_CONFED_SET"
  
  pattern RouteAsPath_PathSegmentType_ASSEQUENCE :: RouteAsPath_PathSegmentType
  pattern RouteAsPath_PathSegmentType_ASSEQUENCE = RouteAsPath_PathSegmentType "AS_SEQUENCE"
  
  pattern RouteAsPath_PathSegmentType_ASSET :: RouteAsPath_PathSegmentType
  pattern RouteAsPath_PathSegmentType_ASSET = RouteAsPath_PathSegmentType "AS_SET"
  
  {-# COMPLETE
    RouteAsPath_PathSegmentType_ASCONFEDSEQUENCE,
    RouteAsPath_PathSegmentType_ASCONFEDSET,
    RouteAsPath_PathSegmentType_ASSEQUENCE,
    RouteAsPath_PathSegmentType_ASSET,
    RouteAsPath_PathSegmentType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RouteList_Warning_Code = RouteList_Warning_Code {fromRouteList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RouteList_Warning_Code_CLEANUPFAILED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_CLEANUPFAILED = RouteList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RouteList_Warning_Code_DEPRECATEDRESOURCEUSED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_DEPRECATEDRESOURCEUSED = RouteList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RouteList_Warning_Code_DEPRECATEDTYPEUSED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_DEPRECATEDTYPEUSED = RouteList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RouteList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RouteList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RouteList_Warning_Code_EXPERIMENTALTYPEUSED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_EXPERIMENTALTYPEUSED = RouteList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RouteList_Warning_Code_EXTERNALAPIWARNING :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_EXTERNALAPIWARNING = RouteList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RouteList_Warning_Code_FIELDVALUEOVERRIDEN :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_FIELDVALUEOVERRIDEN = RouteList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RouteList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_INJECTEDKERNELSDEPRECATED = RouteList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RouteList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RouteList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RouteList_Warning_Code_LARGEDEPLOYMENTWARNING :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_LARGEDEPLOYMENTWARNING = RouteList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RouteList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RouteList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RouteList_Warning_Code_MISSINGTYPEDEPENDENCY :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_MISSINGTYPEDEPENDENCY = RouteList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RouteList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RouteList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RouteList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RouteList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RouteList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RouteList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RouteList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RouteList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RouteList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RouteList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RouteList_Warning_Code_NEXTHOPNOTRUNNING :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NEXTHOPNOTRUNNING = RouteList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RouteList_Warning_Code_NOTCRITICALERROR :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NOTCRITICALERROR = RouteList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RouteList_Warning_Code_NORESULTSONPAGE :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_NORESULTSONPAGE = RouteList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RouteList_Warning_Code_PARTIALSUCCESS :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_PARTIALSUCCESS = RouteList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RouteList_Warning_Code_QUOTAINFOUNAVAILABLE :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_QUOTAINFOUNAVAILABLE = RouteList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RouteList_Warning_Code_REQUIREDTOSAGREEMENT :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_REQUIREDTOSAGREEMENT = RouteList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RouteList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RouteList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RouteList_Warning_Code_RESOURCENOTDELETED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_RESOURCENOTDELETED = RouteList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RouteList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_SCHEMAVALIDATIONIGNORED = RouteList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RouteList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RouteList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RouteList_Warning_Code_UNDECLAREDPROPERTIES :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_UNDECLAREDPROPERTIES = RouteList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RouteList_Warning_Code_Unreachable :: RouteList_Warning_Code
  pattern RouteList_Warning_Code_Unreachable = RouteList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RouteList_Warning_Code_CLEANUPFAILED,
    RouteList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RouteList_Warning_Code_DEPRECATEDTYPEUSED,
    RouteList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RouteList_Warning_Code_EXPERIMENTALTYPEUSED,
    RouteList_Warning_Code_EXTERNALAPIWARNING,
    RouteList_Warning_Code_FIELDVALUEOVERRIDEN,
    RouteList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RouteList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RouteList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RouteList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RouteList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RouteList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RouteList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RouteList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RouteList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RouteList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RouteList_Warning_Code_NEXTHOPNOTRUNNING,
    RouteList_Warning_Code_NOTCRITICALERROR,
    RouteList_Warning_Code_NORESULTSONPAGE,
    RouteList_Warning_Code_PARTIALSUCCESS,
    RouteList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RouteList_Warning_Code_REQUIREDTOSAGREEMENT,
    RouteList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RouteList_Warning_Code_RESOURCENOTDELETED,
    RouteList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RouteList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RouteList_Warning_Code_UNDECLAREDPROPERTIES,
    RouteList_Warning_Code_Unreachable,
    RouteList_Warning_Code
    #-}
  
  newtype RoutePolicy_Type = RoutePolicy_Type {fromRoutePolicy_Type :: 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 Route Policy is an Export Policy.
  pattern RoutePolicy_Type_ROUTEPOLICYTYPEEXPORT :: RoutePolicy_Type
  pattern RoutePolicy_Type_ROUTEPOLICYTYPEEXPORT = RoutePolicy_Type "ROUTE_POLICY_TYPE_EXPORT"
  
  -- | The Route Policy is an Import Policy.
  pattern RoutePolicy_Type_ROUTEPOLICYTYPEIMPORT :: RoutePolicy_Type
  pattern RoutePolicy_Type_ROUTEPOLICYTYPEIMPORT = RoutePolicy_Type "ROUTE_POLICY_TYPE_IMPORT"
  
  {-# COMPLETE
    RoutePolicy_Type_ROUTEPOLICYTYPEEXPORT,
    RoutePolicy_Type_ROUTEPOLICYTYPEIMPORT,
    RoutePolicy_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RouterAggregatedList_Warning_Code = RouterAggregatedList_Warning_Code {fromRouterAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RouterAggregatedList_Warning_Code_CLEANUPFAILED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_CLEANUPFAILED = RouterAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RouterAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = RouterAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RouterAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = RouterAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RouterAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RouterAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RouterAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = RouterAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RouterAggregatedList_Warning_Code_EXTERNALAPIWARNING :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_EXTERNALAPIWARNING = RouterAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RouterAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = RouterAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RouterAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = RouterAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RouterAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RouterAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RouterAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = RouterAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RouterAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RouterAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RouterAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = RouterAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RouterAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RouterAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RouterAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RouterAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RouterAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RouterAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = RouterAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RouterAggregatedList_Warning_Code_NOTCRITICALERROR :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NOTCRITICALERROR = RouterAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RouterAggregatedList_Warning_Code_NORESULTSONPAGE :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_NORESULTSONPAGE = RouterAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RouterAggregatedList_Warning_Code_PARTIALSUCCESS :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_PARTIALSUCCESS = RouterAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RouterAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = RouterAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RouterAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = RouterAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RouterAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RouterAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RouterAggregatedList_Warning_Code_RESOURCENOTDELETED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_RESOURCENOTDELETED = RouterAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RouterAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = RouterAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RouterAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RouterAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RouterAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = RouterAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RouterAggregatedList_Warning_Code_Unreachable :: RouterAggregatedList_Warning_Code
  pattern RouterAggregatedList_Warning_Code_Unreachable = RouterAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RouterAggregatedList_Warning_Code_CLEANUPFAILED,
    RouterAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RouterAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    RouterAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RouterAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    RouterAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    RouterAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    RouterAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RouterAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RouterAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RouterAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RouterAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RouterAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RouterAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RouterAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RouterAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RouterAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    RouterAggregatedList_Warning_Code_NOTCRITICALERROR,
    RouterAggregatedList_Warning_Code_NORESULTSONPAGE,
    RouterAggregatedList_Warning_Code_PARTIALSUCCESS,
    RouterAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RouterAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    RouterAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RouterAggregatedList_Warning_Code_RESOURCENOTDELETED,
    RouterAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RouterAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RouterAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    RouterAggregatedList_Warning_Code_Unreachable,
    RouterAggregatedList_Warning_Code
    #-}
  
  -- | User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM.
  newtype RouterBgp_AdvertiseMode = RouterBgp_AdvertiseMode {fromRouterBgp_AdvertiseMode :: 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
      )
  
  pattern RouterBgp_AdvertiseMode_Custom :: RouterBgp_AdvertiseMode
  pattern RouterBgp_AdvertiseMode_Custom = RouterBgp_AdvertiseMode "CUSTOM"
  
  pattern RouterBgp_AdvertiseMode_Default :: RouterBgp_AdvertiseMode
  pattern RouterBgp_AdvertiseMode_Default = RouterBgp_AdvertiseMode "DEFAULT"
  
  {-# COMPLETE
    RouterBgp_AdvertiseMode_Custom,
    RouterBgp_AdvertiseMode_Default,
    RouterBgp_AdvertiseMode
    #-}
  
  newtype RouterBgp_AdvertisedGroupsItem = RouterBgp_AdvertisedGroupsItem {fromRouterBgp_AdvertisedGroupsItem :: 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
      )
  
  -- | Advertise all available subnets (including peer VPC subnets).
  pattern RouterBgp_AdvertisedGroupsItem_ALLSUBNETS :: RouterBgp_AdvertisedGroupsItem
  pattern RouterBgp_AdvertisedGroupsItem_ALLSUBNETS = RouterBgp_AdvertisedGroupsItem "ALL_SUBNETS"
  
  {-# COMPLETE
    RouterBgp_AdvertisedGroupsItem_ALLSUBNETS,
    RouterBgp_AdvertisedGroupsItem
    #-}
  
  -- | User-specified flag to indicate which mode to use for advertisement.
  newtype RouterBgpPeer_AdvertiseMode = RouterBgpPeer_AdvertiseMode {fromRouterBgpPeer_AdvertiseMode :: 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
      )
  
  pattern RouterBgpPeer_AdvertiseMode_Custom :: RouterBgpPeer_AdvertiseMode
  pattern RouterBgpPeer_AdvertiseMode_Custom = RouterBgpPeer_AdvertiseMode "CUSTOM"
  
  pattern RouterBgpPeer_AdvertiseMode_Default :: RouterBgpPeer_AdvertiseMode
  pattern RouterBgpPeer_AdvertiseMode_Default = RouterBgpPeer_AdvertiseMode "DEFAULT"
  
  {-# COMPLETE
    RouterBgpPeer_AdvertiseMode_Custom,
    RouterBgpPeer_AdvertiseMode_Default,
    RouterBgpPeer_AdvertiseMode
    #-}
  
  newtype RouterBgpPeer_AdvertisedGroupsItem = RouterBgpPeer_AdvertisedGroupsItem {fromRouterBgpPeer_AdvertisedGroupsItem :: 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
      )
  
  -- | Advertise all available subnets (including peer VPC subnets).
  pattern RouterBgpPeer_AdvertisedGroupsItem_ALLSUBNETS :: RouterBgpPeer_AdvertisedGroupsItem
  pattern RouterBgpPeer_AdvertisedGroupsItem_ALLSUBNETS = RouterBgpPeer_AdvertisedGroupsItem "ALL_SUBNETS"
  
  {-# COMPLETE
    RouterBgpPeer_AdvertisedGroupsItem_ALLSUBNETS,
    RouterBgpPeer_AdvertisedGroupsItem
    #-}
  
  -- | The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE.
  newtype RouterBgpPeer_Enable = RouterBgpPeer_Enable {fromRouterBgpPeer_Enable :: 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
      )
  
  pattern RouterBgpPeer_Enable_False' :: RouterBgpPeer_Enable
  pattern RouterBgpPeer_Enable_False' = RouterBgpPeer_Enable "FALSE"
  
  pattern RouterBgpPeer_Enable_True' :: RouterBgpPeer_Enable
  pattern RouterBgpPeer_Enable_True' = RouterBgpPeer_Enable "TRUE"
  
  {-# COMPLETE
    RouterBgpPeer_Enable_False',
    RouterBgpPeer_Enable_True',
    RouterBgpPeer_Enable
    #-}
  
  -- | [Output Only] The resource that configures and manages this BGP peer. - MANAGED/BY/USER is the default value and can be managed by you or other users - MANAGED/BY/ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted.
  newtype RouterBgpPeer_ManagementType = RouterBgpPeer_ManagementType {fromRouterBgpPeer_ManagementType :: 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 BGP peer is automatically created for PARTNER type InterconnectAttachment; Google will automatically create\/delete this BGP peer when the PARTNER InterconnectAttachment is created\/deleted, and Google will update the ipAddress and peerIpAddress when the PARTNER InterconnectAttachment is provisioned. This type of BGP peer cannot be created or deleted, but can be modified for all fields except for name, ipAddress and peerIpAddress.
  pattern RouterBgpPeer_ManagementType_MANAGEDBYATTACHMENT :: RouterBgpPeer_ManagementType
  pattern RouterBgpPeer_ManagementType_MANAGEDBYATTACHMENT = RouterBgpPeer_ManagementType "MANAGED_BY_ATTACHMENT"
  
  -- | Default value, the BGP peer is manually created and managed by user.
  pattern RouterBgpPeer_ManagementType_MANAGEDBYUSER :: RouterBgpPeer_ManagementType
  pattern RouterBgpPeer_ManagementType_MANAGEDBYUSER = RouterBgpPeer_ManagementType "MANAGED_BY_USER"
  
  {-# COMPLETE
    RouterBgpPeer_ManagementType_MANAGEDBYATTACHMENT,
    RouterBgpPeer_ManagementType_MANAGEDBYUSER,
    RouterBgpPeer_ManagementType
    #-}
  
  -- | The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED.
  newtype RouterBgpPeerBfd_SessionInitializationMode = RouterBgpPeerBfd_SessionInitializationMode {fromRouterBgpPeerBfd_SessionInitializationMode :: 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
      )
  
  pattern RouterBgpPeerBfd_SessionInitializationMode_Active :: RouterBgpPeerBfd_SessionInitializationMode
  pattern RouterBgpPeerBfd_SessionInitializationMode_Active = RouterBgpPeerBfd_SessionInitializationMode "ACTIVE"
  
  pattern RouterBgpPeerBfd_SessionInitializationMode_Disabled :: RouterBgpPeerBfd_SessionInitializationMode
  pattern RouterBgpPeerBfd_SessionInitializationMode_Disabled = RouterBgpPeerBfd_SessionInitializationMode "DISABLED"
  
  pattern RouterBgpPeerBfd_SessionInitializationMode_Passive :: RouterBgpPeerBfd_SessionInitializationMode
  pattern RouterBgpPeerBfd_SessionInitializationMode_Passive = RouterBgpPeerBfd_SessionInitializationMode "PASSIVE"
  
  {-# COMPLETE
    RouterBgpPeerBfd_SessionInitializationMode_Active,
    RouterBgpPeerBfd_SessionInitializationMode_Disabled,
    RouterBgpPeerBfd_SessionInitializationMode_Passive,
    RouterBgpPeerBfd_SessionInitializationMode
    #-}
  
  -- | IP version of this interface.
  newtype RouterInterface_IpVersion = RouterInterface_IpVersion {fromRouterInterface_IpVersion :: 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
      )
  
  pattern RouterInterface_IpVersion_IPV4 :: RouterInterface_IpVersion
  pattern RouterInterface_IpVersion_IPV4 = RouterInterface_IpVersion "IPV4"
  
  pattern RouterInterface_IpVersion_IPV6 :: RouterInterface_IpVersion
  pattern RouterInterface_IpVersion_IPV6 = RouterInterface_IpVersion "IPV6"
  
  {-# COMPLETE
    RouterInterface_IpVersion_IPV4,
    RouterInterface_IpVersion_IPV6,
    RouterInterface_IpVersion
    #-}
  
  -- | [Output Only] The resource that configures and manages this interface. - MANAGED/BY/USER is the default value and can be managed directly by users. - MANAGED/BY/ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted.
  newtype RouterInterface_ManagementType = RouterInterface_ManagementType {fromRouterInterface_ManagementType :: 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 interface is automatically created for PARTNER type InterconnectAttachment, Google will automatically create\/update\/delete this interface when the PARTNER InterconnectAttachment is created\/provisioned\/deleted. This type of interface cannot be manually managed by user.
  pattern RouterInterface_ManagementType_MANAGEDBYATTACHMENT :: RouterInterface_ManagementType
  pattern RouterInterface_ManagementType_MANAGEDBYATTACHMENT = RouterInterface_ManagementType "MANAGED_BY_ATTACHMENT"
  
  -- | Default value, the interface is manually created and managed by user.
  pattern RouterInterface_ManagementType_MANAGEDBYUSER :: RouterInterface_ManagementType
  pattern RouterInterface_ManagementType_MANAGEDBYUSER = RouterInterface_ManagementType "MANAGED_BY_USER"
  
  {-# COMPLETE
    RouterInterface_ManagementType_MANAGEDBYATTACHMENT,
    RouterInterface_ManagementType_MANAGEDBYUSER,
    RouterInterface_ManagementType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RouterList_Warning_Code = RouterList_Warning_Code {fromRouterList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RouterList_Warning_Code_CLEANUPFAILED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_CLEANUPFAILED = RouterList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RouterList_Warning_Code_DEPRECATEDRESOURCEUSED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_DEPRECATEDRESOURCEUSED = RouterList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RouterList_Warning_Code_DEPRECATEDTYPEUSED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_DEPRECATEDTYPEUSED = RouterList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RouterList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RouterList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RouterList_Warning_Code_EXPERIMENTALTYPEUSED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_EXPERIMENTALTYPEUSED = RouterList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RouterList_Warning_Code_EXTERNALAPIWARNING :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_EXTERNALAPIWARNING = RouterList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RouterList_Warning_Code_FIELDVALUEOVERRIDEN :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_FIELDVALUEOVERRIDEN = RouterList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RouterList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_INJECTEDKERNELSDEPRECATED = RouterList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RouterList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RouterList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RouterList_Warning_Code_LARGEDEPLOYMENTWARNING :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_LARGEDEPLOYMENTWARNING = RouterList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RouterList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RouterList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RouterList_Warning_Code_MISSINGTYPEDEPENDENCY :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_MISSINGTYPEDEPENDENCY = RouterList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RouterList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RouterList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RouterList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RouterList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RouterList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RouterList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RouterList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RouterList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RouterList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RouterList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RouterList_Warning_Code_NEXTHOPNOTRUNNING :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NEXTHOPNOTRUNNING = RouterList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RouterList_Warning_Code_NOTCRITICALERROR :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NOTCRITICALERROR = RouterList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RouterList_Warning_Code_NORESULTSONPAGE :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_NORESULTSONPAGE = RouterList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RouterList_Warning_Code_PARTIALSUCCESS :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_PARTIALSUCCESS = RouterList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RouterList_Warning_Code_QUOTAINFOUNAVAILABLE :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_QUOTAINFOUNAVAILABLE = RouterList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RouterList_Warning_Code_REQUIREDTOSAGREEMENT :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_REQUIREDTOSAGREEMENT = RouterList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RouterList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RouterList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RouterList_Warning_Code_RESOURCENOTDELETED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_RESOURCENOTDELETED = RouterList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RouterList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_SCHEMAVALIDATIONIGNORED = RouterList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RouterList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RouterList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RouterList_Warning_Code_UNDECLAREDPROPERTIES :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_UNDECLAREDPROPERTIES = RouterList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RouterList_Warning_Code_Unreachable :: RouterList_Warning_Code
  pattern RouterList_Warning_Code_Unreachable = RouterList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RouterList_Warning_Code_CLEANUPFAILED,
    RouterList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RouterList_Warning_Code_DEPRECATEDTYPEUSED,
    RouterList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RouterList_Warning_Code_EXPERIMENTALTYPEUSED,
    RouterList_Warning_Code_EXTERNALAPIWARNING,
    RouterList_Warning_Code_FIELDVALUEOVERRIDEN,
    RouterList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RouterList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RouterList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RouterList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RouterList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RouterList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RouterList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RouterList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RouterList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RouterList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RouterList_Warning_Code_NEXTHOPNOTRUNNING,
    RouterList_Warning_Code_NOTCRITICALERROR,
    RouterList_Warning_Code_NORESULTSONPAGE,
    RouterList_Warning_Code_PARTIALSUCCESS,
    RouterList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RouterList_Warning_Code_REQUIREDTOSAGREEMENT,
    RouterList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RouterList_Warning_Code_RESOURCENOTDELETED,
    RouterList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RouterList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RouterList_Warning_Code_UNDECLAREDPROPERTIES,
    RouterList_Warning_Code_Unreachable,
    RouterList_Warning_Code
    #-}
  
  -- | The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used.
  newtype RouterNat_AutoNetworkTier = RouterNat_AutoNetworkTier {fromRouterNat_AutoNetworkTier :: 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
      )
  
  -- | Public internet quality with fixed bandwidth.
  pattern RouterNat_AutoNetworkTier_FIXEDSTANDARD :: RouterNat_AutoNetworkTier
  pattern RouterNat_AutoNetworkTier_FIXEDSTANDARD = RouterNat_AutoNetworkTier "FIXED_STANDARD"
  
  -- | High quality, Google-grade network tier, support for all networking products.
  pattern RouterNat_AutoNetworkTier_Premium :: RouterNat_AutoNetworkTier
  pattern RouterNat_AutoNetworkTier_Premium = RouterNat_AutoNetworkTier "PREMIUM"
  
  -- | Public internet quality, only limited support for other networking products.
  pattern RouterNat_AutoNetworkTier_Standard :: RouterNat_AutoNetworkTier
  pattern RouterNat_AutoNetworkTier_Standard = RouterNat_AutoNetworkTier "STANDARD"
  
  -- | (Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured.
  pattern RouterNat_AutoNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD :: RouterNat_AutoNetworkTier
  pattern RouterNat_AutoNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD = RouterNat_AutoNetworkTier "STANDARD_OVERRIDES_FIXED_STANDARD"
  
  {-# COMPLETE
    RouterNat_AutoNetworkTier_FIXEDSTANDARD,
    RouterNat_AutoNetworkTier_Premium,
    RouterNat_AutoNetworkTier_Standard,
    RouterNat_AutoNetworkTier_STANDARDOVERRIDESFIXEDSTANDARD,
    RouterNat_AutoNetworkTier
    #-}
  
  newtype RouterNat_EndpointTypesItem = RouterNat_EndpointTypesItem {fromRouterNat_EndpointTypesItem :: 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
      )
  
  -- | This is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints.
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPEMANAGEDPROXYLB :: RouterNat_EndpointTypesItem
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPEMANAGEDPROXYLB = RouterNat_EndpointTypesItem "ENDPOINT_TYPE_MANAGED_PROXY_LB"
  
  -- | This is used for Secure Web Gateway endpoints.
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPESWG :: RouterNat_EndpointTypesItem
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPESWG = RouterNat_EndpointTypesItem "ENDPOINT_TYPE_SWG"
  
  -- | This is the default.
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPEVM :: RouterNat_EndpointTypesItem
  pattern RouterNat_EndpointTypesItem_ENDPOINTTYPEVM = RouterNat_EndpointTypesItem "ENDPOINT_TYPE_VM"
  
  {-# COMPLETE
    RouterNat_EndpointTypesItem_ENDPOINTTYPEMANAGEDPROXYLB,
    RouterNat_EndpointTypesItem_ENDPOINTTYPESWG,
    RouterNat_EndpointTypesItem_ENDPOINTTYPEVM,
    RouterNat_EndpointTypesItem
    #-}
  
  -- | Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL/ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO/ONLY: Nat IPs are allocated by Google Cloud Platform; customers can\'t specify any Nat IPs. When choosing AUTO/ONLY, then nat/ip should be empty.
  newtype RouterNat_NatIpAllocateOption = RouterNat_NatIpAllocateOption {fromRouterNat_NatIpAllocateOption :: 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
      )
  
  -- | Nat IPs are allocated by GCP; customers can not specify any Nat IPs.
  pattern RouterNat_NatIpAllocateOption_AUTOONLY :: RouterNat_NatIpAllocateOption
  pattern RouterNat_NatIpAllocateOption_AUTOONLY = RouterNat_NatIpAllocateOption "AUTO_ONLY"
  
  -- | Only use Nat IPs provided by customers. When specified Nat IPs are not enough then the Nat service fails for new VMs.
  pattern RouterNat_NatIpAllocateOption_MANUALONLY :: RouterNat_NatIpAllocateOption
  pattern RouterNat_NatIpAllocateOption_MANUALONLY = RouterNat_NatIpAllocateOption "MANUAL_ONLY"
  
  {-# COMPLETE
    RouterNat_NatIpAllocateOption_AUTOONLY,
    RouterNat_NatIpAllocateOption_MANUALONLY,
    RouterNat_NatIpAllocateOption
    #-}
  
  -- | Specify the Nat option, which can take one of the following values: - ALL/SUBNETWORKS/ALL/IP/RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL/SUBNETWORKS/ALL/PRIMARY/IP/RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST/OF/SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK/IP/RANGE/TO/NAT/OPTION/UNSPECIFIED. Note that if this field contains ALL/SUBNETWORKS/ALL/IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region.
  newtype RouterNat_SourceSubnetworkIpRangesToNat = RouterNat_SourceSubnetworkIpRangesToNat {fromRouterNat_SourceSubnetworkIpRangesToNat :: 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
      )
  
  -- | All the IP ranges in every Subnetwork are allowed to Nat.
  pattern RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLIPRANGES :: RouterNat_SourceSubnetworkIpRangesToNat
  pattern RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLIPRANGES = RouterNat_SourceSubnetworkIpRangesToNat "ALL_SUBNETWORKS_ALL_IP_RANGES"
  
  -- | All the primary IP ranges in every Subnetwork are allowed to Nat.
  pattern RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLPRIMARYIPRANGES :: RouterNat_SourceSubnetworkIpRangesToNat
  pattern RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLPRIMARYIPRANGES = RouterNat_SourceSubnetworkIpRangesToNat "ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES"
  
  -- | A list of Subnetworks are allowed to Nat (specified in the field subnetwork below)
  pattern RouterNat_SourceSubnetworkIpRangesToNat_LISTOFSUBNETWORKS :: RouterNat_SourceSubnetworkIpRangesToNat
  pattern RouterNat_SourceSubnetworkIpRangesToNat_LISTOFSUBNETWORKS = RouterNat_SourceSubnetworkIpRangesToNat "LIST_OF_SUBNETWORKS"
  
  {-# COMPLETE
    RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLIPRANGES,
    RouterNat_SourceSubnetworkIpRangesToNat_ALLSUBNETWORKSALLPRIMARYIPRANGES,
    RouterNat_SourceSubnetworkIpRangesToNat_LISTOFSUBNETWORKS,
    RouterNat_SourceSubnetworkIpRangesToNat
    #-}
  
  -- | Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC.
  newtype RouterNat_Type = RouterNat_Type {fromRouterNat_Type :: 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
      )
  
  -- | NAT used for private IP translation.
  pattern RouterNat_Type_Private :: RouterNat_Type
  pattern RouterNat_Type_Private = RouterNat_Type "PRIVATE"
  
  -- | NAT used for public IP translation. This is the default.
  pattern RouterNat_Type_Public :: RouterNat_Type
  pattern RouterNat_Type_Public = RouterNat_Type "PUBLIC"
  
  {-# COMPLETE
    RouterNat_Type_Private,
    RouterNat_Type_Public,
    RouterNat_Type
    #-}
  
  -- | Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS/ONLY: Export logs only for connection failures. - TRANSLATIONS/ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful.
  newtype RouterNatLogConfig_Filter = RouterNatLogConfig_Filter {fromRouterNatLogConfig_Filter :: 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
      )
  
  -- | Export logs for all (successful and unsuccessful) connections.
  pattern RouterNatLogConfig_Filter_All :: RouterNatLogConfig_Filter
  pattern RouterNatLogConfig_Filter_All = RouterNatLogConfig_Filter "ALL"
  
  -- | Export logs for connection failures only.
  pattern RouterNatLogConfig_Filter_ERRORSONLY :: RouterNatLogConfig_Filter
  pattern RouterNatLogConfig_Filter_ERRORSONLY = RouterNatLogConfig_Filter "ERRORS_ONLY"
  
  -- | Export logs for successful connections only.
  pattern RouterNatLogConfig_Filter_TRANSLATIONSONLY :: RouterNatLogConfig_Filter
  pattern RouterNatLogConfig_Filter_TRANSLATIONSONLY = RouterNatLogConfig_Filter "TRANSLATIONS_ONLY"
  
  {-# COMPLETE
    RouterNatLogConfig_Filter_All,
    RouterNatLogConfig_Filter_ERRORSONLY,
    RouterNatLogConfig_Filter_TRANSLATIONSONLY,
    RouterNatLogConfig_Filter
    #-}
  
  newtype RouterNatSubnetworkToNat_SourceIpRangesToNatItem = RouterNatSubnetworkToNat_SourceIpRangesToNatItem {fromRouterNatSubnetworkToNat_SourceIpRangesToNatItem :: 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 primary and all the secondary ranges are allowed to Nat.
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_ALLIPRANGES :: RouterNatSubnetworkToNat_SourceIpRangesToNatItem
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_ALLIPRANGES = RouterNatSubnetworkToNat_SourceIpRangesToNatItem "ALL_IP_RANGES"
  
  -- | A list of secondary ranges are allowed to Nat.
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_LISTOFSECONDARYIPRANGES :: RouterNatSubnetworkToNat_SourceIpRangesToNatItem
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_LISTOFSECONDARYIPRANGES = RouterNatSubnetworkToNat_SourceIpRangesToNatItem "LIST_OF_SECONDARY_IP_RANGES"
  
  -- | The primary range is allowed to Nat.
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_PRIMARYIPRANGE :: RouterNatSubnetworkToNat_SourceIpRangesToNatItem
  pattern RouterNatSubnetworkToNat_SourceIpRangesToNatItem_PRIMARYIPRANGE = RouterNatSubnetworkToNat_SourceIpRangesToNatItem "PRIMARY_IP_RANGE"
  
  {-# COMPLETE
    RouterNatSubnetworkToNat_SourceIpRangesToNatItem_ALLIPRANGES,
    RouterNatSubnetworkToNat_SourceIpRangesToNatItem_LISTOFSECONDARYIPRANGES,
    RouterNatSubnetworkToNat_SourceIpRangesToNatItem_PRIMARYIPRANGE,
    RouterNatSubnetworkToNat_SourceIpRangesToNatItem
    #-}
  
  -- | Status of the BGP peer: {UP, DOWN}
  newtype RouterStatusBgpPeerStatus_Status = RouterStatusBgpPeerStatus_Status {fromRouterStatusBgpPeerStatus_Status :: 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
      )
  
  pattern RouterStatusBgpPeerStatus_Status_Down :: RouterStatusBgpPeerStatus_Status
  pattern RouterStatusBgpPeerStatus_Status_Down = RouterStatusBgpPeerStatus_Status "DOWN"
  
  pattern RouterStatusBgpPeerStatus_Status_Unknown :: RouterStatusBgpPeerStatus_Status
  pattern RouterStatusBgpPeerStatus_Status_Unknown = RouterStatusBgpPeerStatus_Status "UNKNOWN"
  
  pattern RouterStatusBgpPeerStatus_Status_UP :: RouterStatusBgpPeerStatus_Status
  pattern RouterStatusBgpPeerStatus_Status_UP = RouterStatusBgpPeerStatus_Status "UP"
  
  {-# COMPLETE
    RouterStatusBgpPeerStatus_Status_Down,
    RouterStatusBgpPeerStatus_Status_Unknown,
    RouterStatusBgpPeerStatus_Status_UP,
    RouterStatusBgpPeerStatus_Status
    #-}
  
  -- | Indicates why particular status was returned.
  newtype RouterStatusBgpPeerStatus_StatusReason = RouterStatusBgpPeerStatus_StatusReason {fromRouterStatusBgpPeerStatus_StatusReason :: 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
      )
  
  -- | BGP peer disabled because it requires IPv4 but the underlying connection is IPv6-only.
  pattern RouterStatusBgpPeerStatus_StatusReason_IPV4PEERONIPV6ONLYCONNECTION :: RouterStatusBgpPeerStatus_StatusReason
  pattern RouterStatusBgpPeerStatus_StatusReason_IPV4PEERONIPV6ONLYCONNECTION = RouterStatusBgpPeerStatus_StatusReason "IPV4_PEER_ON_IPV6_ONLY_CONNECTION"
  
  -- | BGP peer disabled because it requires IPv6 but the underlying connection is IPv4-only.
  pattern RouterStatusBgpPeerStatus_StatusReason_IPV6PEERONIPV4ONLYCONNECTION :: RouterStatusBgpPeerStatus_StatusReason
  pattern RouterStatusBgpPeerStatus_StatusReason_IPV6PEERONIPV4ONLYCONNECTION = RouterStatusBgpPeerStatus_StatusReason "IPV6_PEER_ON_IPV4_ONLY_CONNECTION"
  
  -- | Indicates internal problems with configuration of MD5 authentication. This particular reason can only be returned when md5AuthEnabled is true and status is DOWN.
  pattern RouterStatusBgpPeerStatus_StatusReason_MD5AUTHINTERNALPROBLEM :: RouterStatusBgpPeerStatus_StatusReason
  pattern RouterStatusBgpPeerStatus_StatusReason_MD5AUTHINTERNALPROBLEM = RouterStatusBgpPeerStatus_StatusReason "MD5_AUTH_INTERNAL_PROBLEM"
  
  pattern RouterStatusBgpPeerStatus_StatusReason_STATUSREASONUNSPECIFIED :: RouterStatusBgpPeerStatus_StatusReason
  pattern RouterStatusBgpPeerStatus_StatusReason_STATUSREASONUNSPECIFIED = RouterStatusBgpPeerStatus_StatusReason "STATUS_REASON_UNSPECIFIED"
  
  {-# COMPLETE
    RouterStatusBgpPeerStatus_StatusReason_IPV4PEERONIPV6ONLYCONNECTION,
    RouterStatusBgpPeerStatus_StatusReason_IPV6PEERONIPV4ONLYCONNECTION,
    RouterStatusBgpPeerStatus_StatusReason_MD5AUTHINTERNALPROBLEM,
    RouterStatusBgpPeerStatus_StatusReason_STATUSREASONUNSPECIFIED,
    RouterStatusBgpPeerStatus_StatusReason
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RoutersListBgpRoutes_Warning_Code = RoutersListBgpRoutes_Warning_Code {fromRoutersListBgpRoutes_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RoutersListBgpRoutes_Warning_Code_CLEANUPFAILED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_CLEANUPFAILED = RoutersListBgpRoutes_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RoutersListBgpRoutes_Warning_Code_DEPRECATEDRESOURCEUSED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_DEPRECATEDRESOURCEUSED = RoutersListBgpRoutes_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RoutersListBgpRoutes_Warning_Code_DEPRECATEDTYPEUSED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_DEPRECATEDTYPEUSED = RoutersListBgpRoutes_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RoutersListBgpRoutes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RoutersListBgpRoutes_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RoutersListBgpRoutes_Warning_Code_EXPERIMENTALTYPEUSED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_EXPERIMENTALTYPEUSED = RoutersListBgpRoutes_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RoutersListBgpRoutes_Warning_Code_EXTERNALAPIWARNING :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_EXTERNALAPIWARNING = RoutersListBgpRoutes_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RoutersListBgpRoutes_Warning_Code_FIELDVALUEOVERRIDEN :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_FIELDVALUEOVERRIDEN = RoutersListBgpRoutes_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RoutersListBgpRoutes_Warning_Code_INJECTEDKERNELSDEPRECATED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_INJECTEDKERNELSDEPRECATED = RoutersListBgpRoutes_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RoutersListBgpRoutes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RoutersListBgpRoutes_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RoutersListBgpRoutes_Warning_Code_LARGEDEPLOYMENTWARNING :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_LARGEDEPLOYMENTWARNING = RoutersListBgpRoutes_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RoutersListBgpRoutes_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_LISTOVERHEADQUOTAEXCEED = RoutersListBgpRoutes_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RoutersListBgpRoutes_Warning_Code_MISSINGTYPEDEPENDENCY :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_MISSINGTYPEDEPENDENCY = RoutersListBgpRoutes_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPCANNOTIPFORWARD = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTFOUND = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPNOTRUNNING :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NEXTHOPNOTRUNNING = RoutersListBgpRoutes_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RoutersListBgpRoutes_Warning_Code_NOTCRITICALERROR :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NOTCRITICALERROR = RoutersListBgpRoutes_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RoutersListBgpRoutes_Warning_Code_NORESULTSONPAGE :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_NORESULTSONPAGE = RoutersListBgpRoutes_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RoutersListBgpRoutes_Warning_Code_PARTIALSUCCESS :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_PARTIALSUCCESS = RoutersListBgpRoutes_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RoutersListBgpRoutes_Warning_Code_QUOTAINFOUNAVAILABLE :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_QUOTAINFOUNAVAILABLE = RoutersListBgpRoutes_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RoutersListBgpRoutes_Warning_Code_REQUIREDTOSAGREEMENT :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_REQUIREDTOSAGREEMENT = RoutersListBgpRoutes_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RoutersListBgpRoutes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RoutersListBgpRoutes_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RoutersListBgpRoutes_Warning_Code_RESOURCENOTDELETED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_RESOURCENOTDELETED = RoutersListBgpRoutes_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RoutersListBgpRoutes_Warning_Code_SCHEMAVALIDATIONIGNORED :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_SCHEMAVALIDATIONIGNORED = RoutersListBgpRoutes_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RoutersListBgpRoutes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RoutersListBgpRoutes_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RoutersListBgpRoutes_Warning_Code_UNDECLAREDPROPERTIES :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_UNDECLAREDPROPERTIES = RoutersListBgpRoutes_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RoutersListBgpRoutes_Warning_Code_Unreachable :: RoutersListBgpRoutes_Warning_Code
  pattern RoutersListBgpRoutes_Warning_Code_Unreachable = RoutersListBgpRoutes_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RoutersListBgpRoutes_Warning_Code_CLEANUPFAILED,
    RoutersListBgpRoutes_Warning_Code_DEPRECATEDRESOURCEUSED,
    RoutersListBgpRoutes_Warning_Code_DEPRECATEDTYPEUSED,
    RoutersListBgpRoutes_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RoutersListBgpRoutes_Warning_Code_EXPERIMENTALTYPEUSED,
    RoutersListBgpRoutes_Warning_Code_EXTERNALAPIWARNING,
    RoutersListBgpRoutes_Warning_Code_FIELDVALUEOVERRIDEN,
    RoutersListBgpRoutes_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RoutersListBgpRoutes_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RoutersListBgpRoutes_Warning_Code_LARGEDEPLOYMENTWARNING,
    RoutersListBgpRoutes_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RoutersListBgpRoutes_Warning_Code_MISSINGTYPEDEPENDENCY,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RoutersListBgpRoutes_Warning_Code_NEXTHOPNOTRUNNING,
    RoutersListBgpRoutes_Warning_Code_NOTCRITICALERROR,
    RoutersListBgpRoutes_Warning_Code_NORESULTSONPAGE,
    RoutersListBgpRoutes_Warning_Code_PARTIALSUCCESS,
    RoutersListBgpRoutes_Warning_Code_QUOTAINFOUNAVAILABLE,
    RoutersListBgpRoutes_Warning_Code_REQUIREDTOSAGREEMENT,
    RoutersListBgpRoutes_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RoutersListBgpRoutes_Warning_Code_RESOURCENOTDELETED,
    RoutersListBgpRoutes_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RoutersListBgpRoutes_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RoutersListBgpRoutes_Warning_Code_UNDECLAREDPROPERTIES,
    RoutersListBgpRoutes_Warning_Code_Unreachable,
    RoutersListBgpRoutes_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RoutersListRoutePolicies_Warning_Code = RoutersListRoutePolicies_Warning_Code {fromRoutersListRoutePolicies_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RoutersListRoutePolicies_Warning_Code_CLEANUPFAILED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_CLEANUPFAILED = RoutersListRoutePolicies_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RoutersListRoutePolicies_Warning_Code_DEPRECATEDRESOURCEUSED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_DEPRECATEDRESOURCEUSED = RoutersListRoutePolicies_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RoutersListRoutePolicies_Warning_Code_DEPRECATEDTYPEUSED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_DEPRECATEDTYPEUSED = RoutersListRoutePolicies_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RoutersListRoutePolicies_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RoutersListRoutePolicies_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RoutersListRoutePolicies_Warning_Code_EXPERIMENTALTYPEUSED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_EXPERIMENTALTYPEUSED = RoutersListRoutePolicies_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RoutersListRoutePolicies_Warning_Code_EXTERNALAPIWARNING :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_EXTERNALAPIWARNING = RoutersListRoutePolicies_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RoutersListRoutePolicies_Warning_Code_FIELDVALUEOVERRIDEN :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_FIELDVALUEOVERRIDEN = RoutersListRoutePolicies_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RoutersListRoutePolicies_Warning_Code_INJECTEDKERNELSDEPRECATED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_INJECTEDKERNELSDEPRECATED = RoutersListRoutePolicies_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RoutersListRoutePolicies_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RoutersListRoutePolicies_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RoutersListRoutePolicies_Warning_Code_LARGEDEPLOYMENTWARNING :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_LARGEDEPLOYMENTWARNING = RoutersListRoutePolicies_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RoutersListRoutePolicies_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_LISTOVERHEADQUOTAEXCEED = RoutersListRoutePolicies_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RoutersListRoutePolicies_Warning_Code_MISSINGTYPEDEPENDENCY :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_MISSINGTYPEDEPENDENCY = RoutersListRoutePolicies_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPCANNOTIPFORWARD = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTFOUND = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPNOTRUNNING :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NEXTHOPNOTRUNNING = RoutersListRoutePolicies_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RoutersListRoutePolicies_Warning_Code_NOTCRITICALERROR :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NOTCRITICALERROR = RoutersListRoutePolicies_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RoutersListRoutePolicies_Warning_Code_NORESULTSONPAGE :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_NORESULTSONPAGE = RoutersListRoutePolicies_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RoutersListRoutePolicies_Warning_Code_PARTIALSUCCESS :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_PARTIALSUCCESS = RoutersListRoutePolicies_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RoutersListRoutePolicies_Warning_Code_QUOTAINFOUNAVAILABLE :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_QUOTAINFOUNAVAILABLE = RoutersListRoutePolicies_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RoutersListRoutePolicies_Warning_Code_REQUIREDTOSAGREEMENT :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_REQUIREDTOSAGREEMENT = RoutersListRoutePolicies_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RoutersListRoutePolicies_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RoutersListRoutePolicies_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RoutersListRoutePolicies_Warning_Code_RESOURCENOTDELETED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_RESOURCENOTDELETED = RoutersListRoutePolicies_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RoutersListRoutePolicies_Warning_Code_SCHEMAVALIDATIONIGNORED :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_SCHEMAVALIDATIONIGNORED = RoutersListRoutePolicies_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RoutersListRoutePolicies_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RoutersListRoutePolicies_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RoutersListRoutePolicies_Warning_Code_UNDECLAREDPROPERTIES :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_UNDECLAREDPROPERTIES = RoutersListRoutePolicies_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RoutersListRoutePolicies_Warning_Code_Unreachable :: RoutersListRoutePolicies_Warning_Code
  pattern RoutersListRoutePolicies_Warning_Code_Unreachable = RoutersListRoutePolicies_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RoutersListRoutePolicies_Warning_Code_CLEANUPFAILED,
    RoutersListRoutePolicies_Warning_Code_DEPRECATEDRESOURCEUSED,
    RoutersListRoutePolicies_Warning_Code_DEPRECATEDTYPEUSED,
    RoutersListRoutePolicies_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RoutersListRoutePolicies_Warning_Code_EXPERIMENTALTYPEUSED,
    RoutersListRoutePolicies_Warning_Code_EXTERNALAPIWARNING,
    RoutersListRoutePolicies_Warning_Code_FIELDVALUEOVERRIDEN,
    RoutersListRoutePolicies_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RoutersListRoutePolicies_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RoutersListRoutePolicies_Warning_Code_LARGEDEPLOYMENTWARNING,
    RoutersListRoutePolicies_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RoutersListRoutePolicies_Warning_Code_MISSINGTYPEDEPENDENCY,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RoutersListRoutePolicies_Warning_Code_NEXTHOPNOTRUNNING,
    RoutersListRoutePolicies_Warning_Code_NOTCRITICALERROR,
    RoutersListRoutePolicies_Warning_Code_NORESULTSONPAGE,
    RoutersListRoutePolicies_Warning_Code_PARTIALSUCCESS,
    RoutersListRoutePolicies_Warning_Code_QUOTAINFOUNAVAILABLE,
    RoutersListRoutePolicies_Warning_Code_REQUIREDTOSAGREEMENT,
    RoutersListRoutePolicies_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RoutersListRoutePolicies_Warning_Code_RESOURCENOTDELETED,
    RoutersListRoutePolicies_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RoutersListRoutePolicies_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RoutersListRoutePolicies_Warning_Code_UNDECLAREDPROPERTIES,
    RoutersListRoutePolicies_Warning_Code_Unreachable,
    RoutersListRoutePolicies_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype RoutersScopedList_Warning_Code = RoutersScopedList_Warning_Code {fromRoutersScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern RoutersScopedList_Warning_Code_CLEANUPFAILED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_CLEANUPFAILED = RoutersScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern RoutersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = RoutersScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern RoutersScopedList_Warning_Code_DEPRECATEDTYPEUSED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_DEPRECATEDTYPEUSED = RoutersScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern RoutersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = RoutersScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern RoutersScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_EXPERIMENTALTYPEUSED = RoutersScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern RoutersScopedList_Warning_Code_EXTERNALAPIWARNING :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_EXTERNALAPIWARNING = RoutersScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern RoutersScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_FIELDVALUEOVERRIDEN = RoutersScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern RoutersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = RoutersScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern RoutersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = RoutersScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern RoutersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = RoutersScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern RoutersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = RoutersScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern RoutersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = RoutersScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern RoutersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = RoutersScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern RoutersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = RoutersScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = RoutersScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = RoutersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = RoutersScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern RoutersScopedList_Warning_Code_NEXTHOPNOTRUNNING :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NEXTHOPNOTRUNNING = RoutersScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern RoutersScopedList_Warning_Code_NOTCRITICALERROR :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NOTCRITICALERROR = RoutersScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern RoutersScopedList_Warning_Code_NORESULTSONPAGE :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_NORESULTSONPAGE = RoutersScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern RoutersScopedList_Warning_Code_PARTIALSUCCESS :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_PARTIALSUCCESS = RoutersScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern RoutersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = RoutersScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern RoutersScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_REQUIREDTOSAGREEMENT = RoutersScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern RoutersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = RoutersScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern RoutersScopedList_Warning_Code_RESOURCENOTDELETED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_RESOURCENOTDELETED = RoutersScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern RoutersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = RoutersScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern RoutersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = RoutersScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern RoutersScopedList_Warning_Code_UNDECLAREDPROPERTIES :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_UNDECLAREDPROPERTIES = RoutersScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern RoutersScopedList_Warning_Code_Unreachable :: RoutersScopedList_Warning_Code
  pattern RoutersScopedList_Warning_Code_Unreachable = RoutersScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    RoutersScopedList_Warning_Code_CLEANUPFAILED,
    RoutersScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    RoutersScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    RoutersScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    RoutersScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    RoutersScopedList_Warning_Code_EXTERNALAPIWARNING,
    RoutersScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    RoutersScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    RoutersScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    RoutersScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    RoutersScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    RoutersScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    RoutersScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    RoutersScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    RoutersScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    RoutersScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    RoutersScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    RoutersScopedList_Warning_Code_NOTCRITICALERROR,
    RoutersScopedList_Warning_Code_NORESULTSONPAGE,
    RoutersScopedList_Warning_Code_PARTIALSUCCESS,
    RoutersScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    RoutersScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    RoutersScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    RoutersScopedList_Warning_Code_RESOURCENOTDELETED,
    RoutersScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    RoutersScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    RoutersScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    RoutersScopedList_Warning_Code_Unreachable,
    RoutersScopedList_Warning_Code
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group backends. For GCE/VM/IP_PORT network
  -- endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype SSLHealthCheck_PortSpecification = SSLHealthCheck_PortSpecification {fromSSLHealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern SSLHealthCheck_PortSpecification_USEFIXEDPORT :: SSLHealthCheck_PortSpecification
  pattern SSLHealthCheck_PortSpecification_USEFIXEDPORT = SSLHealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern SSLHealthCheck_PortSpecification_USENAMEDPORT :: SSLHealthCheck_PortSpecification
  pattern SSLHealthCheck_PortSpecification_USENAMEDPORT = SSLHealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern SSLHealthCheck_PortSpecification_USESERVINGPORT :: SSLHealthCheck_PortSpecification
  pattern SSLHealthCheck_PortSpecification_USESERVINGPORT = SSLHealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    SSLHealthCheck_PortSpecification_USEFIXEDPORT,
    SSLHealthCheck_PortSpecification_USENAMEDPORT,
    SSLHealthCheck_PortSpecification_USESERVINGPORT,
    SSLHealthCheck_PortSpecification
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype SSLHealthCheck_ProxyHeader = SSLHealthCheck_ProxyHeader {fromSSLHealthCheck_ProxyHeader :: 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
      )
  
  pattern SSLHealthCheck_ProxyHeader_None :: SSLHealthCheck_ProxyHeader
  pattern SSLHealthCheck_ProxyHeader_None = SSLHealthCheck_ProxyHeader "NONE"
  
  pattern SSLHealthCheck_ProxyHeader_PROXY_V1 :: SSLHealthCheck_ProxyHeader
  pattern SSLHealthCheck_ProxyHeader_PROXY_V1 = SSLHealthCheck_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    SSLHealthCheck_ProxyHeader_None,
    SSLHealthCheck_ProxyHeader_PROXY_V1,
    SSLHealthCheck_ProxyHeader
    #-}
  
  -- | Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME.
  newtype SavedAttachedDisk_Interface = SavedAttachedDisk_Interface {fromSavedAttachedDisk_Interface :: 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
      )
  
  pattern SavedAttachedDisk_Interface_Nvme :: SavedAttachedDisk_Interface
  pattern SavedAttachedDisk_Interface_Nvme = SavedAttachedDisk_Interface "NVME"
  
  pattern SavedAttachedDisk_Interface_Scsi :: SavedAttachedDisk_Interface
  pattern SavedAttachedDisk_Interface_Scsi = SavedAttachedDisk_Interface "SCSI"
  
  {-# COMPLETE
    SavedAttachedDisk_Interface_Nvme,
    SavedAttachedDisk_Interface_Scsi,
    SavedAttachedDisk_Interface
    #-}
  
  -- | The mode in which this disk is attached to the source instance, either READ/WRITE or READ/ONLY.
  newtype SavedAttachedDisk_Mode = SavedAttachedDisk_Mode {fromSavedAttachedDisk_Mode :: 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
      )
  
  -- | Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.
  pattern SavedAttachedDisk_Mode_READONLY :: SavedAttachedDisk_Mode
  pattern SavedAttachedDisk_Mode_READONLY = SavedAttachedDisk_Mode "READ_ONLY"
  
  -- | /[Default]/ Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode.
  pattern SavedAttachedDisk_Mode_READWRITE :: SavedAttachedDisk_Mode
  pattern SavedAttachedDisk_Mode_READWRITE = SavedAttachedDisk_Mode "READ_WRITE"
  
  {-# COMPLETE
    SavedAttachedDisk_Mode_READONLY,
    SavedAttachedDisk_Mode_READWRITE,
    SavedAttachedDisk_Mode
    #-}
  
  -- | [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP/TO/DATE, meaning the size of the snapshot is up-to-date.
  newtype SavedAttachedDisk_StorageBytesStatus = SavedAttachedDisk_StorageBytesStatus {fromSavedAttachedDisk_StorageBytesStatus :: 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
      )
  
  pattern SavedAttachedDisk_StorageBytesStatus_Updating :: SavedAttachedDisk_StorageBytesStatus
  pattern SavedAttachedDisk_StorageBytesStatus_Updating = SavedAttachedDisk_StorageBytesStatus "UPDATING"
  
  pattern SavedAttachedDisk_StorageBytesStatus_UPTODATE :: SavedAttachedDisk_StorageBytesStatus
  pattern SavedAttachedDisk_StorageBytesStatus_UPTODATE = SavedAttachedDisk_StorageBytesStatus "UP_TO_DATE"
  
  {-# COMPLETE
    SavedAttachedDisk_StorageBytesStatus_Updating,
    SavedAttachedDisk_StorageBytesStatus_UPTODATE,
    SavedAttachedDisk_StorageBytesStatus
    #-}
  
  -- | Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
  newtype SavedAttachedDisk_Type = SavedAttachedDisk_Type {fromSavedAttachedDisk_Type :: 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
      )
  
  pattern SavedAttachedDisk_Type_Persistent :: SavedAttachedDisk_Type
  pattern SavedAttachedDisk_Type_Persistent = SavedAttachedDisk_Type "PERSISTENT"
  
  pattern SavedAttachedDisk_Type_Scratch :: SavedAttachedDisk_Type
  pattern SavedAttachedDisk_Type_Scratch = SavedAttachedDisk_Type "SCRATCH"
  
  {-# COMPLETE
    SavedAttachedDisk_Type_Persistent,
    SavedAttachedDisk_Type_Scratch,
    SavedAttachedDisk_Type
    #-}
  
  -- | [Output Only] The architecture of the attached disk.
  newtype SavedDisk_Architecture = SavedDisk_Architecture {fromSavedDisk_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern SavedDisk_Architecture_ARCHITECTUREUNSPECIFIED :: SavedDisk_Architecture
  pattern SavedDisk_Architecture_ARCHITECTUREUNSPECIFIED = SavedDisk_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern SavedDisk_Architecture_ARM64 :: SavedDisk_Architecture
  pattern SavedDisk_Architecture_ARM64 = SavedDisk_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern SavedDisk_Architecture_X86_64 :: SavedDisk_Architecture
  pattern SavedDisk_Architecture_X86_64 = SavedDisk_Architecture "X86_64"
  
  {-# COMPLETE
    SavedDisk_Architecture_ARCHITECTUREUNSPECIFIED,
    SavedDisk_Architecture_ARM64,
    SavedDisk_Architecture_X86_64,
    SavedDisk_Architecture
    #-}
  
  -- | [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP/TO/DATE, meaning the size of the snapshot is up-to-date.
  newtype SavedDisk_StorageBytesStatus = SavedDisk_StorageBytesStatus {fromSavedDisk_StorageBytesStatus :: 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
      )
  
  pattern SavedDisk_StorageBytesStatus_Updating :: SavedDisk_StorageBytesStatus
  pattern SavedDisk_StorageBytesStatus_Updating = SavedDisk_StorageBytesStatus "UPDATING"
  
  pattern SavedDisk_StorageBytesStatus_UPTODATE :: SavedDisk_StorageBytesStatus
  pattern SavedDisk_StorageBytesStatus_UPTODATE = SavedDisk_StorageBytesStatus "UP_TO_DATE"
  
  {-# COMPLETE
    SavedDisk_StorageBytesStatus_Updating,
    SavedDisk_StorageBytesStatus_UPTODATE,
    SavedDisk_StorageBytesStatus
    #-}
  
  -- | [Output Only] The current state of a scaling schedule.
  newtype ScalingScheduleStatus_State = ScalingScheduleStatus_State {fromScalingScheduleStatus_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
      )
  
  -- | The current autoscaling recommendation is influenced by this scaling schedule.
  pattern ScalingScheduleStatus_State_Active :: ScalingScheduleStatus_State
  pattern ScalingScheduleStatus_State_Active = ScalingScheduleStatus_State "ACTIVE"
  
  -- | This scaling schedule has been disabled by the user.
  pattern ScalingScheduleStatus_State_Disabled :: ScalingScheduleStatus_State
  pattern ScalingScheduleStatus_State_Disabled = ScalingScheduleStatus_State "DISABLED"
  
  -- | This scaling schedule will never become active again.
  pattern ScalingScheduleStatus_State_Obsolete :: ScalingScheduleStatus_State
  pattern ScalingScheduleStatus_State_Obsolete = ScalingScheduleStatus_State "OBSOLETE"
  
  -- | The current autoscaling recommendation is not influenced by this scaling schedule.
  pattern ScalingScheduleStatus_State_Ready :: ScalingScheduleStatus_State
  pattern ScalingScheduleStatus_State_Ready = ScalingScheduleStatus_State "READY"
  
  {-# COMPLETE
    ScalingScheduleStatus_State_Active,
    ScalingScheduleStatus_State_Disabled,
    ScalingScheduleStatus_State_Obsolete,
    ScalingScheduleStatus_State_Ready,
    ScalingScheduleStatus_State
    #-}
  
  -- | Specifies the termination action for the instance.
  newtype Scheduling_InstanceTerminationAction = Scheduling_InstanceTerminationAction {fromScheduling_InstanceTerminationAction :: 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
      )
  
  -- | Delete the VM.
  pattern Scheduling_InstanceTerminationAction_Delete' :: Scheduling_InstanceTerminationAction
  pattern Scheduling_InstanceTerminationAction_Delete' = Scheduling_InstanceTerminationAction "DELETE"
  
  -- | Default value. This value is unused.
  pattern Scheduling_InstanceTerminationAction_INSTANCETERMINATIONACTIONUNSPECIFIED :: Scheduling_InstanceTerminationAction
  pattern Scheduling_InstanceTerminationAction_INSTANCETERMINATIONACTIONUNSPECIFIED = Scheduling_InstanceTerminationAction "INSTANCE_TERMINATION_ACTION_UNSPECIFIED"
  
  -- | Stop the VM without storing in-memory content. default action.
  pattern Scheduling_InstanceTerminationAction_Stop :: Scheduling_InstanceTerminationAction
  pattern Scheduling_InstanceTerminationAction_Stop = Scheduling_InstanceTerminationAction "STOP"
  
  {-# COMPLETE
    Scheduling_InstanceTerminationAction_Delete',
    Scheduling_InstanceTerminationAction_INSTANCETERMINATIONACTIONUNSPECIFIED,
    Scheduling_InstanceTerminationAction_Stop,
    Scheduling_InstanceTerminationAction
    #-}
  
  -- | Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy.
  newtype Scheduling_OnHostMaintenance = Scheduling_OnHostMaintenance {fromScheduling_OnHostMaintenance :: 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
      )
  
  -- | /[Default]/ Allows Compute Engine to automatically migrate instances out of the way of maintenance events.
  pattern Scheduling_OnHostMaintenance_Migrate :: Scheduling_OnHostMaintenance
  pattern Scheduling_OnHostMaintenance_Migrate = Scheduling_OnHostMaintenance "MIGRATE"
  
  -- | Tells Compute Engine to terminate and (optionally) restart the instance away from the maintenance activity. If you would like your instance to be restarted, set the automaticRestart flag to true. Your instance may be restarted more than once, and it may be restarted outside the window of maintenance events.
  pattern Scheduling_OnHostMaintenance_Terminate :: Scheduling_OnHostMaintenance
  pattern Scheduling_OnHostMaintenance_Terminate = Scheduling_OnHostMaintenance "TERMINATE"
  
  {-# COMPLETE
    Scheduling_OnHostMaintenance_Migrate,
    Scheduling_OnHostMaintenance_Terminate,
    Scheduling_OnHostMaintenance
    #-}
  
  -- | Specifies the provisioning model of the instance.
  newtype Scheduling_ProvisioningModel = Scheduling_ProvisioningModel {fromScheduling_ProvisioningModel :: 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
      )
  
  -- | Heavily discounted, no guaranteed runtime.
  pattern Scheduling_ProvisioningModel_Spot :: Scheduling_ProvisioningModel
  pattern Scheduling_ProvisioningModel_Spot = Scheduling_ProvisioningModel "SPOT"
  
  -- | Standard provisioning with user controlled runtime, no discounts.
  pattern Scheduling_ProvisioningModel_Standard :: Scheduling_ProvisioningModel
  pattern Scheduling_ProvisioningModel_Standard = Scheduling_ProvisioningModel "STANDARD"
  
  {-# COMPLETE
    Scheduling_ProvisioningModel_Spot,
    Scheduling_ProvisioningModel_Standard,
    Scheduling_ProvisioningModel
    #-}
  
  -- | Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity.
  newtype SchedulingNodeAffinity_Operator = SchedulingNodeAffinity_Operator {fromSchedulingNodeAffinity_Operator :: 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
      )
  
  -- | Requires Compute Engine to seek for matched nodes.
  pattern SchedulingNodeAffinity_Operator_IN :: SchedulingNodeAffinity_Operator
  pattern SchedulingNodeAffinity_Operator_IN = SchedulingNodeAffinity_Operator "IN"
  
  -- | Requires Compute Engine to avoid certain nodes.
  pattern SchedulingNodeAffinity_Operator_NOTIN :: SchedulingNodeAffinity_Operator
  pattern SchedulingNodeAffinity_Operator_NOTIN = SchedulingNodeAffinity_Operator "NOT_IN"
  
  pattern SchedulingNodeAffinity_Operator_OPERATORUNSPECIFIED :: SchedulingNodeAffinity_Operator
  pattern SchedulingNodeAffinity_Operator_OPERATORUNSPECIFIED = SchedulingNodeAffinity_Operator "OPERATOR_UNSPECIFIED"
  
  {-# COMPLETE
    SchedulingNodeAffinity_Operator_IN,
    SchedulingNodeAffinity_Operator_NOTIN,
    SchedulingNodeAffinity_Operator_OPERATORUNSPECIFIED,
    SchedulingNodeAffinity_Operator
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SecurityPoliciesAggregatedList_Warning_Code = SecurityPoliciesAggregatedList_Warning_Code {fromSecurityPoliciesAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SecurityPoliciesAggregatedList_Warning_Code_CLEANUPFAILED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_CLEANUPFAILED = SecurityPoliciesAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = SecurityPoliciesAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = SecurityPoliciesAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SecurityPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SecurityPoliciesAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SecurityPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = SecurityPoliciesAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SecurityPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING = SecurityPoliciesAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SecurityPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = SecurityPoliciesAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SecurityPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SecurityPoliciesAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SecurityPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SecurityPoliciesAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SecurityPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = SecurityPoliciesAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SecurityPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SecurityPoliciesAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SecurityPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = SecurityPoliciesAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = SecurityPoliciesAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR = SecurityPoliciesAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SecurityPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE = SecurityPoliciesAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SecurityPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS = SecurityPoliciesAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SecurityPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = SecurityPoliciesAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SecurityPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = SecurityPoliciesAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SecurityPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SecurityPoliciesAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SecurityPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED = SecurityPoliciesAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SecurityPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SecurityPoliciesAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SecurityPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SecurityPoliciesAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SecurityPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = SecurityPoliciesAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SecurityPoliciesAggregatedList_Warning_Code_Unreachable :: SecurityPoliciesAggregatedList_Warning_Code
  pattern SecurityPoliciesAggregatedList_Warning_Code_Unreachable = SecurityPoliciesAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SecurityPoliciesAggregatedList_Warning_Code_CLEANUPFAILED,
    SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SecurityPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    SecurityPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SecurityPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SecurityPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    SecurityPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SecurityPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SecurityPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SecurityPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SecurityPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SecurityPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SecurityPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    SecurityPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR,
    SecurityPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE,
    SecurityPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS,
    SecurityPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SecurityPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SecurityPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SecurityPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED,
    SecurityPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SecurityPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SecurityPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    SecurityPoliciesAggregatedList_Warning_Code_Unreachable,
    SecurityPoliciesAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SecurityPoliciesScopedList_Warning_Code = SecurityPoliciesScopedList_Warning_Code {fromSecurityPoliciesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SecurityPoliciesScopedList_Warning_Code_CLEANUPFAILED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_CLEANUPFAILED = SecurityPoliciesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SecurityPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = SecurityPoliciesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SecurityPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED = SecurityPoliciesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SecurityPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SecurityPoliciesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SecurityPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = SecurityPoliciesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SecurityPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING = SecurityPoliciesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SecurityPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = SecurityPoliciesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SecurityPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SecurityPoliciesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SecurityPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SecurityPoliciesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SecurityPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = SecurityPoliciesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SecurityPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SecurityPoliciesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SecurityPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = SecurityPoliciesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING = SecurityPoliciesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SecurityPoliciesScopedList_Warning_Code_NOTCRITICALERROR :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NOTCRITICALERROR = SecurityPoliciesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SecurityPoliciesScopedList_Warning_Code_NORESULTSONPAGE :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_NORESULTSONPAGE = SecurityPoliciesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SecurityPoliciesScopedList_Warning_Code_PARTIALSUCCESS :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_PARTIALSUCCESS = SecurityPoliciesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SecurityPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = SecurityPoliciesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SecurityPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = SecurityPoliciesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SecurityPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SecurityPoliciesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SecurityPoliciesScopedList_Warning_Code_RESOURCENOTDELETED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_RESOURCENOTDELETED = SecurityPoliciesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SecurityPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SecurityPoliciesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SecurityPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SecurityPoliciesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SecurityPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES = SecurityPoliciesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SecurityPoliciesScopedList_Warning_Code_Unreachable :: SecurityPoliciesScopedList_Warning_Code
  pattern SecurityPoliciesScopedList_Warning_Code_Unreachable = SecurityPoliciesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SecurityPoliciesScopedList_Warning_Code_CLEANUPFAILED,
    SecurityPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SecurityPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    SecurityPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SecurityPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SecurityPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
    SecurityPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SecurityPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SecurityPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SecurityPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SecurityPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SecurityPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SecurityPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    SecurityPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
    SecurityPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
    SecurityPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
    SecurityPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SecurityPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SecurityPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SecurityPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
    SecurityPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SecurityPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SecurityPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    SecurityPoliciesScopedList_Warning_Code_Unreachable,
    SecurityPoliciesScopedList_Warning_Code
    #-}
  
  -- | The type indicates the intended use of the security policy. - CLOUD/ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD/ARMOR/EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google\'s cache. - CLOUD/ARMOR/INTERNAL/SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD/ARMOR/NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests
  -- before the request is served from the application. This field can be set only at resource creation time.
  newtype SecurityPolicy_Type = SecurityPolicy_Type {fromSecurityPolicy_Type :: 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
      )
  
  pattern SecurityPolicy_Type_CLOUDARMOR :: SecurityPolicy_Type
  pattern SecurityPolicy_Type_CLOUDARMOR = SecurityPolicy_Type "CLOUD_ARMOR"
  
  pattern SecurityPolicy_Type_CLOUDARMOREDGE :: SecurityPolicy_Type
  pattern SecurityPolicy_Type_CLOUDARMOREDGE = SecurityPolicy_Type "CLOUD_ARMOR_EDGE"
  
  pattern SecurityPolicy_Type_CLOUDARMORNETWORK :: SecurityPolicy_Type
  pattern SecurityPolicy_Type_CLOUDARMORNETWORK = SecurityPolicy_Type "CLOUD_ARMOR_NETWORK"
  
  {-# COMPLETE
    SecurityPolicy_Type_CLOUDARMOR,
    SecurityPolicy_Type_CLOUDARMOREDGE,
    SecurityPolicy_Type_CLOUDARMORNETWORK,
    SecurityPolicy_Type
    #-}
  
  -- | Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
  newtype SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility {fromSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility :: 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
      )
  
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Premium :: SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Premium = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility "PREMIUM"
  
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Standard :: SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Standard = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility "STANDARD"
  
  {-# COMPLETE
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Premium,
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility_Standard,
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility
    #-}
  
  -- | Type of this configuration.
  newtype SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type {fromSecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type :: 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
      )
  
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPHEADERHOST :: SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPHEADERHOST = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type "HTTP_HEADER_HOST"
  
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPPATH :: SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPPATH = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type "HTTP_PATH"
  
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_UNSPECIFIEDTYPE :: SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
  pattern SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_UNSPECIFIEDTYPE = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type "UNSPECIFIED_TYPE"
  
  {-# COMPLETE
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPHEADERHOST,
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_HTTPPATH,
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type_UNSPECIFIEDTYPE,
    SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig_Type
    #-}
  
  newtype SecurityPolicyAdvancedOptionsConfig_JsonParsing = SecurityPolicyAdvancedOptionsConfig_JsonParsing {fromSecurityPolicyAdvancedOptionsConfig_JsonParsing :: 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
      )
  
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_Disabled :: SecurityPolicyAdvancedOptionsConfig_JsonParsing
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_Disabled = SecurityPolicyAdvancedOptionsConfig_JsonParsing "DISABLED"
  
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_Standard :: SecurityPolicyAdvancedOptionsConfig_JsonParsing
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_Standard = SecurityPolicyAdvancedOptionsConfig_JsonParsing "STANDARD"
  
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_STANDARDWITHGRAPHQL :: SecurityPolicyAdvancedOptionsConfig_JsonParsing
  pattern SecurityPolicyAdvancedOptionsConfig_JsonParsing_STANDARDWITHGRAPHQL = SecurityPolicyAdvancedOptionsConfig_JsonParsing "STANDARD_WITH_GRAPHQL"
  
  {-# COMPLETE
    SecurityPolicyAdvancedOptionsConfig_JsonParsing_Disabled,
    SecurityPolicyAdvancedOptionsConfig_JsonParsing_Standard,
    SecurityPolicyAdvancedOptionsConfig_JsonParsing_STANDARDWITHGRAPHQL,
    SecurityPolicyAdvancedOptionsConfig_JsonParsing
    #-}
  
  newtype SecurityPolicyAdvancedOptionsConfig_LogLevel = SecurityPolicyAdvancedOptionsConfig_LogLevel {fromSecurityPolicyAdvancedOptionsConfig_LogLevel :: 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
      )
  
  pattern SecurityPolicyAdvancedOptionsConfig_LogLevel_Normal :: SecurityPolicyAdvancedOptionsConfig_LogLevel
  pattern SecurityPolicyAdvancedOptionsConfig_LogLevel_Normal = SecurityPolicyAdvancedOptionsConfig_LogLevel "NORMAL"
  
  pattern SecurityPolicyAdvancedOptionsConfig_LogLevel_Verbose :: SecurityPolicyAdvancedOptionsConfig_LogLevel
  pattern SecurityPolicyAdvancedOptionsConfig_LogLevel_Verbose = SecurityPolicyAdvancedOptionsConfig_LogLevel "VERBOSE"
  
  {-# COMPLETE
    SecurityPolicyAdvancedOptionsConfig_LogLevel_Normal,
    SecurityPolicyAdvancedOptionsConfig_LogLevel_Verbose,
    SecurityPolicyAdvancedOptionsConfig_LogLevel
    #-}
  
  newtype SecurityPolicyDdosProtectionConfig_DdosProtection = SecurityPolicyDdosProtectionConfig_DdosProtection {fromSecurityPolicyDdosProtectionConfig_DdosProtection :: 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
      )
  
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_Advanced :: SecurityPolicyDdosProtectionConfig_DdosProtection
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_Advanced = SecurityPolicyDdosProtectionConfig_DdosProtection "ADVANCED"
  
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_ADVANCEDPREVIEW :: SecurityPolicyDdosProtectionConfig_DdosProtection
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_ADVANCEDPREVIEW = SecurityPolicyDdosProtectionConfig_DdosProtection "ADVANCED_PREVIEW"
  
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_Standard :: SecurityPolicyDdosProtectionConfig_DdosProtection
  pattern SecurityPolicyDdosProtectionConfig_DdosProtection_Standard = SecurityPolicyDdosProtectionConfig_DdosProtection "STANDARD"
  
  {-# COMPLETE
    SecurityPolicyDdosProtectionConfig_DdosProtection_Advanced,
    SecurityPolicyDdosProtectionConfig_DdosProtection_ADVANCEDPREVIEW,
    SecurityPolicyDdosProtectionConfig_DdosProtection_Standard,
    SecurityPolicyDdosProtectionConfig_DdosProtection
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SecurityPolicyList_Warning_Code = SecurityPolicyList_Warning_Code {fromSecurityPolicyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SecurityPolicyList_Warning_Code_CLEANUPFAILED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_CLEANUPFAILED = SecurityPolicyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SecurityPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED = SecurityPolicyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SecurityPolicyList_Warning_Code_DEPRECATEDTYPEUSED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_DEPRECATEDTYPEUSED = SecurityPolicyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SecurityPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SecurityPolicyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SecurityPolicyList_Warning_Code_EXPERIMENTALTYPEUSED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_EXPERIMENTALTYPEUSED = SecurityPolicyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SecurityPolicyList_Warning_Code_EXTERNALAPIWARNING :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_EXTERNALAPIWARNING = SecurityPolicyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SecurityPolicyList_Warning_Code_FIELDVALUEOVERRIDEN :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_FIELDVALUEOVERRIDEN = SecurityPolicyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SecurityPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED = SecurityPolicyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SecurityPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SecurityPolicyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SecurityPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING = SecurityPolicyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SecurityPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SecurityPolicyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SecurityPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY = SecurityPolicyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SecurityPolicyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SecurityPolicyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SecurityPolicyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SecurityPolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SecurityPolicyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SecurityPolicyList_Warning_Code_NEXTHOPNOTRUNNING :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NEXTHOPNOTRUNNING = SecurityPolicyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SecurityPolicyList_Warning_Code_NOTCRITICALERROR :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NOTCRITICALERROR = SecurityPolicyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SecurityPolicyList_Warning_Code_NORESULTSONPAGE :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_NORESULTSONPAGE = SecurityPolicyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SecurityPolicyList_Warning_Code_PARTIALSUCCESS :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_PARTIALSUCCESS = SecurityPolicyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SecurityPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE = SecurityPolicyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SecurityPolicyList_Warning_Code_REQUIREDTOSAGREEMENT :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_REQUIREDTOSAGREEMENT = SecurityPolicyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SecurityPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SecurityPolicyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SecurityPolicyList_Warning_Code_RESOURCENOTDELETED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_RESOURCENOTDELETED = SecurityPolicyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SecurityPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED = SecurityPolicyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SecurityPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SecurityPolicyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SecurityPolicyList_Warning_Code_UNDECLAREDPROPERTIES :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_UNDECLAREDPROPERTIES = SecurityPolicyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SecurityPolicyList_Warning_Code_Unreachable :: SecurityPolicyList_Warning_Code
  pattern SecurityPolicyList_Warning_Code_Unreachable = SecurityPolicyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SecurityPolicyList_Warning_Code_CLEANUPFAILED,
    SecurityPolicyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SecurityPolicyList_Warning_Code_DEPRECATEDTYPEUSED,
    SecurityPolicyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SecurityPolicyList_Warning_Code_EXPERIMENTALTYPEUSED,
    SecurityPolicyList_Warning_Code_EXTERNALAPIWARNING,
    SecurityPolicyList_Warning_Code_FIELDVALUEOVERRIDEN,
    SecurityPolicyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SecurityPolicyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SecurityPolicyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SecurityPolicyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SecurityPolicyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SecurityPolicyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SecurityPolicyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SecurityPolicyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SecurityPolicyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SecurityPolicyList_Warning_Code_NEXTHOPNOTRUNNING,
    SecurityPolicyList_Warning_Code_NOTCRITICALERROR,
    SecurityPolicyList_Warning_Code_NORESULTSONPAGE,
    SecurityPolicyList_Warning_Code_PARTIALSUCCESS,
    SecurityPolicyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SecurityPolicyList_Warning_Code_REQUIREDTOSAGREEMENT,
    SecurityPolicyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SecurityPolicyList_Warning_Code_RESOURCENOTDELETED,
    SecurityPolicyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SecurityPolicyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SecurityPolicyList_Warning_Code_UNDECLAREDPROPERTIES,
    SecurityPolicyList_Warning_Code_Unreachable,
    SecurityPolicyList_Warning_Code
    #-}
  
  -- | Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC/IPS/V1 - must specify the corresponding src/ip/range field in config.
  newtype SecurityPolicyRuleMatcher_VersionedExpr = SecurityPolicyRuleMatcher_VersionedExpr {fromSecurityPolicyRuleMatcher_VersionedExpr :: 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
      )
  
  -- | Matches the source IP address of a request to the IP ranges supplied in config.
  pattern SecurityPolicyRuleMatcher_VersionedExpr_SRC_IPS_V1 :: SecurityPolicyRuleMatcher_VersionedExpr
  pattern SecurityPolicyRuleMatcher_VersionedExpr_SRC_IPS_V1 = SecurityPolicyRuleMatcher_VersionedExpr "SRC_IPS_V1"
  
  {-# COMPLETE
    SecurityPolicyRuleMatcher_VersionedExpr_SRC_IPS_V1,
    SecurityPolicyRuleMatcher_VersionedExpr
    #-}
  
  -- | The match operator for the field.
  newtype SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op {fromSecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op :: 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 operator matches if the field value contains the specified value.
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Contains :: SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Contains = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op "CONTAINS"
  
  -- | The operator matches if the field value ends with the specified value.
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_ENDSWITH :: SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_ENDSWITH = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op "ENDS_WITH"
  
  -- | The operator matches if the field value equals the specified value.
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Equals :: SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Equals = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op "EQUALS"
  
  -- | The operator matches if the field value is any value.
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_EQUALSANY :: SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_EQUALSANY = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op "EQUALS_ANY"
  
  -- | The operator matches if the field value starts with the specified value.
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_STARTSWITH :: SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
  pattern SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_STARTSWITH = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op "STARTS_WITH"
  
  {-# COMPLETE
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Contains,
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_ENDSWITH,
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_Equals,
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_EQUALSANY,
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op_STARTSWITH,
    SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op
    #-}
  
  -- | Determines the key to enforce the rate/limit/threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP/HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF/IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP/COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no
  -- such cookie is present in the request, the key type defaults to ALL. - HTTP/PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION/CODE: The country\/region from which the request originates. - TLS/JA3/FINGERPRINT: JA3 TLS\/SSL fingerprint if the client connects using HTTPS, HTTP\/2 or HTTP\/3. If not available, the key type defaults to ALL. - USER/IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS/JA4/FINGERPRINT: JA4 TLS\/SSL fingerprint if the client connects using HTTPS, HTTP\/2 or HTTP\/3. If not available, the key type defaults to ALL.
  newtype SecurityPolicyRuleRateLimitOptions_EnforceOnKey = SecurityPolicyRuleRateLimitOptions_EnforceOnKey {fromSecurityPolicyRuleRateLimitOptions_EnforceOnKey :: 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
      )
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_All :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_All = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "ALL"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPCOOKIE :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPCOOKIE = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "HTTP_COOKIE"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPHEADER :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPHEADER = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "HTTP_HEADER"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPPATH :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPPATH = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "HTTP_PATH"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_IP :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_IP = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "IP"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_REGIONCODE :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_REGIONCODE = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "REGION_CODE"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_Sni :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_Sni = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "SNI"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA3FINGERPRINT :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA3FINGERPRINT = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "TLS_JA3_FINGERPRINT"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA4FINGERPRINT :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA4FINGERPRINT = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "TLS_JA4_FINGERPRINT"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_USERIP :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_USERIP = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "USER_IP"
  
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_XFFIP :: SecurityPolicyRuleRateLimitOptions_EnforceOnKey
  pattern SecurityPolicyRuleRateLimitOptions_EnforceOnKey_XFFIP = SecurityPolicyRuleRateLimitOptions_EnforceOnKey "XFF_IP"
  
  {-# COMPLETE
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_All,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPCOOKIE,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPHEADER,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_HTTPPATH,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_IP,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_REGIONCODE,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_Sni,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA3FINGERPRINT,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_TLSJA4FINGERPRINT,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_USERIP,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey_XFFIP,
    SecurityPolicyRuleRateLimitOptions_EnforceOnKey
    #-}
  
  -- | Determines the key to enforce the rate/limit/threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP/HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF/IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP/COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If
  -- no such cookie is present in the request, the key type defaults to ALL. - HTTP/PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION/CODE: The country\/region from which the request originates. - TLS/JA3/FINGERPRINT: JA3 TLS\/SSL fingerprint if the client connects using HTTPS, HTTP\/2 or HTTP\/3. If not available, the key type defaults to ALL. - USER/IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS/JA4/FINGERPRINT: JA4 TLS\/SSL fingerprint if the client connects using HTTPS, HTTP\/2 or HTTP\/3. If not available, the key type defaults to ALL.
  newtype SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType {fromSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType :: 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
      )
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_All :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_All = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "ALL"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPCOOKIE :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPCOOKIE = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "HTTP_COOKIE"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPHEADER :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPHEADER = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "HTTP_HEADER"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPPATH :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPPATH = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "HTTP_PATH"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_IP :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_IP = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "IP"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_REGIONCODE :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_REGIONCODE = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "REGION_CODE"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_Sni :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_Sni = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "SNI"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA3FINGERPRINT :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA3FINGERPRINT = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "TLS_JA3_FINGERPRINT"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA4FINGERPRINT :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA4FINGERPRINT = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "TLS_JA4_FINGERPRINT"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_USERIP :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_USERIP = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "USER_IP"
  
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_XFFIP :: SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
  pattern SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_XFFIP = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType "XFF_IP"
  
  {-# COMPLETE
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_All,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPCOOKIE,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPHEADER,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_HTTPPATH,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_IP,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_REGIONCODE,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_Sni,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA3FINGERPRINT,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_TLSJA4FINGERPRINT,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_USERIP,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType_XFFIP,
    SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType
    #-}
  
  -- | Type of the redirect action.
  newtype SecurityPolicyRuleRedirectOptions_Type = SecurityPolicyRuleRedirectOptions_Type {fromSecurityPolicyRuleRedirectOptions_Type :: 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
      )
  
  pattern SecurityPolicyRuleRedirectOptions_Type_EXTERNAL_302 :: SecurityPolicyRuleRedirectOptions_Type
  pattern SecurityPolicyRuleRedirectOptions_Type_EXTERNAL_302 = SecurityPolicyRuleRedirectOptions_Type "EXTERNAL_302"
  
  pattern SecurityPolicyRuleRedirectOptions_Type_GOOGLERECAPTCHA :: SecurityPolicyRuleRedirectOptions_Type
  pattern SecurityPolicyRuleRedirectOptions_Type_GOOGLERECAPTCHA = SecurityPolicyRuleRedirectOptions_Type "GOOGLE_RECAPTCHA"
  
  {-# COMPLETE
    SecurityPolicyRuleRedirectOptions_Type_EXTERNAL_302,
    SecurityPolicyRuleRedirectOptions_Type_GOOGLERECAPTCHA,
    SecurityPolicyRuleRedirectOptions_Type
    #-}
  
  -- | The base relative to which \'offset\' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required
  newtype SecurityPolicyUserDefinedField_Base = SecurityPolicyUserDefinedField_Base {fromSecurityPolicyUserDefinedField_Base :: 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
      )
  
  pattern SecurityPolicyUserDefinedField_Base_IPV4 :: SecurityPolicyUserDefinedField_Base
  pattern SecurityPolicyUserDefinedField_Base_IPV4 = SecurityPolicyUserDefinedField_Base "IPV4"
  
  pattern SecurityPolicyUserDefinedField_Base_IPV6 :: SecurityPolicyUserDefinedField_Base
  pattern SecurityPolicyUserDefinedField_Base_IPV6 = SecurityPolicyUserDefinedField_Base "IPV6"
  
  pattern SecurityPolicyUserDefinedField_Base_Tcp :: SecurityPolicyUserDefinedField_Base
  pattern SecurityPolicyUserDefinedField_Base_Tcp = SecurityPolicyUserDefinedField_Base "TCP"
  
  pattern SecurityPolicyUserDefinedField_Base_Udp :: SecurityPolicyUserDefinedField_Base
  pattern SecurityPolicyUserDefinedField_Base_Udp = SecurityPolicyUserDefinedField_Base "UDP"
  
  {-# COMPLETE
    SecurityPolicyUserDefinedField_Base_IPV4,
    SecurityPolicyUserDefinedField_Base_IPV6,
    SecurityPolicyUserDefinedField_Base_Tcp,
    SecurityPolicyUserDefinedField_Base_Udp,
    SecurityPolicyUserDefinedField_Base
    #-}
  
  newtype ServerBinding_Type = ServerBinding_Type {fromServerBinding_Type :: 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
      )
  
  -- | Node may associate with any physical server over its lifetime.
  pattern ServerBinding_Type_RESTARTNODEONANYSERVER :: ServerBinding_Type
  pattern ServerBinding_Type_RESTARTNODEONANYSERVER = ServerBinding_Type "RESTART_NODE_ON_ANY_SERVER"
  
  -- | Node may associate with minimal physical servers over its lifetime.
  pattern ServerBinding_Type_RESTARTNODEONMINIMALSERVERS :: ServerBinding_Type
  pattern ServerBinding_Type_RESTARTNODEONMINIMALSERVERS = ServerBinding_Type "RESTART_NODE_ON_MINIMAL_SERVERS"
  
  pattern ServerBinding_Type_SERVERBINDINGTYPEUNSPECIFIED :: ServerBinding_Type
  pattern ServerBinding_Type_SERVERBINDINGTYPEUNSPECIFIED = ServerBinding_Type "SERVER_BINDING_TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    ServerBinding_Type_RESTARTNODEONANYSERVER,
    ServerBinding_Type_RESTARTNODEONMINIMALSERVERS,
    ServerBinding_Type_SERVERBINDINGTYPEUNSPECIFIED,
    ServerBinding_Type
    #-}
  
  -- | The connection preference of service attachment. The value can be set to ACCEPT/AUTOMATIC. An ACCEPT/AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules.
  newtype ServiceAttachment_ConnectionPreference = ServiceAttachment_ConnectionPreference {fromServiceAttachment_ConnectionPreference :: 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
      )
  
  pattern ServiceAttachment_ConnectionPreference_ACCEPTAUTOMATIC :: ServiceAttachment_ConnectionPreference
  pattern ServiceAttachment_ConnectionPreference_ACCEPTAUTOMATIC = ServiceAttachment_ConnectionPreference "ACCEPT_AUTOMATIC"
  
  pattern ServiceAttachment_ConnectionPreference_ACCEPTMANUAL :: ServiceAttachment_ConnectionPreference
  pattern ServiceAttachment_ConnectionPreference_ACCEPTMANUAL = ServiceAttachment_ConnectionPreference "ACCEPT_MANUAL"
  
  pattern ServiceAttachment_ConnectionPreference_CONNECTIONPREFERENCEUNSPECIFIED :: ServiceAttachment_ConnectionPreference
  pattern ServiceAttachment_ConnectionPreference_CONNECTIONPREFERENCEUNSPECIFIED = ServiceAttachment_ConnectionPreference "CONNECTION_PREFERENCE_UNSPECIFIED"
  
  {-# COMPLETE
    ServiceAttachment_ConnectionPreference_ACCEPTAUTOMATIC,
    ServiceAttachment_ConnectionPreference_ACCEPTMANUAL,
    ServiceAttachment_ConnectionPreference_CONNECTIONPREFERENCEUNSPECIFIED,
    ServiceAttachment_ConnectionPreference
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ServiceAttachmentAggregatedList_Warning_Code = ServiceAttachmentAggregatedList_Warning_Code {fromServiceAttachmentAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ServiceAttachmentAggregatedList_Warning_Code_CLEANUPFAILED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_CLEANUPFAILED = ServiceAttachmentAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = ServiceAttachmentAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = ServiceAttachmentAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ServiceAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ServiceAttachmentAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ServiceAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = ServiceAttachmentAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ServiceAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING = ServiceAttachmentAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ServiceAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = ServiceAttachmentAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ServiceAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ServiceAttachmentAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ServiceAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ServiceAttachmentAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ServiceAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = ServiceAttachmentAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ServiceAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ServiceAttachmentAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ServiceAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = ServiceAttachmentAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = ServiceAttachmentAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR = ServiceAttachmentAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ServiceAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE = ServiceAttachmentAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ServiceAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS = ServiceAttachmentAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ServiceAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = ServiceAttachmentAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ServiceAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = ServiceAttachmentAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ServiceAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ServiceAttachmentAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ServiceAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED = ServiceAttachmentAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ServiceAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ServiceAttachmentAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ServiceAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ServiceAttachmentAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ServiceAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = ServiceAttachmentAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ServiceAttachmentAggregatedList_Warning_Code_Unreachable :: ServiceAttachmentAggregatedList_Warning_Code
  pattern ServiceAttachmentAggregatedList_Warning_Code_Unreachable = ServiceAttachmentAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ServiceAttachmentAggregatedList_Warning_Code_CLEANUPFAILED,
    ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ServiceAttachmentAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    ServiceAttachmentAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ServiceAttachmentAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ServiceAttachmentAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    ServiceAttachmentAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ServiceAttachmentAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ServiceAttachmentAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ServiceAttachmentAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ServiceAttachmentAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ServiceAttachmentAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ServiceAttachmentAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    ServiceAttachmentAggregatedList_Warning_Code_NOTCRITICALERROR,
    ServiceAttachmentAggregatedList_Warning_Code_NORESULTSONPAGE,
    ServiceAttachmentAggregatedList_Warning_Code_PARTIALSUCCESS,
    ServiceAttachmentAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ServiceAttachmentAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ServiceAttachmentAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ServiceAttachmentAggregatedList_Warning_Code_RESOURCENOTDELETED,
    ServiceAttachmentAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ServiceAttachmentAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ServiceAttachmentAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    ServiceAttachmentAggregatedList_Warning_Code_Unreachable,
    ServiceAttachmentAggregatedList_Warning_Code
    #-}
  
  -- | The status of a connected endpoint to this service attachment.
  newtype ServiceAttachmentConnectedEndpoint_Status = ServiceAttachmentConnectedEndpoint_Status {fromServiceAttachmentConnectedEndpoint_Status :: 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 connection has been accepted by the producer.
  pattern ServiceAttachmentConnectedEndpoint_Status_Accepted :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_Accepted = ServiceAttachmentConnectedEndpoint_Status "ACCEPTED"
  
  -- | The connection has been closed by the producer.
  pattern ServiceAttachmentConnectedEndpoint_Status_Closed :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_Closed = ServiceAttachmentConnectedEndpoint_Status "CLOSED"
  
  -- | The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.
  pattern ServiceAttachmentConnectedEndpoint_Status_NEEDSATTENTION :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_NEEDSATTENTION = ServiceAttachmentConnectedEndpoint_Status "NEEDS_ATTENTION"
  
  -- | The connection is pending acceptance by the producer.
  pattern ServiceAttachmentConnectedEndpoint_Status_Pending :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_Pending = ServiceAttachmentConnectedEndpoint_Status "PENDING"
  
  -- | The consumer is still connected but not using the connection.
  pattern ServiceAttachmentConnectedEndpoint_Status_Rejected :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_Rejected = ServiceAttachmentConnectedEndpoint_Status "REJECTED"
  
  pattern ServiceAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED :: ServiceAttachmentConnectedEndpoint_Status
  pattern ServiceAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED = ServiceAttachmentConnectedEndpoint_Status "STATUS_UNSPECIFIED"
  
  {-# COMPLETE
    ServiceAttachmentConnectedEndpoint_Status_Accepted,
    ServiceAttachmentConnectedEndpoint_Status_Closed,
    ServiceAttachmentConnectedEndpoint_Status_NEEDSATTENTION,
    ServiceAttachmentConnectedEndpoint_Status_Pending,
    ServiceAttachmentConnectedEndpoint_Status_Rejected,
    ServiceAttachmentConnectedEndpoint_Status_STATUSUNSPECIFIED,
    ServiceAttachmentConnectedEndpoint_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ServiceAttachmentList_Warning_Code = ServiceAttachmentList_Warning_Code {fromServiceAttachmentList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ServiceAttachmentList_Warning_Code_CLEANUPFAILED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_CLEANUPFAILED = ServiceAttachmentList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ServiceAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED = ServiceAttachmentList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ServiceAttachmentList_Warning_Code_DEPRECATEDTYPEUSED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_DEPRECATEDTYPEUSED = ServiceAttachmentList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ServiceAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ServiceAttachmentList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ServiceAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED = ServiceAttachmentList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ServiceAttachmentList_Warning_Code_EXTERNALAPIWARNING :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_EXTERNALAPIWARNING = ServiceAttachmentList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ServiceAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN = ServiceAttachmentList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ServiceAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED = ServiceAttachmentList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ServiceAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ServiceAttachmentList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ServiceAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING = ServiceAttachmentList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ServiceAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ServiceAttachmentList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ServiceAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY = ServiceAttachmentList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ServiceAttachmentList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ServiceAttachmentList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ServiceAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ServiceAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ServiceAttachmentList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPNOTRUNNING :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NEXTHOPNOTRUNNING = ServiceAttachmentList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ServiceAttachmentList_Warning_Code_NOTCRITICALERROR :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NOTCRITICALERROR = ServiceAttachmentList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ServiceAttachmentList_Warning_Code_NORESULTSONPAGE :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_NORESULTSONPAGE = ServiceAttachmentList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ServiceAttachmentList_Warning_Code_PARTIALSUCCESS :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_PARTIALSUCCESS = ServiceAttachmentList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ServiceAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE = ServiceAttachmentList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ServiceAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT = ServiceAttachmentList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ServiceAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ServiceAttachmentList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ServiceAttachmentList_Warning_Code_RESOURCENOTDELETED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_RESOURCENOTDELETED = ServiceAttachmentList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ServiceAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED = ServiceAttachmentList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ServiceAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ServiceAttachmentList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ServiceAttachmentList_Warning_Code_UNDECLAREDPROPERTIES :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_UNDECLAREDPROPERTIES = ServiceAttachmentList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ServiceAttachmentList_Warning_Code_Unreachable :: ServiceAttachmentList_Warning_Code
  pattern ServiceAttachmentList_Warning_Code_Unreachable = ServiceAttachmentList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ServiceAttachmentList_Warning_Code_CLEANUPFAILED,
    ServiceAttachmentList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ServiceAttachmentList_Warning_Code_DEPRECATEDTYPEUSED,
    ServiceAttachmentList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ServiceAttachmentList_Warning_Code_EXPERIMENTALTYPEUSED,
    ServiceAttachmentList_Warning_Code_EXTERNALAPIWARNING,
    ServiceAttachmentList_Warning_Code_FIELDVALUEOVERRIDEN,
    ServiceAttachmentList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ServiceAttachmentList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ServiceAttachmentList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ServiceAttachmentList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ServiceAttachmentList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ServiceAttachmentList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ServiceAttachmentList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ServiceAttachmentList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ServiceAttachmentList_Warning_Code_NEXTHOPNOTRUNNING,
    ServiceAttachmentList_Warning_Code_NOTCRITICALERROR,
    ServiceAttachmentList_Warning_Code_NORESULTSONPAGE,
    ServiceAttachmentList_Warning_Code_PARTIALSUCCESS,
    ServiceAttachmentList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ServiceAttachmentList_Warning_Code_REQUIREDTOSAGREEMENT,
    ServiceAttachmentList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ServiceAttachmentList_Warning_Code_RESOURCENOTDELETED,
    ServiceAttachmentList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ServiceAttachmentList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ServiceAttachmentList_Warning_Code_UNDECLAREDPROPERTIES,
    ServiceAttachmentList_Warning_Code_Unreachable,
    ServiceAttachmentList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ServiceAttachmentsScopedList_Warning_Code = ServiceAttachmentsScopedList_Warning_Code {fromServiceAttachmentsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ServiceAttachmentsScopedList_Warning_Code_CLEANUPFAILED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_CLEANUPFAILED = ServiceAttachmentsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = ServiceAttachmentsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED = ServiceAttachmentsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ServiceAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ServiceAttachmentsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ServiceAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = ServiceAttachmentsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ServiceAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING = ServiceAttachmentsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ServiceAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = ServiceAttachmentsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ServiceAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = ServiceAttachmentsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ServiceAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ServiceAttachmentsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ServiceAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = ServiceAttachmentsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ServiceAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ServiceAttachmentsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ServiceAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = ServiceAttachmentsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING = ServiceAttachmentsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ServiceAttachmentsScopedList_Warning_Code_NOTCRITICALERROR :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NOTCRITICALERROR = ServiceAttachmentsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ServiceAttachmentsScopedList_Warning_Code_NORESULTSONPAGE :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_NORESULTSONPAGE = ServiceAttachmentsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ServiceAttachmentsScopedList_Warning_Code_PARTIALSUCCESS :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_PARTIALSUCCESS = ServiceAttachmentsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ServiceAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = ServiceAttachmentsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ServiceAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = ServiceAttachmentsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ServiceAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ServiceAttachmentsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ServiceAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED = ServiceAttachmentsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ServiceAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = ServiceAttachmentsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ServiceAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ServiceAttachmentsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ServiceAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES = ServiceAttachmentsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ServiceAttachmentsScopedList_Warning_Code_Unreachable :: ServiceAttachmentsScopedList_Warning_Code
  pattern ServiceAttachmentsScopedList_Warning_Code_Unreachable = ServiceAttachmentsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ServiceAttachmentsScopedList_Warning_Code_CLEANUPFAILED,
    ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ServiceAttachmentsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    ServiceAttachmentsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ServiceAttachmentsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    ServiceAttachmentsScopedList_Warning_Code_EXTERNALAPIWARNING,
    ServiceAttachmentsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    ServiceAttachmentsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ServiceAttachmentsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ServiceAttachmentsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ServiceAttachmentsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ServiceAttachmentsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ServiceAttachmentsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    ServiceAttachmentsScopedList_Warning_Code_NOTCRITICALERROR,
    ServiceAttachmentsScopedList_Warning_Code_NORESULTSONPAGE,
    ServiceAttachmentsScopedList_Warning_Code_PARTIALSUCCESS,
    ServiceAttachmentsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ServiceAttachmentsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    ServiceAttachmentsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ServiceAttachmentsScopedList_Warning_Code_RESOURCENOTDELETED,
    ServiceAttachmentsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ServiceAttachmentsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ServiceAttachmentsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    ServiceAttachmentsScopedList_Warning_Code_Unreachable,
    ServiceAttachmentsScopedList_Warning_Code
    #-}
  
  -- | [Output Only] Status of the action, which can be one of the following: @PROPAGATING@, @PROPAGATED@, @ABANDONED@, @FAILED@, or @DONE@.
  newtype SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State {fromSetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_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
      )
  
  -- | Operation not tracked in this location e.g. zone is marked as DOWN.
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Abandoned :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Abandoned = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "ABANDONED"
  
  -- | Operation has completed successfully.
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Done :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Done = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "DONE"
  
  -- | Operation is in an error state.
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Failed :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Failed = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "FAILED"
  
  -- | Operation is confirmed to be in the location.
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagated :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagated = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "PROPAGATED"
  
  -- | Operation is not yet confirmed to have been created in the location.
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagating :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagating = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "PROPAGATING"
  
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Unspecified :: SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
  pattern SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Unspecified = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State "UNSPECIFIED"
  
  {-# COMPLETE
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Abandoned,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Done,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Failed,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagated,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Propagating,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_Unspecified,
    SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State
    #-}
  
  -- | Type of sharing for this shared-reservation
  newtype ShareSettings_ShareType = ShareSettings_ShareType {fromShareSettings_ShareType :: 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
      )
  
  -- | Default value.
  pattern ShareSettings_ShareType_Local :: ShareSettings_ShareType
  pattern ShareSettings_ShareType_Local = ShareSettings_ShareType "LOCAL"
  
  -- | Shared-reservation is open to entire Organization
  pattern ShareSettings_ShareType_Organization :: ShareSettings_ShareType
  pattern ShareSettings_ShareType_Organization = ShareSettings_ShareType "ORGANIZATION"
  
  -- | Default value. This value is unused.
  pattern ShareSettings_ShareType_SHARETYPEUNSPECIFIED :: ShareSettings_ShareType
  pattern ShareSettings_ShareType_SHARETYPEUNSPECIFIED = ShareSettings_ShareType "SHARE_TYPE_UNSPECIFIED"
  
  -- | Shared-reservation is open to specific projects
  pattern ShareSettings_ShareType_SPECIFICPROJECTS :: ShareSettings_ShareType
  pattern ShareSettings_ShareType_SPECIFICPROJECTS = ShareSettings_ShareType "SPECIFIC_PROJECTS"
  
  {-# COMPLETE
    ShareSettings_ShareType_Local,
    ShareSettings_ShareType_Organization,
    ShareSettings_ShareType_SHARETYPEUNSPECIFIED,
    ShareSettings_ShareType_SPECIFICPROJECTS,
    ShareSettings_ShareType
    #-}
  
  -- | [Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64.
  newtype Snapshot_Architecture = Snapshot_Architecture {fromSnapshot_Architecture :: 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
      )
  
  -- | Default value indicating Architecture is not set.
  pattern Snapshot_Architecture_ARCHITECTUREUNSPECIFIED :: Snapshot_Architecture
  pattern Snapshot_Architecture_ARCHITECTUREUNSPECIFIED = Snapshot_Architecture "ARCHITECTURE_UNSPECIFIED"
  
  -- | Machines with architecture ARM64
  pattern Snapshot_Architecture_ARM64 :: Snapshot_Architecture
  pattern Snapshot_Architecture_ARM64 = Snapshot_Architecture "ARM64"
  
  -- | Machines with architecture X86_64
  pattern Snapshot_Architecture_X86_64 :: Snapshot_Architecture
  pattern Snapshot_Architecture_X86_64 = Snapshot_Architecture "X86_64"
  
  {-# COMPLETE
    Snapshot_Architecture_ARCHITECTUREUNSPECIFIED,
    Snapshot_Architecture_ARM64,
    Snapshot_Architecture_X86_64,
    Snapshot_Architecture
    #-}
  
  -- | Indicates the type of the snapshot.
  newtype Snapshot_SnapshotType = Snapshot_SnapshotType {fromSnapshot_SnapshotType :: 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
      )
  
  pattern Snapshot_SnapshotType_Archive :: Snapshot_SnapshotType
  pattern Snapshot_SnapshotType_Archive = Snapshot_SnapshotType "ARCHIVE"
  
  pattern Snapshot_SnapshotType_Standard :: Snapshot_SnapshotType
  pattern Snapshot_SnapshotType_Standard = Snapshot_SnapshotType "STANDARD"
  
  {-# COMPLETE
    Snapshot_SnapshotType_Archive,
    Snapshot_SnapshotType_Standard,
    Snapshot_SnapshotType
    #-}
  
  -- | [Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING.
  newtype Snapshot_Status = Snapshot_Status {fromSnapshot_Status :: 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
      )
  
  -- | Snapshot creation is in progress.
  pattern Snapshot_Status_Creating :: Snapshot_Status
  pattern Snapshot_Status_Creating = Snapshot_Status "CREATING"
  
  -- | Snapshot is currently being deleted.
  pattern Snapshot_Status_Deleting :: Snapshot_Status
  pattern Snapshot_Status_Deleting = Snapshot_Status "DELETING"
  
  -- | Snapshot creation failed.
  pattern Snapshot_Status_Failed :: Snapshot_Status
  pattern Snapshot_Status_Failed = Snapshot_Status "FAILED"
  
  -- | Snapshot has been created successfully.
  pattern Snapshot_Status_Ready :: Snapshot_Status
  pattern Snapshot_Status_Ready = Snapshot_Status "READY"
  
  -- | Snapshot is being uploaded.
  pattern Snapshot_Status_Uploading :: Snapshot_Status
  pattern Snapshot_Status_Uploading = Snapshot_Status "UPLOADING"
  
  {-# COMPLETE
    Snapshot_Status_Creating,
    Snapshot_Status_Deleting,
    Snapshot_Status_Failed,
    Snapshot_Status_Ready,
    Snapshot_Status_Uploading,
    Snapshot_Status
    #-}
  
  -- | [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP/TO/DATE, meaning the size of the snapshot is up-to-date.
  newtype Snapshot_StorageBytesStatus = Snapshot_StorageBytesStatus {fromSnapshot_StorageBytesStatus :: 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
      )
  
  pattern Snapshot_StorageBytesStatus_Updating :: Snapshot_StorageBytesStatus
  pattern Snapshot_StorageBytesStatus_Updating = Snapshot_StorageBytesStatus "UPDATING"
  
  pattern Snapshot_StorageBytesStatus_UPTODATE :: Snapshot_StorageBytesStatus
  pattern Snapshot_StorageBytesStatus_UPTODATE = Snapshot_StorageBytesStatus "UP_TO_DATE"
  
  {-# COMPLETE
    Snapshot_StorageBytesStatus_Updating,
    Snapshot_StorageBytesStatus_UPTODATE,
    Snapshot_StorageBytesStatus
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SnapshotList_Warning_Code = SnapshotList_Warning_Code {fromSnapshotList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SnapshotList_Warning_Code_CLEANUPFAILED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_CLEANUPFAILED = SnapshotList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED = SnapshotList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SnapshotList_Warning_Code_DEPRECATEDTYPEUSED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_DEPRECATEDTYPEUSED = SnapshotList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SnapshotList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SnapshotList_Warning_Code_EXPERIMENTALTYPEUSED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_EXPERIMENTALTYPEUSED = SnapshotList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SnapshotList_Warning_Code_EXTERNALAPIWARNING :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_EXTERNALAPIWARNING = SnapshotList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SnapshotList_Warning_Code_FIELDVALUEOVERRIDEN :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_FIELDVALUEOVERRIDEN = SnapshotList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED = SnapshotList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SnapshotList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING = SnapshotList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SnapshotList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY = SnapshotList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SnapshotList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SnapshotList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SnapshotList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SnapshotList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SnapshotList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SnapshotList_Warning_Code_NEXTHOPNOTRUNNING :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NEXTHOPNOTRUNNING = SnapshotList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SnapshotList_Warning_Code_NOTCRITICALERROR :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NOTCRITICALERROR = SnapshotList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SnapshotList_Warning_Code_NORESULTSONPAGE :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_NORESULTSONPAGE = SnapshotList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SnapshotList_Warning_Code_PARTIALSUCCESS :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_PARTIALSUCCESS = SnapshotList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE = SnapshotList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SnapshotList_Warning_Code_REQUIREDTOSAGREEMENT :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_REQUIREDTOSAGREEMENT = SnapshotList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SnapshotList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SnapshotList_Warning_Code_RESOURCENOTDELETED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_RESOURCENOTDELETED = SnapshotList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED = SnapshotList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SnapshotList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SnapshotList_Warning_Code_UNDECLAREDPROPERTIES :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_UNDECLAREDPROPERTIES = SnapshotList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SnapshotList_Warning_Code_Unreachable :: SnapshotList_Warning_Code
  pattern SnapshotList_Warning_Code_Unreachable = SnapshotList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SnapshotList_Warning_Code_CLEANUPFAILED,
    SnapshotList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SnapshotList_Warning_Code_DEPRECATEDTYPEUSED,
    SnapshotList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SnapshotList_Warning_Code_EXPERIMENTALTYPEUSED,
    SnapshotList_Warning_Code_EXTERNALAPIWARNING,
    SnapshotList_Warning_Code_FIELDVALUEOVERRIDEN,
    SnapshotList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SnapshotList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SnapshotList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SnapshotList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SnapshotList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SnapshotList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SnapshotList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SnapshotList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SnapshotList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SnapshotList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SnapshotList_Warning_Code_NEXTHOPNOTRUNNING,
    SnapshotList_Warning_Code_NOTCRITICALERROR,
    SnapshotList_Warning_Code_NORESULTSONPAGE,
    SnapshotList_Warning_Code_PARTIALSUCCESS,
    SnapshotList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SnapshotList_Warning_Code_REQUIREDTOSAGREEMENT,
    SnapshotList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SnapshotList_Warning_Code_RESOURCENOTDELETED,
    SnapshotList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SnapshotList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SnapshotList_Warning_Code_UNDECLAREDPROPERTIES,
    SnapshotList_Warning_Code_Unreachable,
    SnapshotList_Warning_Code
    #-}
  
  -- | The chosen location policy.
  newtype SnapshotSettingsStorageLocationSettings_Policy = SnapshotSettingsStorageLocationSettings_Policy {fromSnapshotSettingsStorageLocationSettings_Policy :: 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
      )
  
  -- | Store snapshot in the same region as with the originating disk. No additional parameters are needed.
  pattern SnapshotSettingsStorageLocationSettings_Policy_LOCALREGION :: SnapshotSettingsStorageLocationSettings_Policy
  pattern SnapshotSettingsStorageLocationSettings_Policy_LOCALREGION = SnapshotSettingsStorageLocationSettings_Policy "LOCAL_REGION"
  
  -- | Store snapshot in the nearest multi region Cloud Storage bucket, relative to the originating disk. No additional parameters are needed.
  pattern SnapshotSettingsStorageLocationSettings_Policy_NEARESTMULTIREGION :: SnapshotSettingsStorageLocationSettings_Policy
  pattern SnapshotSettingsStorageLocationSettings_Policy_NEARESTMULTIREGION = SnapshotSettingsStorageLocationSettings_Policy "NEAREST_MULTI_REGION"
  
  -- | Store snapshot in the specific locations, as specified by the user. The list of regions to store must be defined under the @locations@ field.
  pattern SnapshotSettingsStorageLocationSettings_Policy_SPECIFICLOCATIONS :: SnapshotSettingsStorageLocationSettings_Policy
  pattern SnapshotSettingsStorageLocationSettings_Policy_SPECIFICLOCATIONS = SnapshotSettingsStorageLocationSettings_Policy "SPECIFIC_LOCATIONS"
  
  pattern SnapshotSettingsStorageLocationSettings_Policy_STORAGELOCATIONPOLICYUNSPECIFIED :: SnapshotSettingsStorageLocationSettings_Policy
  pattern SnapshotSettingsStorageLocationSettings_Policy_STORAGELOCATIONPOLICYUNSPECIFIED = SnapshotSettingsStorageLocationSettings_Policy "STORAGE_LOCATION_POLICY_UNSPECIFIED"
  
  {-# COMPLETE
    SnapshotSettingsStorageLocationSettings_Policy_LOCALREGION,
    SnapshotSettingsStorageLocationSettings_Policy_NEARESTMULTIREGION,
    SnapshotSettingsStorageLocationSettings_Policy_SPECIFICLOCATIONS,
    SnapshotSettingsStorageLocationSettings_Policy_STORAGELOCATIONPOLICYUNSPECIFIED,
    SnapshotSettingsStorageLocationSettings_Policy
    #-}
  
  -- | KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.
  newtype SourceInstanceProperties_KeyRevocationActionType = SourceInstanceProperties_KeyRevocationActionType {fromSourceInstanceProperties_KeyRevocationActionType :: 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
      )
  
  -- | Default value. This value is unused.
  pattern SourceInstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED :: SourceInstanceProperties_KeyRevocationActionType
  pattern SourceInstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED = SourceInstanceProperties_KeyRevocationActionType "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED"
  
  -- | Indicates user chose no operation.
  pattern SourceInstanceProperties_KeyRevocationActionType_None :: SourceInstanceProperties_KeyRevocationActionType
  pattern SourceInstanceProperties_KeyRevocationActionType_None = SourceInstanceProperties_KeyRevocationActionType "NONE"
  
  -- | Indicates user chose to opt for VM shutdown on key revocation.
  pattern SourceInstanceProperties_KeyRevocationActionType_Stop :: SourceInstanceProperties_KeyRevocationActionType
  pattern SourceInstanceProperties_KeyRevocationActionType_Stop = SourceInstanceProperties_KeyRevocationActionType "STOP"
  
  {-# COMPLETE
    SourceInstanceProperties_KeyRevocationActionType_KEYREVOCATIONACTIONTYPEUNSPECIFIED,
    SourceInstanceProperties_KeyRevocationActionType_None,
    SourceInstanceProperties_KeyRevocationActionType_Stop,
    SourceInstanceProperties_KeyRevocationActionType
    #-}
  
  -- | (Optional) Specifies the type of SSL certificate, either \"SELF/MANAGED\" or \"MANAGED\". If not specified, the certificate is self-managed and the fields certificate and private/key are used.
  newtype SslCertificate_Type = SslCertificate_Type {fromSslCertificate_Type :: 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
      )
  
  -- | Google-managed SSLCertificate.
  pattern SslCertificate_Type_Managed :: SslCertificate_Type
  pattern SslCertificate_Type_Managed = SslCertificate_Type "MANAGED"
  
  -- | Certificate uploaded by user.
  pattern SslCertificate_Type_SELFMANAGED :: SslCertificate_Type
  pattern SslCertificate_Type_SELFMANAGED = SslCertificate_Type "SELF_MANAGED"
  
  pattern SslCertificate_Type_TYPEUNSPECIFIED :: SslCertificate_Type
  pattern SslCertificate_Type_TYPEUNSPECIFIED = SslCertificate_Type "TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    SslCertificate_Type_Managed,
    SslCertificate_Type_SELFMANAGED,
    SslCertificate_Type_TYPEUNSPECIFIED,
    SslCertificate_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslCertificateAggregatedList_Warning_Code = SslCertificateAggregatedList_Warning_Code {fromSslCertificateAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslCertificateAggregatedList_Warning_Code_CLEANUPFAILED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_CLEANUPFAILED = SslCertificateAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslCertificateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = SslCertificateAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslCertificateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = SslCertificateAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslCertificateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslCertificateAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslCertificateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = SslCertificateAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslCertificateAggregatedList_Warning_Code_EXTERNALAPIWARNING :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_EXTERNALAPIWARNING = SslCertificateAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslCertificateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = SslCertificateAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslCertificateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslCertificateAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslCertificateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslCertificateAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslCertificateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = SslCertificateAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslCertificateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslCertificateAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslCertificateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = SslCertificateAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = SslCertificateAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslCertificateAggregatedList_Warning_Code_NOTCRITICALERROR :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NOTCRITICALERROR = SslCertificateAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslCertificateAggregatedList_Warning_Code_NORESULTSONPAGE :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_NORESULTSONPAGE = SslCertificateAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslCertificateAggregatedList_Warning_Code_PARTIALSUCCESS :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_PARTIALSUCCESS = SslCertificateAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslCertificateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = SslCertificateAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslCertificateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = SslCertificateAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslCertificateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslCertificateAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslCertificateAggregatedList_Warning_Code_RESOURCENOTDELETED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_RESOURCENOTDELETED = SslCertificateAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslCertificateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslCertificateAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslCertificateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslCertificateAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslCertificateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = SslCertificateAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslCertificateAggregatedList_Warning_Code_Unreachable :: SslCertificateAggregatedList_Warning_Code
  pattern SslCertificateAggregatedList_Warning_Code_Unreachable = SslCertificateAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslCertificateAggregatedList_Warning_Code_CLEANUPFAILED,
    SslCertificateAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslCertificateAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    SslCertificateAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslCertificateAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslCertificateAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    SslCertificateAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslCertificateAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslCertificateAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslCertificateAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslCertificateAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslCertificateAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslCertificateAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    SslCertificateAggregatedList_Warning_Code_NOTCRITICALERROR,
    SslCertificateAggregatedList_Warning_Code_NORESULTSONPAGE,
    SslCertificateAggregatedList_Warning_Code_PARTIALSUCCESS,
    SslCertificateAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslCertificateAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslCertificateAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslCertificateAggregatedList_Warning_Code_RESOURCENOTDELETED,
    SslCertificateAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslCertificateAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslCertificateAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    SslCertificateAggregatedList_Warning_Code_Unreachable,
    SslCertificateAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslCertificateList_Warning_Code = SslCertificateList_Warning_Code {fromSslCertificateList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslCertificateList_Warning_Code_CLEANUPFAILED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_CLEANUPFAILED = SslCertificateList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslCertificateList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_DEPRECATEDRESOURCEUSED = SslCertificateList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslCertificateList_Warning_Code_DEPRECATEDTYPEUSED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_DEPRECATEDTYPEUSED = SslCertificateList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslCertificateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslCertificateList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslCertificateList_Warning_Code_EXPERIMENTALTYPEUSED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_EXPERIMENTALTYPEUSED = SslCertificateList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslCertificateList_Warning_Code_EXTERNALAPIWARNING :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_EXTERNALAPIWARNING = SslCertificateList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslCertificateList_Warning_Code_FIELDVALUEOVERRIDEN :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_FIELDVALUEOVERRIDEN = SslCertificateList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslCertificateList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslCertificateList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslCertificateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslCertificateList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslCertificateList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_LARGEDEPLOYMENTWARNING = SslCertificateList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslCertificateList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslCertificateList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslCertificateList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_MISSINGTYPEDEPENDENCY = SslCertificateList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslCertificateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslCertificateList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslCertificateList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslCertificateList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslCertificateList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslCertificateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslCertificateList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslCertificateList_Warning_Code_NEXTHOPNOTRUNNING :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NEXTHOPNOTRUNNING = SslCertificateList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslCertificateList_Warning_Code_NOTCRITICALERROR :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NOTCRITICALERROR = SslCertificateList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslCertificateList_Warning_Code_NORESULTSONPAGE :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_NORESULTSONPAGE = SslCertificateList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslCertificateList_Warning_Code_PARTIALSUCCESS :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_PARTIALSUCCESS = SslCertificateList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslCertificateList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_QUOTAINFOUNAVAILABLE = SslCertificateList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslCertificateList_Warning_Code_REQUIREDTOSAGREEMENT :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_REQUIREDTOSAGREEMENT = SslCertificateList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslCertificateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslCertificateList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslCertificateList_Warning_Code_RESOURCENOTDELETED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_RESOURCENOTDELETED = SslCertificateList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslCertificateList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslCertificateList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslCertificateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslCertificateList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslCertificateList_Warning_Code_UNDECLAREDPROPERTIES :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_UNDECLAREDPROPERTIES = SslCertificateList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslCertificateList_Warning_Code_Unreachable :: SslCertificateList_Warning_Code
  pattern SslCertificateList_Warning_Code_Unreachable = SslCertificateList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslCertificateList_Warning_Code_CLEANUPFAILED,
    SslCertificateList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslCertificateList_Warning_Code_DEPRECATEDTYPEUSED,
    SslCertificateList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslCertificateList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslCertificateList_Warning_Code_EXTERNALAPIWARNING,
    SslCertificateList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslCertificateList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslCertificateList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslCertificateList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslCertificateList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslCertificateList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslCertificateList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslCertificateList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslCertificateList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslCertificateList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslCertificateList_Warning_Code_NEXTHOPNOTRUNNING,
    SslCertificateList_Warning_Code_NOTCRITICALERROR,
    SslCertificateList_Warning_Code_NORESULTSONPAGE,
    SslCertificateList_Warning_Code_PARTIALSUCCESS,
    SslCertificateList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslCertificateList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslCertificateList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslCertificateList_Warning_Code_RESOURCENOTDELETED,
    SslCertificateList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslCertificateList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslCertificateList_Warning_Code_UNDECLAREDPROPERTIES,
    SslCertificateList_Warning_Code_Unreachable,
    SslCertificateList_Warning_Code
    #-}
  
  newtype SslCertificateManagedSslCertificate_DomainStatusAdditional = SslCertificateManagedSslCertificate_DomainStatusAdditional {fromSslCertificateManagedSslCertificate_DomainStatusAdditional :: 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
      )
  
  -- | A managed certificate can be provisioned, no issues for this domain.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_Active :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_Active = SslCertificateManagedSslCertificate_DomainStatusAdditional "ACTIVE"
  
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_DOMAINSTATUSUNSPECIFIED :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_DOMAINSTATUSUNSPECIFIED = SslCertificateManagedSslCertificate_DomainStatusAdditional "DOMAIN_STATUS_UNSPECIFIED"
  
  -- | Failed to check CAA records for the domain.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAACHECKING :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAACHECKING = SslCertificateManagedSslCertificate_DomainStatusAdditional "FAILED_CAA_CHECKING"
  
  -- | Certificate issuance forbidden by an explicit CAA record for the domain.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAAFORBIDDEN :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAAFORBIDDEN = SslCertificateManagedSslCertificate_DomainStatusAdditional "FAILED_CAA_FORBIDDEN"
  
  -- | There seems to be problem with the user\'s DNS or load balancer configuration for this domain.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDNOTVISIBLE :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDNOTVISIBLE = SslCertificateManagedSslCertificate_DomainStatusAdditional "FAILED_NOT_VISIBLE"
  
  -- | Reached rate-limit for certificates per top-level private domain.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDRATELIMITED :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDRATELIMITED = SslCertificateManagedSslCertificate_DomainStatusAdditional "FAILED_RATE_LIMITED"
  
  -- | Certificate provisioning for this domain is under way. GCP will attempt to provision the first certificate.
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_Provisioning :: SslCertificateManagedSslCertificate_DomainStatusAdditional
  pattern SslCertificateManagedSslCertificate_DomainStatusAdditional_Provisioning = SslCertificateManagedSslCertificate_DomainStatusAdditional "PROVISIONING"
  
  {-# COMPLETE
    SslCertificateManagedSslCertificate_DomainStatusAdditional_Active,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_DOMAINSTATUSUNSPECIFIED,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAACHECKING,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDCAAFORBIDDEN,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDNOTVISIBLE,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_FAILEDRATELIMITED,
    SslCertificateManagedSslCertificate_DomainStatusAdditional_Provisioning,
    SslCertificateManagedSslCertificate_DomainStatusAdditional
    #-}
  
  -- | [Output only] Status of the managed certificate resource.
  newtype SslCertificateManagedSslCertificate_Status = SslCertificateManagedSslCertificate_Status {fromSslCertificateManagedSslCertificate_Status :: 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 certificate management is working, and a certificate has been provisioned.
  pattern SslCertificateManagedSslCertificate_Status_Active :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_Active = SslCertificateManagedSslCertificate_Status "ACTIVE"
  
  pattern SslCertificateManagedSslCertificate_Status_MANAGEDCERTIFICATESTATUSUNSPECIFIED :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_MANAGEDCERTIFICATESTATUSUNSPECIFIED = SslCertificateManagedSslCertificate_Status "MANAGED_CERTIFICATE_STATUS_UNSPECIFIED"
  
  -- | The certificate management is working. GCP will attempt to provision the first certificate.
  pattern SslCertificateManagedSslCertificate_Status_Provisioning :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_Provisioning = SslCertificateManagedSslCertificate_Status "PROVISIONING"
  
  -- | Certificate provisioning failed due to an issue with the DNS or load balancing configuration. For details of which domain failed, consult domain_status field.
  pattern SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILED :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILED = SslCertificateManagedSslCertificate_Status "PROVISIONING_FAILED"
  
  -- | Certificate provisioning failed due to an issue with the DNS or load balancing configuration. It won\'t be retried. To try again delete and create a new managed SslCertificate resource. For details of which domain failed, consult domain_status field.
  pattern SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILEDPERMANENTLY :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILEDPERMANENTLY = SslCertificateManagedSslCertificate_Status "PROVISIONING_FAILED_PERMANENTLY"
  
  -- | Renewal of the certificate has failed due to an issue with the DNS or load balancing configuration. The existing cert is still serving; however, it will expire shortly. To provision a renewed certificate, delete and create a new managed SslCertificate resource. For details on which domain failed, consult domain_status field.
  pattern SslCertificateManagedSslCertificate_Status_RENEWALFAILED :: SslCertificateManagedSslCertificate_Status
  pattern SslCertificateManagedSslCertificate_Status_RENEWALFAILED = SslCertificateManagedSslCertificate_Status "RENEWAL_FAILED"
  
  {-# COMPLETE
    SslCertificateManagedSslCertificate_Status_Active,
    SslCertificateManagedSslCertificate_Status_MANAGEDCERTIFICATESTATUSUNSPECIFIED,
    SslCertificateManagedSslCertificate_Status_Provisioning,
    SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILED,
    SslCertificateManagedSslCertificate_Status_PROVISIONINGFAILEDPERMANENTLY,
    SslCertificateManagedSslCertificate_Status_RENEWALFAILED,
    SslCertificateManagedSslCertificate_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslCertificatesScopedList_Warning_Code = SslCertificatesScopedList_Warning_Code {fromSslCertificatesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslCertificatesScopedList_Warning_Code_CLEANUPFAILED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_CLEANUPFAILED = SslCertificatesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslCertificatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = SslCertificatesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslCertificatesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_DEPRECATEDTYPEUSED = SslCertificatesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslCertificatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslCertificatesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslCertificatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = SslCertificatesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslCertificatesScopedList_Warning_Code_EXTERNALAPIWARNING :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_EXTERNALAPIWARNING = SslCertificatesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslCertificatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = SslCertificatesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslCertificatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslCertificatesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslCertificatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslCertificatesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslCertificatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = SslCertificatesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslCertificatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslCertificatesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslCertificatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = SslCertificatesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslCertificatesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslCertificatesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslCertificatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslCertificatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslCertificatesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NEXTHOPNOTRUNNING = SslCertificatesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslCertificatesScopedList_Warning_Code_NOTCRITICALERROR :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NOTCRITICALERROR = SslCertificatesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslCertificatesScopedList_Warning_Code_NORESULTSONPAGE :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_NORESULTSONPAGE = SslCertificatesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslCertificatesScopedList_Warning_Code_PARTIALSUCCESS :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_PARTIALSUCCESS = SslCertificatesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslCertificatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = SslCertificatesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslCertificatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = SslCertificatesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslCertificatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslCertificatesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslCertificatesScopedList_Warning_Code_RESOURCENOTDELETED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_RESOURCENOTDELETED = SslCertificatesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslCertificatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslCertificatesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslCertificatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslCertificatesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslCertificatesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_UNDECLAREDPROPERTIES = SslCertificatesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslCertificatesScopedList_Warning_Code_Unreachable :: SslCertificatesScopedList_Warning_Code
  pattern SslCertificatesScopedList_Warning_Code_Unreachable = SslCertificatesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslCertificatesScopedList_Warning_Code_CLEANUPFAILED,
    SslCertificatesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslCertificatesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    SslCertificatesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslCertificatesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslCertificatesScopedList_Warning_Code_EXTERNALAPIWARNING,
    SslCertificatesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslCertificatesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslCertificatesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslCertificatesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslCertificatesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslCertificatesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslCertificatesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslCertificatesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslCertificatesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslCertificatesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    SslCertificatesScopedList_Warning_Code_NOTCRITICALERROR,
    SslCertificatesScopedList_Warning_Code_NORESULTSONPAGE,
    SslCertificatesScopedList_Warning_Code_PARTIALSUCCESS,
    SslCertificatesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslCertificatesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslCertificatesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslCertificatesScopedList_Warning_Code_RESOURCENOTDELETED,
    SslCertificatesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslCertificatesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslCertificatesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    SslCertificatesScopedList_Warning_Code_Unreachable,
    SslCertificatesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslPoliciesAggregatedList_Warning_Code = SslPoliciesAggregatedList_Warning_Code {fromSslPoliciesAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslPoliciesAggregatedList_Warning_Code_CLEANUPFAILED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_CLEANUPFAILED = SslPoliciesAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = SslPoliciesAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = SslPoliciesAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslPoliciesAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = SslPoliciesAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING = SslPoliciesAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = SslPoliciesAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslPoliciesAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslPoliciesAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = SslPoliciesAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslPoliciesAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = SslPoliciesAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = SslPoliciesAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR = SslPoliciesAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE = SslPoliciesAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS = SslPoliciesAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = SslPoliciesAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = SslPoliciesAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslPoliciesAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED = SslPoliciesAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslPoliciesAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslPoliciesAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = SslPoliciesAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslPoliciesAggregatedList_Warning_Code_Unreachable :: SslPoliciesAggregatedList_Warning_Code
  pattern SslPoliciesAggregatedList_Warning_Code_Unreachable = SslPoliciesAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslPoliciesAggregatedList_Warning_Code_CLEANUPFAILED,
    SslPoliciesAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslPoliciesAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    SslPoliciesAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslPoliciesAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslPoliciesAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    SslPoliciesAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslPoliciesAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslPoliciesAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslPoliciesAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslPoliciesAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslPoliciesAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslPoliciesAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    SslPoliciesAggregatedList_Warning_Code_NOTCRITICALERROR,
    SslPoliciesAggregatedList_Warning_Code_NORESULTSONPAGE,
    SslPoliciesAggregatedList_Warning_Code_PARTIALSUCCESS,
    SslPoliciesAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslPoliciesAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslPoliciesAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslPoliciesAggregatedList_Warning_Code_RESOURCENOTDELETED,
    SslPoliciesAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslPoliciesAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslPoliciesAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    SslPoliciesAggregatedList_Warning_Code_Unreachable,
    SslPoliciesAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslPoliciesList_Warning_Code = SslPoliciesList_Warning_Code {fromSslPoliciesList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslPoliciesList_Warning_Code_CLEANUPFAILED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_CLEANUPFAILED = SslPoliciesList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslPoliciesList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_DEPRECATEDRESOURCEUSED = SslPoliciesList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslPoliciesList_Warning_Code_DEPRECATEDTYPEUSED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_DEPRECATEDTYPEUSED = SslPoliciesList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslPoliciesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslPoliciesList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslPoliciesList_Warning_Code_EXPERIMENTALTYPEUSED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_EXPERIMENTALTYPEUSED = SslPoliciesList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslPoliciesList_Warning_Code_EXTERNALAPIWARNING :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_EXTERNALAPIWARNING = SslPoliciesList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslPoliciesList_Warning_Code_FIELDVALUEOVERRIDEN :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_FIELDVALUEOVERRIDEN = SslPoliciesList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslPoliciesList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslPoliciesList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslPoliciesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslPoliciesList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslPoliciesList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_LARGEDEPLOYMENTWARNING = SslPoliciesList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslPoliciesList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslPoliciesList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslPoliciesList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_MISSINGTYPEDEPENDENCY = SslPoliciesList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslPoliciesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslPoliciesList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslPoliciesList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslPoliciesList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslPoliciesList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslPoliciesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslPoliciesList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslPoliciesList_Warning_Code_NEXTHOPNOTRUNNING :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NEXTHOPNOTRUNNING = SslPoliciesList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslPoliciesList_Warning_Code_NOTCRITICALERROR :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NOTCRITICALERROR = SslPoliciesList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslPoliciesList_Warning_Code_NORESULTSONPAGE :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_NORESULTSONPAGE = SslPoliciesList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslPoliciesList_Warning_Code_PARTIALSUCCESS :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_PARTIALSUCCESS = SslPoliciesList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslPoliciesList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_QUOTAINFOUNAVAILABLE = SslPoliciesList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslPoliciesList_Warning_Code_REQUIREDTOSAGREEMENT :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_REQUIREDTOSAGREEMENT = SslPoliciesList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslPoliciesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslPoliciesList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslPoliciesList_Warning_Code_RESOURCENOTDELETED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_RESOURCENOTDELETED = SslPoliciesList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslPoliciesList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslPoliciesList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslPoliciesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslPoliciesList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslPoliciesList_Warning_Code_UNDECLAREDPROPERTIES :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_UNDECLAREDPROPERTIES = SslPoliciesList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslPoliciesList_Warning_Code_Unreachable :: SslPoliciesList_Warning_Code
  pattern SslPoliciesList_Warning_Code_Unreachable = SslPoliciesList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslPoliciesList_Warning_Code_CLEANUPFAILED,
    SslPoliciesList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslPoliciesList_Warning_Code_DEPRECATEDTYPEUSED,
    SslPoliciesList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslPoliciesList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslPoliciesList_Warning_Code_EXTERNALAPIWARNING,
    SslPoliciesList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslPoliciesList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslPoliciesList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslPoliciesList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslPoliciesList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslPoliciesList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslPoliciesList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslPoliciesList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslPoliciesList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslPoliciesList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslPoliciesList_Warning_Code_NEXTHOPNOTRUNNING,
    SslPoliciesList_Warning_Code_NOTCRITICALERROR,
    SslPoliciesList_Warning_Code_NORESULTSONPAGE,
    SslPoliciesList_Warning_Code_PARTIALSUCCESS,
    SslPoliciesList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslPoliciesList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslPoliciesList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslPoliciesList_Warning_Code_RESOURCENOTDELETED,
    SslPoliciesList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslPoliciesList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslPoliciesList_Warning_Code_UNDECLAREDPROPERTIES,
    SslPoliciesList_Warning_Code_Unreachable,
    SslPoliciesList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslPoliciesScopedList_Warning_Code = SslPoliciesScopedList_Warning_Code {fromSslPoliciesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslPoliciesScopedList_Warning_Code_CLEANUPFAILED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_CLEANUPFAILED = SslPoliciesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = SslPoliciesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED = SslPoliciesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SslPoliciesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = SslPoliciesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING = SslPoliciesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = SslPoliciesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SslPoliciesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslPoliciesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = SslPoliciesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SslPoliciesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = SslPoliciesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SslPoliciesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SslPoliciesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SslPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SslPoliciesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING = SslPoliciesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslPoliciesScopedList_Warning_Code_NOTCRITICALERROR :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NOTCRITICALERROR = SslPoliciesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslPoliciesScopedList_Warning_Code_NORESULTSONPAGE :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_NORESULTSONPAGE = SslPoliciesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslPoliciesScopedList_Warning_Code_PARTIALSUCCESS :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_PARTIALSUCCESS = SslPoliciesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = SslPoliciesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = SslPoliciesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslPoliciesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslPoliciesScopedList_Warning_Code_RESOURCENOTDELETED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_RESOURCENOTDELETED = SslPoliciesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SslPoliciesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslPoliciesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES = SslPoliciesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslPoliciesScopedList_Warning_Code_Unreachable :: SslPoliciesScopedList_Warning_Code
  pattern SslPoliciesScopedList_Warning_Code_Unreachable = SslPoliciesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslPoliciesScopedList_Warning_Code_CLEANUPFAILED,
    SslPoliciesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SslPoliciesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    SslPoliciesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslPoliciesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SslPoliciesScopedList_Warning_Code_EXTERNALAPIWARNING,
    SslPoliciesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SslPoliciesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SslPoliciesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslPoliciesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SslPoliciesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SslPoliciesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SslPoliciesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslPoliciesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SslPoliciesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslPoliciesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    SslPoliciesScopedList_Warning_Code_NOTCRITICALERROR,
    SslPoliciesScopedList_Warning_Code_NORESULTSONPAGE,
    SslPoliciesScopedList_Warning_Code_PARTIALSUCCESS,
    SslPoliciesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SslPoliciesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SslPoliciesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslPoliciesScopedList_Warning_Code_RESOURCENOTDELETED,
    SslPoliciesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SslPoliciesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslPoliciesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    SslPoliciesScopedList_Warning_Code_Unreachable,
    SslPoliciesScopedList_Warning_Code
    #-}
  
  -- | The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS/1/0, TLS/1/1, TLS/1/2.
  newtype SslPolicy_MinTlsVersion = SslPolicy_MinTlsVersion {fromSslPolicy_MinTlsVersion :: 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
      )
  
  -- | TLS 1.0
  pattern SslPolicy_MinTlsVersion_TLS_1_0 :: SslPolicy_MinTlsVersion
  pattern SslPolicy_MinTlsVersion_TLS_1_0 = SslPolicy_MinTlsVersion "TLS_1_0"
  
  -- | TLS 1.1
  pattern SslPolicy_MinTlsVersion_TLS_1_1 :: SslPolicy_MinTlsVersion
  pattern SslPolicy_MinTlsVersion_TLS_1_1 = SslPolicy_MinTlsVersion "TLS_1_1"
  
  -- | TLS 1.2
  pattern SslPolicy_MinTlsVersion_TLS_1_2 :: SslPolicy_MinTlsVersion
  pattern SslPolicy_MinTlsVersion_TLS_1_2 = SslPolicy_MinTlsVersion "TLS_1_2"
  
  {-# COMPLETE
    SslPolicy_MinTlsVersion_TLS_1_0,
    SslPolicy_MinTlsVersion_TLS_1_1,
    SslPolicy_MinTlsVersion_TLS_1_2,
    SslPolicy_MinTlsVersion
    #-}
  
  -- | Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field.
  newtype SslPolicy_Profile = SslPolicy_Profile {fromSslPolicy_Profile :: 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
      )
  
  -- | Compatible profile. Allows the broadset set of clients, even those which support only out-of-date SSL features to negotiate with the load balancer.
  pattern SslPolicy_Profile_Compatible :: SslPolicy_Profile
  pattern SslPolicy_Profile_Compatible = SslPolicy_Profile "COMPATIBLE"
  
  -- | Custom profile. Allow only the set of allowed SSL features specified in the customFeatures field.
  pattern SslPolicy_Profile_Custom :: SslPolicy_Profile
  pattern SslPolicy_Profile_Custom = SslPolicy_Profile "CUSTOM"
  
  -- | Modern profile. Supports a wide set of SSL features, allowing modern clients to negotiate SSL with the load balancer.
  pattern SslPolicy_Profile_Modern :: SslPolicy_Profile
  pattern SslPolicy_Profile_Modern = SslPolicy_Profile "MODERN"
  
  -- | Restricted profile. Supports a reduced set of SSL features, intended to meet stricter compliance requirements.
  pattern SslPolicy_Profile_Restricted :: SslPolicy_Profile
  pattern SslPolicy_Profile_Restricted = SslPolicy_Profile "RESTRICTED"
  
  {-# COMPLETE
    SslPolicy_Profile_Compatible,
    SslPolicy_Profile_Custom,
    SslPolicy_Profile_Modern,
    SslPolicy_Profile_Restricted,
    SslPolicy_Profile
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SslPolicy_WarningsItem_Code = SslPolicy_WarningsItem_Code {fromSslPolicy_WarningsItem_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SslPolicy_WarningsItem_Code_CLEANUPFAILED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_CLEANUPFAILED = SslPolicy_WarningsItem_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SslPolicy_WarningsItem_Code_DEPRECATEDRESOURCEUSED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_DEPRECATEDRESOURCEUSED = SslPolicy_WarningsItem_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SslPolicy_WarningsItem_Code_DEPRECATEDTYPEUSED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_DEPRECATEDTYPEUSED = SslPolicy_WarningsItem_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SslPolicy_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE = SslPolicy_WarningsItem_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SslPolicy_WarningsItem_Code_EXPERIMENTALTYPEUSED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_EXPERIMENTALTYPEUSED = SslPolicy_WarningsItem_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SslPolicy_WarningsItem_Code_EXTERNALAPIWARNING :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_EXTERNALAPIWARNING = SslPolicy_WarningsItem_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SslPolicy_WarningsItem_Code_FIELDVALUEOVERRIDEN :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_FIELDVALUEOVERRIDEN = SslPolicy_WarningsItem_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SslPolicy_WarningsItem_Code_INJECTEDKERNELSDEPRECATED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_INJECTEDKERNELSDEPRECATED = SslPolicy_WarningsItem_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SslPolicy_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SslPolicy_WarningsItem_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SslPolicy_WarningsItem_Code_LARGEDEPLOYMENTWARNING :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_LARGEDEPLOYMENTWARNING = SslPolicy_WarningsItem_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SslPolicy_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED = SslPolicy_WarningsItem_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SslPolicy_WarningsItem_Code_MISSINGTYPEDEPENDENCY :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_MISSINGTYPEDEPENDENCY = SslPolicy_WarningsItem_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED = SslPolicy_WarningsItem_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD = SslPolicy_WarningsItem_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SslPolicy_WarningsItem_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND = SslPolicy_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK = SslPolicy_WarningsItem_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SslPolicy_WarningsItem_Code_NEXTHOPNOTRUNNING :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NEXTHOPNOTRUNNING = SslPolicy_WarningsItem_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SslPolicy_WarningsItem_Code_NOTCRITICALERROR :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NOTCRITICALERROR = SslPolicy_WarningsItem_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SslPolicy_WarningsItem_Code_NORESULTSONPAGE :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_NORESULTSONPAGE = SslPolicy_WarningsItem_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SslPolicy_WarningsItem_Code_PARTIALSUCCESS :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_PARTIALSUCCESS = SslPolicy_WarningsItem_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SslPolicy_WarningsItem_Code_QUOTAINFOUNAVAILABLE :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_QUOTAINFOUNAVAILABLE = SslPolicy_WarningsItem_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SslPolicy_WarningsItem_Code_REQUIREDTOSAGREEMENT :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_REQUIREDTOSAGREEMENT = SslPolicy_WarningsItem_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SslPolicy_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SslPolicy_WarningsItem_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SslPolicy_WarningsItem_Code_RESOURCENOTDELETED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_RESOURCENOTDELETED = SslPolicy_WarningsItem_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SslPolicy_WarningsItem_Code_SCHEMAVALIDATIONIGNORED :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_SCHEMAVALIDATIONIGNORED = SslPolicy_WarningsItem_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SslPolicy_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SslPolicy_WarningsItem_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SslPolicy_WarningsItem_Code_UNDECLAREDPROPERTIES :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_UNDECLAREDPROPERTIES = SslPolicy_WarningsItem_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SslPolicy_WarningsItem_Code_Unreachable :: SslPolicy_WarningsItem_Code
  pattern SslPolicy_WarningsItem_Code_Unreachable = SslPolicy_WarningsItem_Code "UNREACHABLE"
  
  {-# COMPLETE
    SslPolicy_WarningsItem_Code_CLEANUPFAILED,
    SslPolicy_WarningsItem_Code_DEPRECATEDRESOURCEUSED,
    SslPolicy_WarningsItem_Code_DEPRECATEDTYPEUSED,
    SslPolicy_WarningsItem_Code_DISKSIZELARGERTHANIMAGESIZE,
    SslPolicy_WarningsItem_Code_EXPERIMENTALTYPEUSED,
    SslPolicy_WarningsItem_Code_EXTERNALAPIWARNING,
    SslPolicy_WarningsItem_Code_FIELDVALUEOVERRIDEN,
    SslPolicy_WarningsItem_Code_INJECTEDKERNELSDEPRECATED,
    SslPolicy_WarningsItem_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SslPolicy_WarningsItem_Code_LARGEDEPLOYMENTWARNING,
    SslPolicy_WarningsItem_Code_LISTOVERHEADQUOTAEXCEED,
    SslPolicy_WarningsItem_Code_MISSINGTYPEDEPENDENCY,
    SslPolicy_WarningsItem_Code_NEXTHOPADDRESSNOTASSIGNED,
    SslPolicy_WarningsItem_Code_NEXTHOPCANNOTIPFORWARD,
    SslPolicy_WarningsItem_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTFOUND,
    SslPolicy_WarningsItem_Code_NEXTHOPINSTANCENOTONNETWORK,
    SslPolicy_WarningsItem_Code_NEXTHOPNOTRUNNING,
    SslPolicy_WarningsItem_Code_NOTCRITICALERROR,
    SslPolicy_WarningsItem_Code_NORESULTSONPAGE,
    SslPolicy_WarningsItem_Code_PARTIALSUCCESS,
    SslPolicy_WarningsItem_Code_QUOTAINFOUNAVAILABLE,
    SslPolicy_WarningsItem_Code_REQUIREDTOSAGREEMENT,
    SslPolicy_WarningsItem_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SslPolicy_WarningsItem_Code_RESOURCENOTDELETED,
    SslPolicy_WarningsItem_Code_SCHEMAVALIDATIONIGNORED,
    SslPolicy_WarningsItem_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SslPolicy_WarningsItem_Code_UNDECLAREDPROPERTIES,
    SslPolicy_WarningsItem_Code_Unreachable,
    SslPolicy_WarningsItem_Code
    #-}
  
  -- | These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted.
  newtype StatefulPolicyPreservedStateDiskDevice_AutoDelete = StatefulPolicyPreservedStateDiskDevice_AutoDelete {fromStatefulPolicyPreservedStateDiskDevice_AutoDelete :: 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
      )
  
  pattern StatefulPolicyPreservedStateDiskDevice_AutoDelete_Never :: StatefulPolicyPreservedStateDiskDevice_AutoDelete
  pattern StatefulPolicyPreservedStateDiskDevice_AutoDelete_Never = StatefulPolicyPreservedStateDiskDevice_AutoDelete "NEVER"
  
  pattern StatefulPolicyPreservedStateDiskDevice_AutoDelete_ONPERMANENTINSTANCEDELETION :: StatefulPolicyPreservedStateDiskDevice_AutoDelete
  pattern StatefulPolicyPreservedStateDiskDevice_AutoDelete_ONPERMANENTINSTANCEDELETION = StatefulPolicyPreservedStateDiskDevice_AutoDelete "ON_PERMANENT_INSTANCE_DELETION"
  
  {-# COMPLETE
    StatefulPolicyPreservedStateDiskDevice_AutoDelete_Never,
    StatefulPolicyPreservedStateDiskDevice_AutoDelete_ONPERMANENTINSTANCEDELETION,
    StatefulPolicyPreservedStateDiskDevice_AutoDelete
    #-}
  
  -- | These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted.
  newtype StatefulPolicyPreservedStateNetworkIp_AutoDelete = StatefulPolicyPreservedStateNetworkIp_AutoDelete {fromStatefulPolicyPreservedStateNetworkIp_AutoDelete :: 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
      )
  
  pattern StatefulPolicyPreservedStateNetworkIp_AutoDelete_Never :: StatefulPolicyPreservedStateNetworkIp_AutoDelete
  pattern StatefulPolicyPreservedStateNetworkIp_AutoDelete_Never = StatefulPolicyPreservedStateNetworkIp_AutoDelete "NEVER"
  
  pattern StatefulPolicyPreservedStateNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION :: StatefulPolicyPreservedStateNetworkIp_AutoDelete
  pattern StatefulPolicyPreservedStateNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION = StatefulPolicyPreservedStateNetworkIp_AutoDelete "ON_PERMANENT_INSTANCE_DELETION"
  
  {-# COMPLETE
    StatefulPolicyPreservedStateNetworkIp_AutoDelete_Never,
    StatefulPolicyPreservedStateNetworkIp_AutoDelete_ONPERMANENTINSTANCEDELETION,
    StatefulPolicyPreservedStateNetworkIp_AutoDelete
    #-}
  
  -- | Provisioning type of the byte capacity of the pool.
  newtype StoragePool_CapacityProvisioningType = StoragePool_CapacityProvisioningType {fromStoragePool_CapacityProvisioningType :: 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
      )
  
  -- | Advanced provisioning \"thinly\" allocates the related resource.
  pattern StoragePool_CapacityProvisioningType_Advanced :: StoragePool_CapacityProvisioningType
  pattern StoragePool_CapacityProvisioningType_Advanced = StoragePool_CapacityProvisioningType "ADVANCED"
  
  -- | Standard provisioning allocates the related resource for the pool disks\' exclusive use.
  pattern StoragePool_CapacityProvisioningType_Standard :: StoragePool_CapacityProvisioningType
  pattern StoragePool_CapacityProvisioningType_Standard = StoragePool_CapacityProvisioningType "STANDARD"
  
  pattern StoragePool_CapacityProvisioningType_Unspecified :: StoragePool_CapacityProvisioningType
  pattern StoragePool_CapacityProvisioningType_Unspecified = StoragePool_CapacityProvisioningType "UNSPECIFIED"
  
  {-# COMPLETE
    StoragePool_CapacityProvisioningType_Advanced,
    StoragePool_CapacityProvisioningType_Standard,
    StoragePool_CapacityProvisioningType_Unspecified,
    StoragePool_CapacityProvisioningType
    #-}
  
  -- | Provisioning type of the performance-related parameters of the pool, such as throughput and IOPS.
  newtype StoragePool_PerformanceProvisioningType = StoragePool_PerformanceProvisioningType {fromStoragePool_PerformanceProvisioningType :: 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
      )
  
  -- | Advanced provisioning \"thinly\" allocates the related resource.
  pattern StoragePool_PerformanceProvisioningType_Advanced :: StoragePool_PerformanceProvisioningType
  pattern StoragePool_PerformanceProvisioningType_Advanced = StoragePool_PerformanceProvisioningType "ADVANCED"
  
  -- | Standard provisioning allocates the related resource for the pool disks\' exclusive use.
  pattern StoragePool_PerformanceProvisioningType_Standard :: StoragePool_PerformanceProvisioningType
  pattern StoragePool_PerformanceProvisioningType_Standard = StoragePool_PerformanceProvisioningType "STANDARD"
  
  pattern StoragePool_PerformanceProvisioningType_Unspecified :: StoragePool_PerformanceProvisioningType
  pattern StoragePool_PerformanceProvisioningType_Unspecified = StoragePool_PerformanceProvisioningType "UNSPECIFIED"
  
  {-# COMPLETE
    StoragePool_PerformanceProvisioningType_Advanced,
    StoragePool_PerformanceProvisioningType_Standard,
    StoragePool_PerformanceProvisioningType_Unspecified,
    StoragePool_PerformanceProvisioningType
    #-}
  
  -- | [Output Only] The status of storage pool creation. - CREATING: Storage pool is provisioning. storagePool. - FAILED: Storage pool creation failed. - READY: Storage pool is ready for use. - DELETING: Storage pool is deleting.
  newtype StoragePool_State = StoragePool_State {fromStoragePool_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
      )
  
  -- | StoragePool is provisioning
  pattern StoragePool_State_Creating :: StoragePool_State
  pattern StoragePool_State_Creating = StoragePool_State "CREATING"
  
  -- | StoragePool is deleting.
  pattern StoragePool_State_Deleting :: StoragePool_State
  pattern StoragePool_State_Deleting = StoragePool_State "DELETING"
  
  -- | StoragePool creation failed.
  pattern StoragePool_State_Failed :: StoragePool_State
  pattern StoragePool_State_Failed = StoragePool_State "FAILED"
  
  -- | StoragePool is ready for use.
  pattern StoragePool_State_Ready :: StoragePool_State
  pattern StoragePool_State_Ready = StoragePool_State "READY"
  
  {-# COMPLETE
    StoragePool_State_Creating,
    StoragePool_State_Deleting,
    StoragePool_State_Failed,
    StoragePool_State_Ready,
    StoragePool_State
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolAggregatedList_Warning_Code = StoragePoolAggregatedList_Warning_Code {fromStoragePoolAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolAggregatedList_Warning_Code_CLEANUPFAILED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_CLEANUPFAILED = StoragePoolAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolAggregatedList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_EXTERNALAPIWARNING = StoragePoolAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolAggregatedList_Warning_Code_NOTCRITICALERROR :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NOTCRITICALERROR = StoragePoolAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolAggregatedList_Warning_Code_NORESULTSONPAGE :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_NORESULTSONPAGE = StoragePoolAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolAggregatedList_Warning_Code_PARTIALSUCCESS :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_PARTIALSUCCESS = StoragePoolAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolAggregatedList_Warning_Code_RESOURCENOTDELETED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_RESOURCENOTDELETED = StoragePoolAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolAggregatedList_Warning_Code_Unreachable :: StoragePoolAggregatedList_Warning_Code
  pattern StoragePoolAggregatedList_Warning_Code_Unreachable = StoragePoolAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolAggregatedList_Warning_Code_CLEANUPFAILED,
    StoragePoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolAggregatedList_Warning_Code_NOTCRITICALERROR,
    StoragePoolAggregatedList_Warning_Code_NORESULTSONPAGE,
    StoragePoolAggregatedList_Warning_Code_PARTIALSUCCESS,
    StoragePoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolAggregatedList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolAggregatedList_Warning_Code_Unreachable,
    StoragePoolAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] The disk status.
  newtype StoragePoolDisk_Status = StoragePoolDisk_Status {fromStoragePoolDisk_Status :: 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
      )
  
  -- | Disk is provisioning
  pattern StoragePoolDisk_Status_Creating :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Creating = StoragePoolDisk_Status "CREATING"
  
  -- | Disk is deleting.
  pattern StoragePoolDisk_Status_Deleting :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Deleting = StoragePoolDisk_Status "DELETING"
  
  -- | Disk creation failed.
  pattern StoragePoolDisk_Status_Failed :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Failed = StoragePoolDisk_Status "FAILED"
  
  -- | Disk is ready for use.
  pattern StoragePoolDisk_Status_Ready :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Ready = StoragePoolDisk_Status "READY"
  
  -- | Source data is being copied into the disk.
  pattern StoragePoolDisk_Status_Restoring :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Restoring = StoragePoolDisk_Status "RESTORING"
  
  -- | Disk is currently unavailable and cannot be accessed, attached or detached.
  pattern StoragePoolDisk_Status_Unavailable :: StoragePoolDisk_Status
  pattern StoragePoolDisk_Status_Unavailable = StoragePoolDisk_Status "UNAVAILABLE"
  
  {-# COMPLETE
    StoragePoolDisk_Status_Creating,
    StoragePoolDisk_Status_Deleting,
    StoragePoolDisk_Status_Failed,
    StoragePoolDisk_Status_Ready,
    StoragePoolDisk_Status_Restoring,
    StoragePoolDisk_Status_Unavailable,
    StoragePoolDisk_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolList_Warning_Code = StoragePoolList_Warning_Code {fromStoragePoolList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolList_Warning_Code_CLEANUPFAILED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_CLEANUPFAILED = StoragePoolList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_EXTERNALAPIWARNING = StoragePoolList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolList_Warning_Code_NOTCRITICALERROR :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NOTCRITICALERROR = StoragePoolList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolList_Warning_Code_NORESULTSONPAGE :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_NORESULTSONPAGE = StoragePoolList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolList_Warning_Code_PARTIALSUCCESS :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_PARTIALSUCCESS = StoragePoolList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolList_Warning_Code_RESOURCENOTDELETED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_RESOURCENOTDELETED = StoragePoolList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolList_Warning_Code_Unreachable :: StoragePoolList_Warning_Code
  pattern StoragePoolList_Warning_Code_Unreachable = StoragePoolList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolList_Warning_Code_CLEANUPFAILED,
    StoragePoolList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolList_Warning_Code_NOTCRITICALERROR,
    StoragePoolList_Warning_Code_NORESULTSONPAGE,
    StoragePoolList_Warning_Code_PARTIALSUCCESS,
    StoragePoolList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolList_Warning_Code_Unreachable,
    StoragePoolList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolListDisks_Warning_Code = StoragePoolListDisks_Warning_Code {fromStoragePoolListDisks_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolListDisks_Warning_Code_CLEANUPFAILED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_CLEANUPFAILED = StoragePoolListDisks_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolListDisks_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolListDisks_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolListDisks_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolListDisks_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolListDisks_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolListDisks_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolListDisks_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolListDisks_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolListDisks_Warning_Code_EXTERNALAPIWARNING :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_EXTERNALAPIWARNING = StoragePoolListDisks_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolListDisks_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolListDisks_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolListDisks_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolListDisks_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolListDisks_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolListDisks_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolListDisks_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolListDisks_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolListDisks_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolListDisks_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolListDisks_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolListDisks_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolListDisks_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolListDisks_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolListDisks_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolListDisks_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolListDisks_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolListDisks_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolListDisks_Warning_Code_NOTCRITICALERROR :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NOTCRITICALERROR = StoragePoolListDisks_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolListDisks_Warning_Code_NORESULTSONPAGE :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_NORESULTSONPAGE = StoragePoolListDisks_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolListDisks_Warning_Code_PARTIALSUCCESS :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_PARTIALSUCCESS = StoragePoolListDisks_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolListDisks_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolListDisks_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolListDisks_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolListDisks_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolListDisks_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolListDisks_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolListDisks_Warning_Code_RESOURCENOTDELETED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_RESOURCENOTDELETED = StoragePoolListDisks_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolListDisks_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolListDisks_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolListDisks_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolListDisks_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolListDisks_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolListDisks_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolListDisks_Warning_Code_Unreachable :: StoragePoolListDisks_Warning_Code
  pattern StoragePoolListDisks_Warning_Code_Unreachable = StoragePoolListDisks_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolListDisks_Warning_Code_CLEANUPFAILED,
    StoragePoolListDisks_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolListDisks_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolListDisks_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolListDisks_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolListDisks_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolListDisks_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolListDisks_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolListDisks_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolListDisks_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolListDisks_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolListDisks_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolListDisks_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolListDisks_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolListDisks_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolListDisks_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolListDisks_Warning_Code_NOTCRITICALERROR,
    StoragePoolListDisks_Warning_Code_NORESULTSONPAGE,
    StoragePoolListDisks_Warning_Code_PARTIALSUCCESS,
    StoragePoolListDisks_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolListDisks_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolListDisks_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolListDisks_Warning_Code_RESOURCENOTDELETED,
    StoragePoolListDisks_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolListDisks_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolListDisks_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolListDisks_Warning_Code_Unreachable,
    StoragePoolListDisks_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolTypeAggregatedList_Warning_Code = StoragePoolTypeAggregatedList_Warning_Code {fromStoragePoolTypeAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolTypeAggregatedList_Warning_Code_CLEANUPFAILED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_CLEANUPFAILED = StoragePoolTypeAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolTypeAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolTypeAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolTypeAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolTypeAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING = StoragePoolTypeAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolTypeAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolTypeAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolTypeAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolTypeAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolTypeAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolTypeAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolTypeAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NOTCRITICALERROR :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NOTCRITICALERROR = StoragePoolTypeAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolTypeAggregatedList_Warning_Code_NORESULTSONPAGE :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_NORESULTSONPAGE = StoragePoolTypeAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolTypeAggregatedList_Warning_Code_PARTIALSUCCESS :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_PARTIALSUCCESS = StoragePoolTypeAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolTypeAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolTypeAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolTypeAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolTypeAggregatedList_Warning_Code_RESOURCENOTDELETED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_RESOURCENOTDELETED = StoragePoolTypeAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolTypeAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolTypeAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolTypeAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolTypeAggregatedList_Warning_Code_Unreachable :: StoragePoolTypeAggregatedList_Warning_Code
  pattern StoragePoolTypeAggregatedList_Warning_Code_Unreachable = StoragePoolTypeAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolTypeAggregatedList_Warning_Code_CLEANUPFAILED,
    StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolTypeAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolTypeAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolTypeAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolTypeAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolTypeAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolTypeAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolTypeAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolTypeAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolTypeAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolTypeAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolTypeAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolTypeAggregatedList_Warning_Code_NOTCRITICALERROR,
    StoragePoolTypeAggregatedList_Warning_Code_NORESULTSONPAGE,
    StoragePoolTypeAggregatedList_Warning_Code_PARTIALSUCCESS,
    StoragePoolTypeAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolTypeAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolTypeAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolTypeAggregatedList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolTypeAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolTypeAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolTypeAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolTypeAggregatedList_Warning_Code_Unreachable,
    StoragePoolTypeAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolTypeList_Warning_Code = StoragePoolTypeList_Warning_Code {fromStoragePoolTypeList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolTypeList_Warning_Code_CLEANUPFAILED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_CLEANUPFAILED = StoragePoolTypeList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolTypeList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolTypeList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolTypeList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolTypeList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolTypeList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolTypeList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolTypeList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolTypeList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_EXTERNALAPIWARNING = StoragePoolTypeList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolTypeList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolTypeList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolTypeList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolTypeList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolTypeList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolTypeList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolTypeList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolTypeList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolTypeList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolTypeList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolTypeList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolTypeList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolTypeList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolTypeList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolTypeList_Warning_Code_NOTCRITICALERROR :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NOTCRITICALERROR = StoragePoolTypeList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolTypeList_Warning_Code_NORESULTSONPAGE :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_NORESULTSONPAGE = StoragePoolTypeList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolTypeList_Warning_Code_PARTIALSUCCESS :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_PARTIALSUCCESS = StoragePoolTypeList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolTypeList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolTypeList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolTypeList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolTypeList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolTypeList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolTypeList_Warning_Code_RESOURCENOTDELETED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_RESOURCENOTDELETED = StoragePoolTypeList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolTypeList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolTypeList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolTypeList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolTypeList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolTypeList_Warning_Code_Unreachable :: StoragePoolTypeList_Warning_Code
  pattern StoragePoolTypeList_Warning_Code_Unreachable = StoragePoolTypeList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolTypeList_Warning_Code_CLEANUPFAILED,
    StoragePoolTypeList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolTypeList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolTypeList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolTypeList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolTypeList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolTypeList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolTypeList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolTypeList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolTypeList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolTypeList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolTypeList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolTypeList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolTypeList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolTypeList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolTypeList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolTypeList_Warning_Code_NOTCRITICALERROR,
    StoragePoolTypeList_Warning_Code_NORESULTSONPAGE,
    StoragePoolTypeList_Warning_Code_PARTIALSUCCESS,
    StoragePoolTypeList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolTypeList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolTypeList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolTypeList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolTypeList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolTypeList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolTypeList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolTypeList_Warning_Code_Unreachable,
    StoragePoolTypeList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolTypesScopedList_Warning_Code = StoragePoolTypesScopedList_Warning_Code {fromStoragePoolTypesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolTypesScopedList_Warning_Code_CLEANUPFAILED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_CLEANUPFAILED = StoragePoolTypesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolTypesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolTypesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolTypesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolTypesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolTypesScopedList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_EXTERNALAPIWARNING = StoragePoolTypesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolTypesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolTypesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolTypesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolTypesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolTypesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolTypesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolTypesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolTypesScopedList_Warning_Code_NOTCRITICALERROR :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NOTCRITICALERROR = StoragePoolTypesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolTypesScopedList_Warning_Code_NORESULTSONPAGE :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_NORESULTSONPAGE = StoragePoolTypesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolTypesScopedList_Warning_Code_PARTIALSUCCESS :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_PARTIALSUCCESS = StoragePoolTypesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolTypesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolTypesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolTypesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolTypesScopedList_Warning_Code_RESOURCENOTDELETED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_RESOURCENOTDELETED = StoragePoolTypesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolTypesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolTypesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolTypesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolTypesScopedList_Warning_Code_Unreachable :: StoragePoolTypesScopedList_Warning_Code
  pattern StoragePoolTypesScopedList_Warning_Code_Unreachable = StoragePoolTypesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolTypesScopedList_Warning_Code_CLEANUPFAILED,
    StoragePoolTypesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolTypesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolTypesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolTypesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolTypesScopedList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolTypesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolTypesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolTypesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolTypesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolTypesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolTypesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolTypesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolTypesScopedList_Warning_Code_NOTCRITICALERROR,
    StoragePoolTypesScopedList_Warning_Code_NORESULTSONPAGE,
    StoragePoolTypesScopedList_Warning_Code_PARTIALSUCCESS,
    StoragePoolTypesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolTypesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolTypesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolTypesScopedList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolTypesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolTypesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolTypesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolTypesScopedList_Warning_Code_Unreachable,
    StoragePoolTypesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype StoragePoolsScopedList_Warning_Code = StoragePoolsScopedList_Warning_Code {fromStoragePoolsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern StoragePoolsScopedList_Warning_Code_CLEANUPFAILED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_CLEANUPFAILED = StoragePoolsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern StoragePoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = StoragePoolsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern StoragePoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED = StoragePoolsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern StoragePoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = StoragePoolsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern StoragePoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = StoragePoolsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern StoragePoolsScopedList_Warning_Code_EXTERNALAPIWARNING :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_EXTERNALAPIWARNING = StoragePoolsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern StoragePoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = StoragePoolsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern StoragePoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = StoragePoolsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern StoragePoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = StoragePoolsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern StoragePoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = StoragePoolsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern StoragePoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = StoragePoolsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern StoragePoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = StoragePoolsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = StoragePoolsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = StoragePoolsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = StoragePoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = StoragePoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = StoragePoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING = StoragePoolsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern StoragePoolsScopedList_Warning_Code_NOTCRITICALERROR :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NOTCRITICALERROR = StoragePoolsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern StoragePoolsScopedList_Warning_Code_NORESULTSONPAGE :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_NORESULTSONPAGE = StoragePoolsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern StoragePoolsScopedList_Warning_Code_PARTIALSUCCESS :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_PARTIALSUCCESS = StoragePoolsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern StoragePoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = StoragePoolsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern StoragePoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = StoragePoolsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern StoragePoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = StoragePoolsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern StoragePoolsScopedList_Warning_Code_RESOURCENOTDELETED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_RESOURCENOTDELETED = StoragePoolsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern StoragePoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = StoragePoolsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern StoragePoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = StoragePoolsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern StoragePoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES = StoragePoolsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern StoragePoolsScopedList_Warning_Code_Unreachable :: StoragePoolsScopedList_Warning_Code
  pattern StoragePoolsScopedList_Warning_Code_Unreachable = StoragePoolsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    StoragePoolsScopedList_Warning_Code_CLEANUPFAILED,
    StoragePoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    StoragePoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    StoragePoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    StoragePoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    StoragePoolsScopedList_Warning_Code_EXTERNALAPIWARNING,
    StoragePoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    StoragePoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    StoragePoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    StoragePoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    StoragePoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    StoragePoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    StoragePoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    StoragePoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    StoragePoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    StoragePoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    StoragePoolsScopedList_Warning_Code_NOTCRITICALERROR,
    StoragePoolsScopedList_Warning_Code_NORESULTSONPAGE,
    StoragePoolsScopedList_Warning_Code_PARTIALSUCCESS,
    StoragePoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    StoragePoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    StoragePoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    StoragePoolsScopedList_Warning_Code_RESOURCENOTDELETED,
    StoragePoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    StoragePoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    StoragePoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    StoragePoolsScopedList_Warning_Code_Unreachable,
    StoragePoolsScopedList_Warning_Code
    #-}
  
  -- | The access type of IPv6 address this subnet holds. It\'s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.
  newtype Subnetwork_Ipv6AccessType = Subnetwork_Ipv6AccessType {fromSubnetwork_Ipv6AccessType :: 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
      )
  
  -- | VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.
  pattern Subnetwork_Ipv6AccessType_External :: Subnetwork_Ipv6AccessType
  pattern Subnetwork_Ipv6AccessType_External = Subnetwork_Ipv6AccessType "EXTERNAL"
  
  -- | VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network.
  pattern Subnetwork_Ipv6AccessType_Internal :: Subnetwork_Ipv6AccessType
  pattern Subnetwork_Ipv6AccessType_Internal = Subnetwork_Ipv6AccessType "INTERNAL"
  
  {-# COMPLETE
    Subnetwork_Ipv6AccessType_External,
    Subnetwork_Ipv6AccessType_Internal,
    Subnetwork_Ipv6AccessType
    #-}
  
  -- | This field is for internal use. This field can be both set at resource creation time and updated using patch.
  newtype Subnetwork_PrivateIpv6GoogleAccess = Subnetwork_PrivateIpv6GoogleAccess {fromSubnetwork_PrivateIpv6GoogleAccess :: 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
      )
  
  -- | Disable private IPv6 access to\/from Google services.
  pattern Subnetwork_PrivateIpv6GoogleAccess_DISABLEGOOGLEACCESS :: Subnetwork_PrivateIpv6GoogleAccess
  pattern Subnetwork_PrivateIpv6GoogleAccess_DISABLEGOOGLEACCESS = Subnetwork_PrivateIpv6GoogleAccess "DISABLE_GOOGLE_ACCESS"
  
  -- | Bidirectional private IPv6 access to\/from Google services.
  pattern Subnetwork_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE :: Subnetwork_PrivateIpv6GoogleAccess
  pattern Subnetwork_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE = Subnetwork_PrivateIpv6GoogleAccess "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE"
  
  -- | Outbound private IPv6 access from VMs in this subnet to Google services.
  pattern Subnetwork_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE :: Subnetwork_PrivateIpv6GoogleAccess
  pattern Subnetwork_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE = Subnetwork_PrivateIpv6GoogleAccess "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE"
  
  {-# COMPLETE
    Subnetwork_PrivateIpv6GoogleAccess_DISABLEGOOGLEACCESS,
    Subnetwork_PrivateIpv6GoogleAccess_ENABLEBIDIRECTIONALACCESSTOGOOGLE,
    Subnetwork_PrivateIpv6GoogleAccess_ENABLEOUTBOUNDVMACCESSTOGOOGLE,
    Subnetwork_PrivateIpv6GoogleAccess
    #-}
  
  -- | The purpose of the resource. This field can be either PRIVATE, GLOBAL/MANAGED/PROXY, REGIONAL/MANAGED/PROXY, PEER/MIGRATION, PRIVATE/SERVICE/CONNECT or PRIVATE/NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE/SERVICE/CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER/MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE/NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn\'t supported if the subnet purpose field is set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY.
  newtype Subnetwork_Purpose = Subnetwork_Purpose {fromSubnetwork_Purpose :: 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
      )
  
  -- | Subnet reserved for Global Envoy-based Load Balancing.
  pattern Subnetwork_Purpose_GLOBALMANAGEDPROXY :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_GLOBALMANAGEDPROXY = Subnetwork_Purpose "GLOBAL_MANAGED_PROXY"
  
  -- | Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL/MANAGED/PROXY instead.
  pattern Subnetwork_Purpose_INTERNALHTTPSLOADBALANCER :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_INTERNALHTTPSLOADBALANCER = Subnetwork_Purpose "INTERNAL_HTTPS_LOAD_BALANCER"
  
  -- | Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).
  pattern Subnetwork_Purpose_PEERMIGRATION :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_PEERMIGRATION = Subnetwork_Purpose "PEER_MIGRATION"
  
  -- | Regular user created or automatically created subnet.
  pattern Subnetwork_Purpose_Private :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_Private = Subnetwork_Purpose "PRIVATE"
  
  -- | Subnetwork used as source range for Private NAT Gateways.
  pattern Subnetwork_Purpose_PRIVATENAT :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_PRIVATENAT = Subnetwork_Purpose "PRIVATE_NAT"
  
  -- | Regular user created or automatically created subnet.
  pattern Subnetwork_Purpose_PRIVATE_RFC_1918 :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_PRIVATE_RFC_1918 = Subnetwork_Purpose "PRIVATE_RFC_1918"
  
  -- | Subnetworks created for Private Service Connect in the producer network.
  pattern Subnetwork_Purpose_PRIVATESERVICECONNECT :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_PRIVATESERVICECONNECT = Subnetwork_Purpose "PRIVATE_SERVICE_CONNECT"
  
  -- | Subnetwork used for Regional Envoy-based Load Balancing.
  pattern Subnetwork_Purpose_REGIONALMANAGEDPROXY :: Subnetwork_Purpose
  pattern Subnetwork_Purpose_REGIONALMANAGEDPROXY = Subnetwork_Purpose "REGIONAL_MANAGED_PROXY"
  
  {-# COMPLETE
    Subnetwork_Purpose_GLOBALMANAGEDPROXY,
    Subnetwork_Purpose_INTERNALHTTPSLOADBALANCER,
    Subnetwork_Purpose_PEERMIGRATION,
    Subnetwork_Purpose_Private,
    Subnetwork_Purpose_PRIVATENAT,
    Subnetwork_Purpose_PRIVATE_RFC_1918,
    Subnetwork_Purpose_PRIVATESERVICECONNECT,
    Subnetwork_Purpose_REGIONALMANAGEDPROXY,
    Subnetwork_Purpose
    #-}
  
  -- | The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  newtype Subnetwork_Role = Subnetwork_Role {fromSubnetwork_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
      )
  
  -- | The ACTIVE subnet that is currently used.
  pattern Subnetwork_Role_Active :: Subnetwork_Role
  pattern Subnetwork_Role_Active = Subnetwork_Role "ACTIVE"
  
  -- | The BACKUP subnet that could be promoted to ACTIVE.
  pattern Subnetwork_Role_Backup :: Subnetwork_Role
  pattern Subnetwork_Role_Backup = Subnetwork_Role "BACKUP"
  
  {-# COMPLETE
    Subnetwork_Role_Active,
    Subnetwork_Role_Backup,
    Subnetwork_Role
    #-}
  
  -- | The stack type for the subnet. If set to IPV4/ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4/IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  newtype Subnetwork_StackType = Subnetwork_StackType {fromSubnetwork_StackType :: 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
      )
  
  -- | New VMs in this subnet can have both IPv4 and IPv6 addresses.
  pattern Subnetwork_StackType_IPV4_IPV6 :: Subnetwork_StackType
  pattern Subnetwork_StackType_IPV4_IPV6 = Subnetwork_StackType "IPV4_IPV6"
  
  -- | New VMs in this subnet will only be assigned IPv4 addresses.
  pattern Subnetwork_StackType_IPV4ONLY :: Subnetwork_StackType
  pattern Subnetwork_StackType_IPV4ONLY = Subnetwork_StackType "IPV4_ONLY"
  
  -- | New VMs in this subnet will only be assigned IPv6 addresses.
  pattern Subnetwork_StackType_IPV6ONLY :: Subnetwork_StackType
  pattern Subnetwork_StackType_IPV6ONLY = Subnetwork_StackType "IPV6_ONLY"
  
  {-# COMPLETE
    Subnetwork_StackType_IPV4_IPV6,
    Subnetwork_StackType_IPV4ONLY,
    Subnetwork_StackType_IPV6ONLY,
    Subnetwork_StackType
    #-}
  
  -- | [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL/HTTPS/LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY
  newtype Subnetwork_State = Subnetwork_State {fromSubnetwork_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
      )
  
  -- | Subnetwork is being drained.
  pattern Subnetwork_State_Draining :: Subnetwork_State
  pattern Subnetwork_State_Draining = Subnetwork_State "DRAINING"
  
  -- | Subnetwork is ready for use.
  pattern Subnetwork_State_Ready :: Subnetwork_State
  pattern Subnetwork_State_Ready = Subnetwork_State "READY"
  
  {-# COMPLETE
    Subnetwork_State_Draining,
    Subnetwork_State_Ready,
    Subnetwork_State
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SubnetworkAggregatedList_Warning_Code = SubnetworkAggregatedList_Warning_Code {fromSubnetworkAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SubnetworkAggregatedList_Warning_Code_CLEANUPFAILED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_CLEANUPFAILED = SubnetworkAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SubnetworkAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = SubnetworkAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SubnetworkAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = SubnetworkAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SubnetworkAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SubnetworkAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SubnetworkAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = SubnetworkAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SubnetworkAggregatedList_Warning_Code_EXTERNALAPIWARNING :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_EXTERNALAPIWARNING = SubnetworkAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SubnetworkAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = SubnetworkAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SubnetworkAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SubnetworkAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SubnetworkAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SubnetworkAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SubnetworkAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = SubnetworkAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SubnetworkAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SubnetworkAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SubnetworkAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = SubnetworkAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = SubnetworkAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SubnetworkAggregatedList_Warning_Code_NOTCRITICALERROR :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NOTCRITICALERROR = SubnetworkAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SubnetworkAggregatedList_Warning_Code_NORESULTSONPAGE :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_NORESULTSONPAGE = SubnetworkAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SubnetworkAggregatedList_Warning_Code_PARTIALSUCCESS :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_PARTIALSUCCESS = SubnetworkAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SubnetworkAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = SubnetworkAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SubnetworkAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = SubnetworkAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SubnetworkAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SubnetworkAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SubnetworkAggregatedList_Warning_Code_RESOURCENOTDELETED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_RESOURCENOTDELETED = SubnetworkAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SubnetworkAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SubnetworkAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SubnetworkAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SubnetworkAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SubnetworkAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = SubnetworkAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SubnetworkAggregatedList_Warning_Code_Unreachable :: SubnetworkAggregatedList_Warning_Code
  pattern SubnetworkAggregatedList_Warning_Code_Unreachable = SubnetworkAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SubnetworkAggregatedList_Warning_Code_CLEANUPFAILED,
    SubnetworkAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SubnetworkAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    SubnetworkAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SubnetworkAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SubnetworkAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    SubnetworkAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SubnetworkAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SubnetworkAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SubnetworkAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SubnetworkAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SubnetworkAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SubnetworkAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    SubnetworkAggregatedList_Warning_Code_NOTCRITICALERROR,
    SubnetworkAggregatedList_Warning_Code_NORESULTSONPAGE,
    SubnetworkAggregatedList_Warning_Code_PARTIALSUCCESS,
    SubnetworkAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SubnetworkAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SubnetworkAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SubnetworkAggregatedList_Warning_Code_RESOURCENOTDELETED,
    SubnetworkAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SubnetworkAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SubnetworkAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    SubnetworkAggregatedList_Warning_Code_Unreachable,
    SubnetworkAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SubnetworkList_Warning_Code = SubnetworkList_Warning_Code {fromSubnetworkList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SubnetworkList_Warning_Code_CLEANUPFAILED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_CLEANUPFAILED = SubnetworkList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SubnetworkList_Warning_Code_DEPRECATEDRESOURCEUSED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_DEPRECATEDRESOURCEUSED = SubnetworkList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SubnetworkList_Warning_Code_DEPRECATEDTYPEUSED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_DEPRECATEDTYPEUSED = SubnetworkList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SubnetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SubnetworkList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SubnetworkList_Warning_Code_EXPERIMENTALTYPEUSED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_EXPERIMENTALTYPEUSED = SubnetworkList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SubnetworkList_Warning_Code_EXTERNALAPIWARNING :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_EXTERNALAPIWARNING = SubnetworkList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SubnetworkList_Warning_Code_FIELDVALUEOVERRIDEN :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_FIELDVALUEOVERRIDEN = SubnetworkList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SubnetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED = SubnetworkList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SubnetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SubnetworkList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SubnetworkList_Warning_Code_LARGEDEPLOYMENTWARNING :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_LARGEDEPLOYMENTWARNING = SubnetworkList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SubnetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SubnetworkList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SubnetworkList_Warning_Code_MISSINGTYPEDEPENDENCY :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_MISSINGTYPEDEPENDENCY = SubnetworkList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SubnetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SubnetworkList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SubnetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SubnetworkList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SubnetworkList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SubnetworkList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SubnetworkList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SubnetworkList_Warning_Code_NEXTHOPNOTRUNNING :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NEXTHOPNOTRUNNING = SubnetworkList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SubnetworkList_Warning_Code_NOTCRITICALERROR :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NOTCRITICALERROR = SubnetworkList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SubnetworkList_Warning_Code_NORESULTSONPAGE :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_NORESULTSONPAGE = SubnetworkList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SubnetworkList_Warning_Code_PARTIALSUCCESS :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_PARTIALSUCCESS = SubnetworkList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SubnetworkList_Warning_Code_QUOTAINFOUNAVAILABLE :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_QUOTAINFOUNAVAILABLE = SubnetworkList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SubnetworkList_Warning_Code_REQUIREDTOSAGREEMENT :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_REQUIREDTOSAGREEMENT = SubnetworkList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SubnetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SubnetworkList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SubnetworkList_Warning_Code_RESOURCENOTDELETED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_RESOURCENOTDELETED = SubnetworkList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SubnetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED = SubnetworkList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SubnetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SubnetworkList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SubnetworkList_Warning_Code_UNDECLAREDPROPERTIES :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_UNDECLAREDPROPERTIES = SubnetworkList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SubnetworkList_Warning_Code_Unreachable :: SubnetworkList_Warning_Code
  pattern SubnetworkList_Warning_Code_Unreachable = SubnetworkList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SubnetworkList_Warning_Code_CLEANUPFAILED,
    SubnetworkList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SubnetworkList_Warning_Code_DEPRECATEDTYPEUSED,
    SubnetworkList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SubnetworkList_Warning_Code_EXPERIMENTALTYPEUSED,
    SubnetworkList_Warning_Code_EXTERNALAPIWARNING,
    SubnetworkList_Warning_Code_FIELDVALUEOVERRIDEN,
    SubnetworkList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SubnetworkList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SubnetworkList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SubnetworkList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SubnetworkList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SubnetworkList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SubnetworkList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SubnetworkList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SubnetworkList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SubnetworkList_Warning_Code_NEXTHOPNOTRUNNING,
    SubnetworkList_Warning_Code_NOTCRITICALERROR,
    SubnetworkList_Warning_Code_NORESULTSONPAGE,
    SubnetworkList_Warning_Code_PARTIALSUCCESS,
    SubnetworkList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SubnetworkList_Warning_Code_REQUIREDTOSAGREEMENT,
    SubnetworkList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SubnetworkList_Warning_Code_RESOURCENOTDELETED,
    SubnetworkList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SubnetworkList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SubnetworkList_Warning_Code_UNDECLAREDPROPERTIES,
    SubnetworkList_Warning_Code_Unreachable,
    SubnetworkList_Warning_Code
    #-}
  
  -- | Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.
  newtype SubnetworkLogConfig_AggregationInterval = SubnetworkLogConfig_AggregationInterval {fromSubnetworkLogConfig_AggregationInterval :: 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
      )
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL10MIN :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL10MIN = SubnetworkLogConfig_AggregationInterval "INTERVAL_10_MIN"
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL15MIN :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL15MIN = SubnetworkLogConfig_AggregationInterval "INTERVAL_15_MIN"
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL1MIN :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL1MIN = SubnetworkLogConfig_AggregationInterval "INTERVAL_1_MIN"
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL30SEC :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL30SEC = SubnetworkLogConfig_AggregationInterval "INTERVAL_30_SEC"
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL5MIN :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL5MIN = SubnetworkLogConfig_AggregationInterval "INTERVAL_5_MIN"
  
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL5SEC :: SubnetworkLogConfig_AggregationInterval
  pattern SubnetworkLogConfig_AggregationInterval_INTERVAL5SEC = SubnetworkLogConfig_AggregationInterval "INTERVAL_5_SEC"
  
  {-# COMPLETE
    SubnetworkLogConfig_AggregationInterval_INTERVAL10MIN,
    SubnetworkLogConfig_AggregationInterval_INTERVAL15MIN,
    SubnetworkLogConfig_AggregationInterval_INTERVAL1MIN,
    SubnetworkLogConfig_AggregationInterval_INTERVAL30SEC,
    SubnetworkLogConfig_AggregationInterval_INTERVAL5MIN,
    SubnetworkLogConfig_AggregationInterval_INTERVAL5SEC,
    SubnetworkLogConfig_AggregationInterval
    #-}
  
  -- | Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE/ALL/METADATA.
  newtype SubnetworkLogConfig_Metadata = SubnetworkLogConfig_Metadata {fromSubnetworkLogConfig_Metadata :: 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
      )
  
  pattern SubnetworkLogConfig_Metadata_CUSTOMMETADATA :: SubnetworkLogConfig_Metadata
  pattern SubnetworkLogConfig_Metadata_CUSTOMMETADATA = SubnetworkLogConfig_Metadata "CUSTOM_METADATA"
  
  pattern SubnetworkLogConfig_Metadata_EXCLUDEALLMETADATA :: SubnetworkLogConfig_Metadata
  pattern SubnetworkLogConfig_Metadata_EXCLUDEALLMETADATA = SubnetworkLogConfig_Metadata "EXCLUDE_ALL_METADATA"
  
  pattern SubnetworkLogConfig_Metadata_INCLUDEALLMETADATA :: SubnetworkLogConfig_Metadata
  pattern SubnetworkLogConfig_Metadata_INCLUDEALLMETADATA = SubnetworkLogConfig_Metadata "INCLUDE_ALL_METADATA"
  
  {-# COMPLETE
    SubnetworkLogConfig_Metadata_CUSTOMMETADATA,
    SubnetworkLogConfig_Metadata_EXCLUDEALLMETADATA,
    SubnetworkLogConfig_Metadata_INCLUDEALLMETADATA,
    SubnetworkLogConfig_Metadata
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype SubnetworksScopedList_Warning_Code = SubnetworksScopedList_Warning_Code {fromSubnetworksScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern SubnetworksScopedList_Warning_Code_CLEANUPFAILED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_CLEANUPFAILED = SubnetworksScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern SubnetworksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = SubnetworksScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern SubnetworksScopedList_Warning_Code_DEPRECATEDTYPEUSED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_DEPRECATEDTYPEUSED = SubnetworksScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern SubnetworksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = SubnetworksScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern SubnetworksScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_EXPERIMENTALTYPEUSED = SubnetworksScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern SubnetworksScopedList_Warning_Code_EXTERNALAPIWARNING :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_EXTERNALAPIWARNING = SubnetworksScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern SubnetworksScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_FIELDVALUEOVERRIDEN = SubnetworksScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern SubnetworksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = SubnetworksScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern SubnetworksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = SubnetworksScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern SubnetworksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = SubnetworksScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern SubnetworksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = SubnetworksScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern SubnetworksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = SubnetworksScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = SubnetworksScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = SubnetworksScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = SubnetworksScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = SubnetworksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = SubnetworksScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPNOTRUNNING :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NEXTHOPNOTRUNNING = SubnetworksScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern SubnetworksScopedList_Warning_Code_NOTCRITICALERROR :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NOTCRITICALERROR = SubnetworksScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern SubnetworksScopedList_Warning_Code_NORESULTSONPAGE :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_NORESULTSONPAGE = SubnetworksScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern SubnetworksScopedList_Warning_Code_PARTIALSUCCESS :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_PARTIALSUCCESS = SubnetworksScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern SubnetworksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = SubnetworksScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern SubnetworksScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_REQUIREDTOSAGREEMENT = SubnetworksScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern SubnetworksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = SubnetworksScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern SubnetworksScopedList_Warning_Code_RESOURCENOTDELETED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_RESOURCENOTDELETED = SubnetworksScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern SubnetworksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = SubnetworksScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern SubnetworksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = SubnetworksScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern SubnetworksScopedList_Warning_Code_UNDECLAREDPROPERTIES :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_UNDECLAREDPROPERTIES = SubnetworksScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern SubnetworksScopedList_Warning_Code_Unreachable :: SubnetworksScopedList_Warning_Code
  pattern SubnetworksScopedList_Warning_Code_Unreachable = SubnetworksScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    SubnetworksScopedList_Warning_Code_CLEANUPFAILED,
    SubnetworksScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    SubnetworksScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    SubnetworksScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    SubnetworksScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    SubnetworksScopedList_Warning_Code_EXTERNALAPIWARNING,
    SubnetworksScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    SubnetworksScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    SubnetworksScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    SubnetworksScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    SubnetworksScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    SubnetworksScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    SubnetworksScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    SubnetworksScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    SubnetworksScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    SubnetworksScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    SubnetworksScopedList_Warning_Code_NOTCRITICALERROR,
    SubnetworksScopedList_Warning_Code_NORESULTSONPAGE,
    SubnetworksScopedList_Warning_Code_PARTIALSUCCESS,
    SubnetworksScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    SubnetworksScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    SubnetworksScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    SubnetworksScopedList_Warning_Code_RESOURCENOTDELETED,
    SubnetworksScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    SubnetworksScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    SubnetworksScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    SubnetworksScopedList_Warning_Code_Unreachable,
    SubnetworksScopedList_Warning_Code
    #-}
  
  newtype Subsetting_Policy = Subsetting_Policy {fromSubsetting_Policy :: 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
      )
  
  -- | Subsetting based on consistent hashing. For Traffic Director, the number of backends per backend group (the subset size) is based on the @subset_size@ parameter. For Internal HTTP(S) load balancing, the number of backends per backend group (the subset size) is dynamically adjusted in two cases: - As the number of proxy instances participating in Internal HTTP(S) load balancing increases, the subset size decreases. - When the total number of backends in a network exceeds the capacity of a single proxy instance, subset sizes are reduced automatically for each service that has backend subsetting enabled.
  pattern Subsetting_Policy_CONSISTENTHASHSUBSETTING :: Subsetting_Policy
  pattern Subsetting_Policy_CONSISTENTHASHSUBSETTING = Subsetting_Policy "CONSISTENT_HASH_SUBSETTING"
  
  -- | No Subsetting. Clients may open connections and send traffic to all backends of this backend service. This can lead to performance issues if there is substantial imbalance in the count of clients and backends.
  pattern Subsetting_Policy_None :: Subsetting_Policy
  pattern Subsetting_Policy_None = Subsetting_Policy "NONE"
  
  {-# COMPLETE
    Subsetting_Policy_CONSISTENTHASHSUBSETTING,
    Subsetting_Policy_None,
    Subsetting_Policy
    #-}
  
  -- | Specifies how a port is selected for health checking. Can be one of the following values: USE/FIXED/PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE/VM/IP network endpoint groups, GCE/VM/IP/PORT network endpoint groups, and instance group backends. USE/NAMED/PORT: Not supported. USE/SERVING/PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE/VM/IP/PORT network endpoint groups and instance group backends. For GCE/VM/IP_PORT network
  -- endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service\'s named port in the instance group\'s list of named ports.
  newtype TCPHealthCheck_PortSpecification = TCPHealthCheck_PortSpecification {fromTCPHealthCheck_PortSpecification :: 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 port number in the health check\'s port is used for health checking. Applies to network endpoint group and instance group backends.
  pattern TCPHealthCheck_PortSpecification_USEFIXEDPORT :: TCPHealthCheck_PortSpecification
  pattern TCPHealthCheck_PortSpecification_USEFIXEDPORT = TCPHealthCheck_PortSpecification "USE_FIXED_PORT"
  
  -- | Not supported.
  pattern TCPHealthCheck_PortSpecification_USENAMEDPORT :: TCPHealthCheck_PortSpecification
  pattern TCPHealthCheck_PortSpecification_USENAMEDPORT = TCPHealthCheck_PortSpecification "USE_NAMED_PORT"
  
  -- | For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service\'s named port defined in the instance group\'s named ports.
  pattern TCPHealthCheck_PortSpecification_USESERVINGPORT :: TCPHealthCheck_PortSpecification
  pattern TCPHealthCheck_PortSpecification_USESERVINGPORT = TCPHealthCheck_PortSpecification "USE_SERVING_PORT"
  
  {-# COMPLETE
    TCPHealthCheck_PortSpecification_USEFIXEDPORT,
    TCPHealthCheck_PortSpecification_USENAMEDPORT,
    TCPHealthCheck_PortSpecification_USESERVINGPORT,
    TCPHealthCheck_PortSpecification
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype TCPHealthCheck_ProxyHeader = TCPHealthCheck_ProxyHeader {fromTCPHealthCheck_ProxyHeader :: 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
      )
  
  pattern TCPHealthCheck_ProxyHeader_None :: TCPHealthCheck_ProxyHeader
  pattern TCPHealthCheck_ProxyHeader_None = TCPHealthCheck_ProxyHeader "NONE"
  
  pattern TCPHealthCheck_ProxyHeader_PROXY_V1 :: TCPHealthCheck_ProxyHeader
  pattern TCPHealthCheck_ProxyHeader_PROXY_V1 = TCPHealthCheck_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    TCPHealthCheck_ProxyHeader_None,
    TCPHealthCheck_ProxyHeader_PROXY_V1,
    TCPHealthCheck_ProxyHeader
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetGrpcProxyList_Warning_Code = TargetGrpcProxyList_Warning_Code {fromTargetGrpcProxyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetGrpcProxyList_Warning_Code_CLEANUPFAILED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_CLEANUPFAILED = TargetGrpcProxyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetGrpcProxyList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetGrpcProxyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetGrpcProxyList_Warning_Code_DEPRECATEDTYPEUSED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_DEPRECATEDTYPEUSED = TargetGrpcProxyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetGrpcProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetGrpcProxyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetGrpcProxyList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_EXPERIMENTALTYPEUSED = TargetGrpcProxyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetGrpcProxyList_Warning_Code_EXTERNALAPIWARNING :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_EXTERNALAPIWARNING = TargetGrpcProxyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetGrpcProxyList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_FIELDVALUEOVERRIDEN = TargetGrpcProxyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetGrpcProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetGrpcProxyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetGrpcProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetGrpcProxyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetGrpcProxyList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetGrpcProxyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetGrpcProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetGrpcProxyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetGrpcProxyList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetGrpcProxyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetGrpcProxyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetGrpcProxyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetGrpcProxyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetGrpcProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetGrpcProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPNOTRUNNING :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NEXTHOPNOTRUNNING = TargetGrpcProxyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetGrpcProxyList_Warning_Code_NOTCRITICALERROR :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NOTCRITICALERROR = TargetGrpcProxyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetGrpcProxyList_Warning_Code_NORESULTSONPAGE :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_NORESULTSONPAGE = TargetGrpcProxyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetGrpcProxyList_Warning_Code_PARTIALSUCCESS :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_PARTIALSUCCESS = TargetGrpcProxyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetGrpcProxyList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetGrpcProxyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetGrpcProxyList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_REQUIREDTOSAGREEMENT = TargetGrpcProxyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetGrpcProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetGrpcProxyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetGrpcProxyList_Warning_Code_RESOURCENOTDELETED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_RESOURCENOTDELETED = TargetGrpcProxyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetGrpcProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetGrpcProxyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetGrpcProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetGrpcProxyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetGrpcProxyList_Warning_Code_UNDECLAREDPROPERTIES :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_UNDECLAREDPROPERTIES = TargetGrpcProxyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetGrpcProxyList_Warning_Code_Unreachable :: TargetGrpcProxyList_Warning_Code
  pattern TargetGrpcProxyList_Warning_Code_Unreachable = TargetGrpcProxyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetGrpcProxyList_Warning_Code_CLEANUPFAILED,
    TargetGrpcProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetGrpcProxyList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetGrpcProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetGrpcProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetGrpcProxyList_Warning_Code_EXTERNALAPIWARNING,
    TargetGrpcProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetGrpcProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetGrpcProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetGrpcProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetGrpcProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetGrpcProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetGrpcProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetGrpcProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetGrpcProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetGrpcProxyList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetGrpcProxyList_Warning_Code_NOTCRITICALERROR,
    TargetGrpcProxyList_Warning_Code_NORESULTSONPAGE,
    TargetGrpcProxyList_Warning_Code_PARTIALSUCCESS,
    TargetGrpcProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetGrpcProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetGrpcProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetGrpcProxyList_Warning_Code_RESOURCENOTDELETED,
    TargetGrpcProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetGrpcProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetGrpcProxyList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetGrpcProxyList_Warning_Code_Unreachable,
    TargetGrpcProxyList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetHttpProxiesScopedList_Warning_Code = TargetHttpProxiesScopedList_Warning_Code {fromTargetHttpProxiesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetHttpProxiesScopedList_Warning_Code_CLEANUPFAILED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_CLEANUPFAILED = TargetHttpProxiesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetHttpProxiesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetHttpProxiesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetHttpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetHttpProxiesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetHttpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetHttpProxiesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetHttpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING = TargetHttpProxiesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetHttpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetHttpProxiesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetHttpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetHttpProxiesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetHttpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetHttpProxiesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetHttpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetHttpProxiesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetHttpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetHttpProxiesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetHttpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetHttpProxiesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetHttpProxiesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetHttpProxiesScopedList_Warning_Code_NOTCRITICALERROR :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NOTCRITICALERROR = TargetHttpProxiesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetHttpProxiesScopedList_Warning_Code_NORESULTSONPAGE :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_NORESULTSONPAGE = TargetHttpProxiesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetHttpProxiesScopedList_Warning_Code_PARTIALSUCCESS :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_PARTIALSUCCESS = TargetHttpProxiesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetHttpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetHttpProxiesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetHttpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetHttpProxiesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetHttpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetHttpProxiesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetHttpProxiesScopedList_Warning_Code_RESOURCENOTDELETED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_RESOURCENOTDELETED = TargetHttpProxiesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetHttpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetHttpProxiesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetHttpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetHttpProxiesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetHttpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetHttpProxiesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetHttpProxiesScopedList_Warning_Code_Unreachable :: TargetHttpProxiesScopedList_Warning_Code
  pattern TargetHttpProxiesScopedList_Warning_Code_Unreachable = TargetHttpProxiesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetHttpProxiesScopedList_Warning_Code_CLEANUPFAILED,
    TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetHttpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetHttpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetHttpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetHttpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetHttpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetHttpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetHttpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetHttpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetHttpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetHttpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetHttpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetHttpProxiesScopedList_Warning_Code_NOTCRITICALERROR,
    TargetHttpProxiesScopedList_Warning_Code_NORESULTSONPAGE,
    TargetHttpProxiesScopedList_Warning_Code_PARTIALSUCCESS,
    TargetHttpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetHttpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetHttpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetHttpProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetHttpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetHttpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetHttpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetHttpProxiesScopedList_Warning_Code_Unreachable,
    TargetHttpProxiesScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetHttpProxyList_Warning_Code = TargetHttpProxyList_Warning_Code {fromTargetHttpProxyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetHttpProxyList_Warning_Code_CLEANUPFAILED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_CLEANUPFAILED = TargetHttpProxyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetHttpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetHttpProxyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetHttpProxyList_Warning_Code_DEPRECATEDTYPEUSED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_DEPRECATEDTYPEUSED = TargetHttpProxyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetHttpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetHttpProxyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetHttpProxyList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_EXPERIMENTALTYPEUSED = TargetHttpProxyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetHttpProxyList_Warning_Code_EXTERNALAPIWARNING :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_EXTERNALAPIWARNING = TargetHttpProxyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetHttpProxyList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_FIELDVALUEOVERRIDEN = TargetHttpProxyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetHttpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetHttpProxyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetHttpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetHttpProxyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetHttpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetHttpProxyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetHttpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetHttpProxyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetHttpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetHttpProxyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetHttpProxyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetHttpProxyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetHttpProxyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetHttpProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetHttpProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPNOTRUNNING :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NEXTHOPNOTRUNNING = TargetHttpProxyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetHttpProxyList_Warning_Code_NOTCRITICALERROR :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NOTCRITICALERROR = TargetHttpProxyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetHttpProxyList_Warning_Code_NORESULTSONPAGE :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_NORESULTSONPAGE = TargetHttpProxyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetHttpProxyList_Warning_Code_PARTIALSUCCESS :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_PARTIALSUCCESS = TargetHttpProxyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetHttpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetHttpProxyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetHttpProxyList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_REQUIREDTOSAGREEMENT = TargetHttpProxyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetHttpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetHttpProxyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetHttpProxyList_Warning_Code_RESOURCENOTDELETED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_RESOURCENOTDELETED = TargetHttpProxyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetHttpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetHttpProxyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetHttpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetHttpProxyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetHttpProxyList_Warning_Code_UNDECLAREDPROPERTIES :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_UNDECLAREDPROPERTIES = TargetHttpProxyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetHttpProxyList_Warning_Code_Unreachable :: TargetHttpProxyList_Warning_Code
  pattern TargetHttpProxyList_Warning_Code_Unreachable = TargetHttpProxyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetHttpProxyList_Warning_Code_CLEANUPFAILED,
    TargetHttpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetHttpProxyList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetHttpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetHttpProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetHttpProxyList_Warning_Code_EXTERNALAPIWARNING,
    TargetHttpProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetHttpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetHttpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetHttpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetHttpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetHttpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetHttpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetHttpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetHttpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetHttpProxyList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetHttpProxyList_Warning_Code_NOTCRITICALERROR,
    TargetHttpProxyList_Warning_Code_NORESULTSONPAGE,
    TargetHttpProxyList_Warning_Code_PARTIALSUCCESS,
    TargetHttpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetHttpProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetHttpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetHttpProxyList_Warning_Code_RESOURCENOTDELETED,
    TargetHttpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetHttpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetHttpProxyList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetHttpProxyList_Warning_Code_Unreachable,
    TargetHttpProxyList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetHttpsProxiesScopedList_Warning_Code = TargetHttpsProxiesScopedList_Warning_Code {fromTargetHttpsProxiesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetHttpsProxiesScopedList_Warning_Code_CLEANUPFAILED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_CLEANUPFAILED = TargetHttpsProxiesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetHttpsProxiesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetHttpsProxiesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetHttpsProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetHttpsProxiesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetHttpsProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetHttpsProxiesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetHttpsProxiesScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_EXTERNALAPIWARNING = TargetHttpsProxiesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetHttpsProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetHttpsProxiesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetHttpsProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetHttpsProxiesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetHttpsProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetHttpsProxiesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetHttpsProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetHttpsProxiesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetHttpsProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetHttpsProxiesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetHttpsProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetHttpsProxiesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetHttpsProxiesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NOTCRITICALERROR :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NOTCRITICALERROR = TargetHttpsProxiesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetHttpsProxiesScopedList_Warning_Code_NORESULTSONPAGE :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_NORESULTSONPAGE = TargetHttpsProxiesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetHttpsProxiesScopedList_Warning_Code_PARTIALSUCCESS :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_PARTIALSUCCESS = TargetHttpsProxiesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetHttpsProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetHttpsProxiesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetHttpsProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetHttpsProxiesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetHttpsProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetHttpsProxiesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetHttpsProxiesScopedList_Warning_Code_RESOURCENOTDELETED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_RESOURCENOTDELETED = TargetHttpsProxiesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetHttpsProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetHttpsProxiesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetHttpsProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetHttpsProxiesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetHttpsProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetHttpsProxiesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetHttpsProxiesScopedList_Warning_Code_Unreachable :: TargetHttpsProxiesScopedList_Warning_Code
  pattern TargetHttpsProxiesScopedList_Warning_Code_Unreachable = TargetHttpsProxiesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetHttpsProxiesScopedList_Warning_Code_CLEANUPFAILED,
    TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetHttpsProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetHttpsProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetHttpsProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetHttpsProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetHttpsProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetHttpsProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetHttpsProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetHttpsProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetHttpsProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetHttpsProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetHttpsProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetHttpsProxiesScopedList_Warning_Code_NOTCRITICALERROR,
    TargetHttpsProxiesScopedList_Warning_Code_NORESULTSONPAGE,
    TargetHttpsProxiesScopedList_Warning_Code_PARTIALSUCCESS,
    TargetHttpsProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetHttpsProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetHttpsProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetHttpsProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetHttpsProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetHttpsProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetHttpsProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetHttpsProxiesScopedList_Warning_Code_Unreachable,
    TargetHttpsProxiesScopedList_Warning_Code
    #-}
  
  -- | QUIC policy for the TargetHttpsProxy resource.
  newtype TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride = TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride {fromTargetHttpsProxiesSetQuicOverrideRequest_QuicOverride :: 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 load balancer will not attempt to negotiate QUIC with clients.
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Disable :: TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Disable = TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride "DISABLE"
  
  -- | The load balancer will attempt to negotiate QUIC with clients.
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Enable :: TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Enable = TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride "ENABLE"
  
  -- | No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request.
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_None :: TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
  pattern TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_None = TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride "NONE"
  
  {-# COMPLETE
    TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Disable,
    TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_Enable,
    TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride_None,
    TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride
    #-}
  
  -- | Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn\'t use QUIC. - If the quic-override flag is not specified, NONE is implied.
  newtype TargetHttpsProxy_QuicOverride = TargetHttpsProxy_QuicOverride {fromTargetHttpsProxy_QuicOverride :: 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 load balancer will not attempt to negotiate QUIC with clients.
  pattern TargetHttpsProxy_QuicOverride_Disable :: TargetHttpsProxy_QuicOverride
  pattern TargetHttpsProxy_QuicOverride_Disable = TargetHttpsProxy_QuicOverride "DISABLE"
  
  -- | The load balancer will attempt to negotiate QUIC with clients.
  pattern TargetHttpsProxy_QuicOverride_Enable :: TargetHttpsProxy_QuicOverride
  pattern TargetHttpsProxy_QuicOverride_Enable = TargetHttpsProxy_QuicOverride "ENABLE"
  
  -- | No overrides to the default QUIC policy. This option is implicit if no QUIC override has been specified in the request.
  pattern TargetHttpsProxy_QuicOverride_None :: TargetHttpsProxy_QuicOverride
  pattern TargetHttpsProxy_QuicOverride_None = TargetHttpsProxy_QuicOverride "NONE"
  
  {-# COMPLETE
    TargetHttpsProxy_QuicOverride_Disable,
    TargetHttpsProxy_QuicOverride_Enable,
    TargetHttpsProxy_QuicOverride_None,
    TargetHttpsProxy_QuicOverride
    #-}
  
  -- | Specifies whether TLS 1.3 0-RTT Data (\"Early Data\") should be accepted for this service. Early Data allows a TLS resumption handshake to include the initial application payload (a HTTP request) alongside the handshake, reducing the effective round trips to \"zero\". This applies to TLS 1.3 connections over TCP (HTTP\/2) as well as over UDP (QUIC\/h3). This can improve application performance, especially on networks where interruptions may be common, such as on mobile. Requests with Early Data will have the \"Early-Data\" HTTP header set on the request, with a value of \"1\", to allow the backend to determine whether Early Data was included. Note: TLS Early Data may allow requests to be replayed, as the data is sent to the backend before the handshake has fully completed. Applications that allow idempotent HTTP methods to make non-idempotent changes, such as a GET request updating a database, should not accept Early Data on those requests, and reject requests with the \"Early-Data: 1\" HTTP header by
  -- returning a HTTP 425 (Too Early) status code, in order to remain RFC compliant. The default value is DISABLED.
  newtype TargetHttpsProxy_TlsEarlyData = TargetHttpsProxy_TlsEarlyData {fromTargetHttpsProxy_TlsEarlyData :: 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
      )
  
  -- | TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.
  pattern TargetHttpsProxy_TlsEarlyData_Disabled :: TargetHttpsProxy_TlsEarlyData
  pattern TargetHttpsProxy_TlsEarlyData_Disabled = TargetHttpsProxy_TlsEarlyData "DISABLED"
  
  -- | This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.
  pattern TargetHttpsProxy_TlsEarlyData_Permissive :: TargetHttpsProxy_TlsEarlyData
  pattern TargetHttpsProxy_TlsEarlyData_Permissive = TargetHttpsProxy_TlsEarlyData "PERMISSIVE"
  
  -- | This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.
  pattern TargetHttpsProxy_TlsEarlyData_Strict :: TargetHttpsProxy_TlsEarlyData
  pattern TargetHttpsProxy_TlsEarlyData_Strict = TargetHttpsProxy_TlsEarlyData "STRICT"
  
  -- | This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms.
  pattern TargetHttpsProxy_TlsEarlyData_Unrestricted :: TargetHttpsProxy_TlsEarlyData
  pattern TargetHttpsProxy_TlsEarlyData_Unrestricted = TargetHttpsProxy_TlsEarlyData "UNRESTRICTED"
  
  {-# COMPLETE
    TargetHttpsProxy_TlsEarlyData_Disabled,
    TargetHttpsProxy_TlsEarlyData_Permissive,
    TargetHttpsProxy_TlsEarlyData_Strict,
    TargetHttpsProxy_TlsEarlyData_Unrestricted,
    TargetHttpsProxy_TlsEarlyData
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetHttpsProxyAggregatedList_Warning_Code = TargetHttpsProxyAggregatedList_Warning_Code {fromTargetHttpsProxyAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_CLEANUPFAILED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_CLEANUPFAILED = TargetHttpsProxyAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetHttpsProxyAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = TargetHttpsProxyAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetHttpsProxyAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetHttpsProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetHttpsProxyAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetHttpsProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING = TargetHttpsProxyAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetHttpsProxyAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetHttpsProxyAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetHttpsProxyAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetHttpsProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetHttpsProxyAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetHttpsProxyAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetHttpsProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetHttpsProxyAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = TargetHttpsProxyAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NOTCRITICALERROR :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NOTCRITICALERROR = TargetHttpsProxyAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NORESULTSONPAGE :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_NORESULTSONPAGE = TargetHttpsProxyAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetHttpsProxyAggregatedList_Warning_Code_PARTIALSUCCESS :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_PARTIALSUCCESS = TargetHttpsProxyAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetHttpsProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetHttpsProxyAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetHttpsProxyAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetHttpsProxyAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_RESOURCENOTDELETED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_RESOURCENOTDELETED = TargetHttpsProxyAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetHttpsProxyAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetHttpsProxyAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetHttpsProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = TargetHttpsProxyAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetHttpsProxyAggregatedList_Warning_Code_Unreachable :: TargetHttpsProxyAggregatedList_Warning_Code
  pattern TargetHttpsProxyAggregatedList_Warning_Code_Unreachable = TargetHttpsProxyAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetHttpsProxyAggregatedList_Warning_Code_CLEANUPFAILED,
    TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetHttpsProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetHttpsProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetHttpsProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetHttpsProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    TargetHttpsProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetHttpsProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetHttpsProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetHttpsProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetHttpsProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetHttpsProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetHttpsProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetHttpsProxyAggregatedList_Warning_Code_NOTCRITICALERROR,
    TargetHttpsProxyAggregatedList_Warning_Code_NORESULTSONPAGE,
    TargetHttpsProxyAggregatedList_Warning_Code_PARTIALSUCCESS,
    TargetHttpsProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetHttpsProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetHttpsProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetHttpsProxyAggregatedList_Warning_Code_RESOURCENOTDELETED,
    TargetHttpsProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetHttpsProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetHttpsProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetHttpsProxyAggregatedList_Warning_Code_Unreachable,
    TargetHttpsProxyAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetHttpsProxyList_Warning_Code = TargetHttpsProxyList_Warning_Code {fromTargetHttpsProxyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetHttpsProxyList_Warning_Code_CLEANUPFAILED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_CLEANUPFAILED = TargetHttpsProxyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetHttpsProxyList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetHttpsProxyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetHttpsProxyList_Warning_Code_DEPRECATEDTYPEUSED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_DEPRECATEDTYPEUSED = TargetHttpsProxyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetHttpsProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetHttpsProxyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetHttpsProxyList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_EXPERIMENTALTYPEUSED = TargetHttpsProxyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetHttpsProxyList_Warning_Code_EXTERNALAPIWARNING :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_EXTERNALAPIWARNING = TargetHttpsProxyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetHttpsProxyList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_FIELDVALUEOVERRIDEN = TargetHttpsProxyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetHttpsProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetHttpsProxyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetHttpsProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetHttpsProxyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetHttpsProxyList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetHttpsProxyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetHttpsProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetHttpsProxyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetHttpsProxyList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetHttpsProxyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetHttpsProxyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetHttpsProxyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetHttpsProxyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetHttpsProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetHttpsProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPNOTRUNNING :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NEXTHOPNOTRUNNING = TargetHttpsProxyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetHttpsProxyList_Warning_Code_NOTCRITICALERROR :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NOTCRITICALERROR = TargetHttpsProxyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetHttpsProxyList_Warning_Code_NORESULTSONPAGE :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_NORESULTSONPAGE = TargetHttpsProxyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetHttpsProxyList_Warning_Code_PARTIALSUCCESS :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_PARTIALSUCCESS = TargetHttpsProxyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetHttpsProxyList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetHttpsProxyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetHttpsProxyList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_REQUIREDTOSAGREEMENT = TargetHttpsProxyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetHttpsProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetHttpsProxyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetHttpsProxyList_Warning_Code_RESOURCENOTDELETED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_RESOURCENOTDELETED = TargetHttpsProxyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetHttpsProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetHttpsProxyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetHttpsProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetHttpsProxyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetHttpsProxyList_Warning_Code_UNDECLAREDPROPERTIES :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_UNDECLAREDPROPERTIES = TargetHttpsProxyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetHttpsProxyList_Warning_Code_Unreachable :: TargetHttpsProxyList_Warning_Code
  pattern TargetHttpsProxyList_Warning_Code_Unreachable = TargetHttpsProxyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetHttpsProxyList_Warning_Code_CLEANUPFAILED,
    TargetHttpsProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetHttpsProxyList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetHttpsProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetHttpsProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetHttpsProxyList_Warning_Code_EXTERNALAPIWARNING,
    TargetHttpsProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetHttpsProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetHttpsProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetHttpsProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetHttpsProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetHttpsProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetHttpsProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetHttpsProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetHttpsProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetHttpsProxyList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetHttpsProxyList_Warning_Code_NOTCRITICALERROR,
    TargetHttpsProxyList_Warning_Code_NORESULTSONPAGE,
    TargetHttpsProxyList_Warning_Code_PARTIALSUCCESS,
    TargetHttpsProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetHttpsProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetHttpsProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetHttpsProxyList_Warning_Code_RESOURCENOTDELETED,
    TargetHttpsProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetHttpsProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetHttpsProxyList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetHttpsProxyList_Warning_Code_Unreachable,
    TargetHttpsProxyList_Warning_Code
    #-}
  
  -- | Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance.
  newtype TargetInstance_NatPolicy = TargetInstance_NatPolicy {fromTargetInstance_NatPolicy :: 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
      )
  
  -- | No NAT performed.
  pattern TargetInstance_NatPolicy_NONAT :: TargetInstance_NatPolicy
  pattern TargetInstance_NatPolicy_NONAT = TargetInstance_NatPolicy "NO_NAT"
  
  {-# COMPLETE
    TargetInstance_NatPolicy_NONAT,
    TargetInstance_NatPolicy
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetInstanceAggregatedList_Warning_Code = TargetInstanceAggregatedList_Warning_Code {fromTargetInstanceAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetInstanceAggregatedList_Warning_Code_CLEANUPFAILED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_CLEANUPFAILED = TargetInstanceAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetInstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetInstanceAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetInstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = TargetInstanceAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetInstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetInstanceAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetInstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetInstanceAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetInstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING = TargetInstanceAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetInstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetInstanceAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetInstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetInstanceAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetInstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetInstanceAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetInstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetInstanceAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetInstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetInstanceAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetInstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetInstanceAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = TargetInstanceAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetInstanceAggregatedList_Warning_Code_NOTCRITICALERROR :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NOTCRITICALERROR = TargetInstanceAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetInstanceAggregatedList_Warning_Code_NORESULTSONPAGE :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_NORESULTSONPAGE = TargetInstanceAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetInstanceAggregatedList_Warning_Code_PARTIALSUCCESS :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_PARTIALSUCCESS = TargetInstanceAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetInstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetInstanceAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetInstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetInstanceAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetInstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetInstanceAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetInstanceAggregatedList_Warning_Code_RESOURCENOTDELETED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_RESOURCENOTDELETED = TargetInstanceAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetInstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetInstanceAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetInstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetInstanceAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetInstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = TargetInstanceAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetInstanceAggregatedList_Warning_Code_Unreachable :: TargetInstanceAggregatedList_Warning_Code
  pattern TargetInstanceAggregatedList_Warning_Code_Unreachable = TargetInstanceAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetInstanceAggregatedList_Warning_Code_CLEANUPFAILED,
    TargetInstanceAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetInstanceAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetInstanceAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetInstanceAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetInstanceAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    TargetInstanceAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetInstanceAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetInstanceAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetInstanceAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetInstanceAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetInstanceAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetInstanceAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetInstanceAggregatedList_Warning_Code_NOTCRITICALERROR,
    TargetInstanceAggregatedList_Warning_Code_NORESULTSONPAGE,
    TargetInstanceAggregatedList_Warning_Code_PARTIALSUCCESS,
    TargetInstanceAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetInstanceAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetInstanceAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetInstanceAggregatedList_Warning_Code_RESOURCENOTDELETED,
    TargetInstanceAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetInstanceAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetInstanceAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetInstanceAggregatedList_Warning_Code_Unreachable,
    TargetInstanceAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetInstanceList_Warning_Code = TargetInstanceList_Warning_Code {fromTargetInstanceList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetInstanceList_Warning_Code_CLEANUPFAILED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_CLEANUPFAILED = TargetInstanceList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetInstanceList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetInstanceList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetInstanceList_Warning_Code_DEPRECATEDTYPEUSED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_DEPRECATEDTYPEUSED = TargetInstanceList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetInstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetInstanceList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetInstanceList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_EXPERIMENTALTYPEUSED = TargetInstanceList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetInstanceList_Warning_Code_EXTERNALAPIWARNING :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_EXTERNALAPIWARNING = TargetInstanceList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetInstanceList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_FIELDVALUEOVERRIDEN = TargetInstanceList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetInstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetInstanceList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetInstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetInstanceList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetInstanceList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetInstanceList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetInstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetInstanceList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetInstanceList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetInstanceList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetInstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetInstanceList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetInstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetInstanceList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetInstanceList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetInstanceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetInstanceList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetInstanceList_Warning_Code_NEXTHOPNOTRUNNING :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NEXTHOPNOTRUNNING = TargetInstanceList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetInstanceList_Warning_Code_NOTCRITICALERROR :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NOTCRITICALERROR = TargetInstanceList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetInstanceList_Warning_Code_NORESULTSONPAGE :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_NORESULTSONPAGE = TargetInstanceList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetInstanceList_Warning_Code_PARTIALSUCCESS :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_PARTIALSUCCESS = TargetInstanceList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetInstanceList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetInstanceList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetInstanceList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_REQUIREDTOSAGREEMENT = TargetInstanceList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetInstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetInstanceList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetInstanceList_Warning_Code_RESOURCENOTDELETED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_RESOURCENOTDELETED = TargetInstanceList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetInstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetInstanceList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetInstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetInstanceList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetInstanceList_Warning_Code_UNDECLAREDPROPERTIES :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_UNDECLAREDPROPERTIES = TargetInstanceList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetInstanceList_Warning_Code_Unreachable :: TargetInstanceList_Warning_Code
  pattern TargetInstanceList_Warning_Code_Unreachable = TargetInstanceList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetInstanceList_Warning_Code_CLEANUPFAILED,
    TargetInstanceList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetInstanceList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetInstanceList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetInstanceList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetInstanceList_Warning_Code_EXTERNALAPIWARNING,
    TargetInstanceList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetInstanceList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetInstanceList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetInstanceList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetInstanceList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetInstanceList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetInstanceList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetInstanceList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetInstanceList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetInstanceList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetInstanceList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetInstanceList_Warning_Code_NOTCRITICALERROR,
    TargetInstanceList_Warning_Code_NORESULTSONPAGE,
    TargetInstanceList_Warning_Code_PARTIALSUCCESS,
    TargetInstanceList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetInstanceList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetInstanceList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetInstanceList_Warning_Code_RESOURCENOTDELETED,
    TargetInstanceList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetInstanceList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetInstanceList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetInstanceList_Warning_Code_Unreachable,
    TargetInstanceList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetInstancesScopedList_Warning_Code = TargetInstancesScopedList_Warning_Code {fromTargetInstancesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetInstancesScopedList_Warning_Code_CLEANUPFAILED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_CLEANUPFAILED = TargetInstancesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetInstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetInstancesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetInstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetInstancesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetInstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetInstancesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetInstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetInstancesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetInstancesScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_EXTERNALAPIWARNING = TargetInstancesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetInstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetInstancesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetInstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetInstancesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetInstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetInstancesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetInstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetInstancesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetInstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetInstancesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetInstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetInstancesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetInstancesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetInstancesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetInstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetInstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetInstancesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetInstancesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetInstancesScopedList_Warning_Code_NOTCRITICALERROR :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NOTCRITICALERROR = TargetInstancesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetInstancesScopedList_Warning_Code_NORESULTSONPAGE :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_NORESULTSONPAGE = TargetInstancesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetInstancesScopedList_Warning_Code_PARTIALSUCCESS :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_PARTIALSUCCESS = TargetInstancesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetInstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetInstancesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetInstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetInstancesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetInstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetInstancesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetInstancesScopedList_Warning_Code_RESOURCENOTDELETED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_RESOURCENOTDELETED = TargetInstancesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetInstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetInstancesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetInstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetInstancesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetInstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetInstancesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetInstancesScopedList_Warning_Code_Unreachable :: TargetInstancesScopedList_Warning_Code
  pattern TargetInstancesScopedList_Warning_Code_Unreachable = TargetInstancesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetInstancesScopedList_Warning_Code_CLEANUPFAILED,
    TargetInstancesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetInstancesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetInstancesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetInstancesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetInstancesScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetInstancesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetInstancesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetInstancesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetInstancesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetInstancesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetInstancesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetInstancesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetInstancesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetInstancesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetInstancesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetInstancesScopedList_Warning_Code_NOTCRITICALERROR,
    TargetInstancesScopedList_Warning_Code_NORESULTSONPAGE,
    TargetInstancesScopedList_Warning_Code_PARTIALSUCCESS,
    TargetInstancesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetInstancesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetInstancesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetInstancesScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetInstancesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetInstancesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetInstancesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetInstancesScopedList_Warning_Code_Unreachable,
    TargetInstancesScopedList_Warning_Code
    #-}
  
  -- | Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT/IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT/IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.
  newtype TargetPool_SessionAffinity = TargetPool_SessionAffinity {fromTargetPool_SessionAffinity :: 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
      )
  
  -- | 2-tuple hash on packet\'s source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.
  pattern TargetPool_SessionAffinity_CLIENTIP :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_CLIENTIP = TargetPool_SessionAffinity "CLIENT_IP"
  
  -- | 1-tuple hash only on packet\'s source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP\/UDP Load Balancing.
  pattern TargetPool_SessionAffinity_CLIENTIPNODESTINATION :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_CLIENTIPNODESTINATION = TargetPool_SessionAffinity "CLIENT_IP_NO_DESTINATION"
  
  -- | 5-tuple hash on packet\'s source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
  pattern TargetPool_SessionAffinity_CLIENTIPPORTPROTO :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_CLIENTIPPORTPROTO = TargetPool_SessionAffinity "CLIENT_IP_PORT_PROTO"
  
  -- | 3-tuple hash on packet\'s source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.
  pattern TargetPool_SessionAffinity_CLIENTIPPROTO :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_CLIENTIPPROTO = TargetPool_SessionAffinity "CLIENT_IP_PROTO"
  
  -- | Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.
  pattern TargetPool_SessionAffinity_GENERATEDCOOKIE :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_GENERATEDCOOKIE = TargetPool_SessionAffinity "GENERATED_COOKIE"
  
  -- | The hash is based on a user specified header field.
  pattern TargetPool_SessionAffinity_HEADERFIELD :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_HEADERFIELD = TargetPool_SessionAffinity "HEADER_FIELD"
  
  -- | The hash is based on a user provided cookie.
  pattern TargetPool_SessionAffinity_HTTPCOOKIE :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_HTTPCOOKIE = TargetPool_SessionAffinity "HTTP_COOKIE"
  
  -- | No session affinity. Connections from the same client IP may go to any instance in the pool.
  pattern TargetPool_SessionAffinity_None :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_None = TargetPool_SessionAffinity "NONE"
  
  -- | Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired.
  pattern TargetPool_SessionAffinity_STRONGCOOKIEAFFINITY :: TargetPool_SessionAffinity
  pattern TargetPool_SessionAffinity_STRONGCOOKIEAFFINITY = TargetPool_SessionAffinity "STRONG_COOKIE_AFFINITY"
  
  {-# COMPLETE
    TargetPool_SessionAffinity_CLIENTIP,
    TargetPool_SessionAffinity_CLIENTIPNODESTINATION,
    TargetPool_SessionAffinity_CLIENTIPPORTPROTO,
    TargetPool_SessionAffinity_CLIENTIPPROTO,
    TargetPool_SessionAffinity_GENERATEDCOOKIE,
    TargetPool_SessionAffinity_HEADERFIELD,
    TargetPool_SessionAffinity_HTTPCOOKIE,
    TargetPool_SessionAffinity_None,
    TargetPool_SessionAffinity_STRONGCOOKIEAFFINITY,
    TargetPool_SessionAffinity
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetPoolAggregatedList_Warning_Code = TargetPoolAggregatedList_Warning_Code {fromTargetPoolAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetPoolAggregatedList_Warning_Code_CLEANUPFAILED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_CLEANUPFAILED = TargetPoolAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetPoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetPoolAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetPoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = TargetPoolAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetPoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetPoolAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetPoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetPoolAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetPoolAggregatedList_Warning_Code_EXTERNALAPIWARNING :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_EXTERNALAPIWARNING = TargetPoolAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetPoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetPoolAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetPoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetPoolAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetPoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetPoolAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetPoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetPoolAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetPoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetPoolAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetPoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetPoolAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = TargetPoolAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetPoolAggregatedList_Warning_Code_NOTCRITICALERROR :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NOTCRITICALERROR = TargetPoolAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetPoolAggregatedList_Warning_Code_NORESULTSONPAGE :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_NORESULTSONPAGE = TargetPoolAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetPoolAggregatedList_Warning_Code_PARTIALSUCCESS :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_PARTIALSUCCESS = TargetPoolAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetPoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetPoolAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetPoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetPoolAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetPoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetPoolAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetPoolAggregatedList_Warning_Code_RESOURCENOTDELETED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_RESOURCENOTDELETED = TargetPoolAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetPoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetPoolAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetPoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetPoolAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetPoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = TargetPoolAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetPoolAggregatedList_Warning_Code_Unreachable :: TargetPoolAggregatedList_Warning_Code
  pattern TargetPoolAggregatedList_Warning_Code_Unreachable = TargetPoolAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetPoolAggregatedList_Warning_Code_CLEANUPFAILED,
    TargetPoolAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetPoolAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetPoolAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetPoolAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetPoolAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    TargetPoolAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetPoolAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetPoolAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetPoolAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetPoolAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetPoolAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetPoolAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetPoolAggregatedList_Warning_Code_NOTCRITICALERROR,
    TargetPoolAggregatedList_Warning_Code_NORESULTSONPAGE,
    TargetPoolAggregatedList_Warning_Code_PARTIALSUCCESS,
    TargetPoolAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetPoolAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetPoolAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetPoolAggregatedList_Warning_Code_RESOURCENOTDELETED,
    TargetPoolAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetPoolAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetPoolAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetPoolAggregatedList_Warning_Code_Unreachable,
    TargetPoolAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetPoolList_Warning_Code = TargetPoolList_Warning_Code {fromTargetPoolList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetPoolList_Warning_Code_CLEANUPFAILED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_CLEANUPFAILED = TargetPoolList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetPoolList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetPoolList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetPoolList_Warning_Code_DEPRECATEDTYPEUSED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_DEPRECATEDTYPEUSED = TargetPoolList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetPoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetPoolList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetPoolList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_EXPERIMENTALTYPEUSED = TargetPoolList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetPoolList_Warning_Code_EXTERNALAPIWARNING :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_EXTERNALAPIWARNING = TargetPoolList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetPoolList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_FIELDVALUEOVERRIDEN = TargetPoolList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetPoolList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetPoolList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetPoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetPoolList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetPoolList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetPoolList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetPoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetPoolList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetPoolList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetPoolList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetPoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetPoolList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetPoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetPoolList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetPoolList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetPoolList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetPoolList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetPoolList_Warning_Code_NEXTHOPNOTRUNNING :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NEXTHOPNOTRUNNING = TargetPoolList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetPoolList_Warning_Code_NOTCRITICALERROR :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NOTCRITICALERROR = TargetPoolList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetPoolList_Warning_Code_NORESULTSONPAGE :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_NORESULTSONPAGE = TargetPoolList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetPoolList_Warning_Code_PARTIALSUCCESS :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_PARTIALSUCCESS = TargetPoolList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetPoolList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetPoolList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetPoolList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_REQUIREDTOSAGREEMENT = TargetPoolList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetPoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetPoolList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetPoolList_Warning_Code_RESOURCENOTDELETED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_RESOURCENOTDELETED = TargetPoolList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetPoolList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetPoolList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetPoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetPoolList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetPoolList_Warning_Code_UNDECLAREDPROPERTIES :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_UNDECLAREDPROPERTIES = TargetPoolList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetPoolList_Warning_Code_Unreachable :: TargetPoolList_Warning_Code
  pattern TargetPoolList_Warning_Code_Unreachable = TargetPoolList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetPoolList_Warning_Code_CLEANUPFAILED,
    TargetPoolList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetPoolList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetPoolList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetPoolList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetPoolList_Warning_Code_EXTERNALAPIWARNING,
    TargetPoolList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetPoolList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetPoolList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetPoolList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetPoolList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetPoolList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetPoolList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetPoolList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetPoolList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetPoolList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetPoolList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetPoolList_Warning_Code_NOTCRITICALERROR,
    TargetPoolList_Warning_Code_NORESULTSONPAGE,
    TargetPoolList_Warning_Code_PARTIALSUCCESS,
    TargetPoolList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetPoolList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetPoolList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetPoolList_Warning_Code_RESOURCENOTDELETED,
    TargetPoolList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetPoolList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetPoolList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetPoolList_Warning_Code_Unreachable,
    TargetPoolList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetPoolsScopedList_Warning_Code = TargetPoolsScopedList_Warning_Code {fromTargetPoolsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetPoolsScopedList_Warning_Code_CLEANUPFAILED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_CLEANUPFAILED = TargetPoolsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetPoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetPoolsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetPoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetPoolsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetPoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetPoolsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetPoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetPoolsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetPoolsScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_EXTERNALAPIWARNING = TargetPoolsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetPoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetPoolsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetPoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetPoolsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetPoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetPoolsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetPoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetPoolsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetPoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetPoolsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetPoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetPoolsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetPoolsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetPoolsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetPoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetPoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetPoolsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetPoolsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetPoolsScopedList_Warning_Code_NOTCRITICALERROR :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NOTCRITICALERROR = TargetPoolsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetPoolsScopedList_Warning_Code_NORESULTSONPAGE :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_NORESULTSONPAGE = TargetPoolsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetPoolsScopedList_Warning_Code_PARTIALSUCCESS :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_PARTIALSUCCESS = TargetPoolsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetPoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetPoolsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetPoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetPoolsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetPoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetPoolsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetPoolsScopedList_Warning_Code_RESOURCENOTDELETED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_RESOURCENOTDELETED = TargetPoolsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetPoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetPoolsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetPoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetPoolsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetPoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetPoolsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetPoolsScopedList_Warning_Code_Unreachable :: TargetPoolsScopedList_Warning_Code
  pattern TargetPoolsScopedList_Warning_Code_Unreachable = TargetPoolsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetPoolsScopedList_Warning_Code_CLEANUPFAILED,
    TargetPoolsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetPoolsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetPoolsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetPoolsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetPoolsScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetPoolsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetPoolsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetPoolsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetPoolsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetPoolsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetPoolsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetPoolsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetPoolsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetPoolsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetPoolsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetPoolsScopedList_Warning_Code_NOTCRITICALERROR,
    TargetPoolsScopedList_Warning_Code_NORESULTSONPAGE,
    TargetPoolsScopedList_Warning_Code_PARTIALSUCCESS,
    TargetPoolsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetPoolsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetPoolsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetPoolsScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetPoolsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetPoolsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetPoolsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetPoolsScopedList_Warning_Code_Unreachable,
    TargetPoolsScopedList_Warning_Code
    #-}
  
  -- | The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.
  newtype TargetSslProxiesSetProxyHeaderRequest_ProxyHeader = TargetSslProxiesSetProxyHeaderRequest_ProxyHeader {fromTargetSslProxiesSetProxyHeaderRequest_ProxyHeader :: 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
      )
  
  pattern TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_None :: TargetSslProxiesSetProxyHeaderRequest_ProxyHeader
  pattern TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_None = TargetSslProxiesSetProxyHeaderRequest_ProxyHeader "NONE"
  
  pattern TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1 :: TargetSslProxiesSetProxyHeaderRequest_ProxyHeader
  pattern TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1 = TargetSslProxiesSetProxyHeaderRequest_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_None,
    TargetSslProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1,
    TargetSslProxiesSetProxyHeaderRequest_ProxyHeader
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype TargetSslProxy_ProxyHeader = TargetSslProxy_ProxyHeader {fromTargetSslProxy_ProxyHeader :: 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
      )
  
  pattern TargetSslProxy_ProxyHeader_None :: TargetSslProxy_ProxyHeader
  pattern TargetSslProxy_ProxyHeader_None = TargetSslProxy_ProxyHeader "NONE"
  
  pattern TargetSslProxy_ProxyHeader_PROXY_V1 :: TargetSslProxy_ProxyHeader
  pattern TargetSslProxy_ProxyHeader_PROXY_V1 = TargetSslProxy_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    TargetSslProxy_ProxyHeader_None,
    TargetSslProxy_ProxyHeader_PROXY_V1,
    TargetSslProxy_ProxyHeader
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetSslProxyList_Warning_Code = TargetSslProxyList_Warning_Code {fromTargetSslProxyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetSslProxyList_Warning_Code_CLEANUPFAILED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_CLEANUPFAILED = TargetSslProxyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetSslProxyList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetSslProxyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetSslProxyList_Warning_Code_DEPRECATEDTYPEUSED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_DEPRECATEDTYPEUSED = TargetSslProxyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetSslProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetSslProxyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetSslProxyList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_EXPERIMENTALTYPEUSED = TargetSslProxyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetSslProxyList_Warning_Code_EXTERNALAPIWARNING :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_EXTERNALAPIWARNING = TargetSslProxyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetSslProxyList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_FIELDVALUEOVERRIDEN = TargetSslProxyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetSslProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetSslProxyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetSslProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetSslProxyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetSslProxyList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetSslProxyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetSslProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetSslProxyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetSslProxyList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetSslProxyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetSslProxyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetSslProxyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetSslProxyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetSslProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetSslProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetSslProxyList_Warning_Code_NEXTHOPNOTRUNNING :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NEXTHOPNOTRUNNING = TargetSslProxyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetSslProxyList_Warning_Code_NOTCRITICALERROR :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NOTCRITICALERROR = TargetSslProxyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetSslProxyList_Warning_Code_NORESULTSONPAGE :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_NORESULTSONPAGE = TargetSslProxyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetSslProxyList_Warning_Code_PARTIALSUCCESS :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_PARTIALSUCCESS = TargetSslProxyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetSslProxyList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetSslProxyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetSslProxyList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_REQUIREDTOSAGREEMENT = TargetSslProxyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetSslProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetSslProxyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetSslProxyList_Warning_Code_RESOURCENOTDELETED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_RESOURCENOTDELETED = TargetSslProxyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetSslProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetSslProxyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetSslProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetSslProxyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetSslProxyList_Warning_Code_UNDECLAREDPROPERTIES :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_UNDECLAREDPROPERTIES = TargetSslProxyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetSslProxyList_Warning_Code_Unreachable :: TargetSslProxyList_Warning_Code
  pattern TargetSslProxyList_Warning_Code_Unreachable = TargetSslProxyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetSslProxyList_Warning_Code_CLEANUPFAILED,
    TargetSslProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetSslProxyList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetSslProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetSslProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetSslProxyList_Warning_Code_EXTERNALAPIWARNING,
    TargetSslProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetSslProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetSslProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetSslProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetSslProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetSslProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetSslProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetSslProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetSslProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetSslProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetSslProxyList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetSslProxyList_Warning_Code_NOTCRITICALERROR,
    TargetSslProxyList_Warning_Code_NORESULTSONPAGE,
    TargetSslProxyList_Warning_Code_PARTIALSUCCESS,
    TargetSslProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetSslProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetSslProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetSslProxyList_Warning_Code_RESOURCENOTDELETED,
    TargetSslProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetSslProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetSslProxyList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetSslProxyList_Warning_Code_Unreachable,
    TargetSslProxyList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetTcpProxiesScopedList_Warning_Code = TargetTcpProxiesScopedList_Warning_Code {fromTargetTcpProxiesScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetTcpProxiesScopedList_Warning_Code_CLEANUPFAILED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_CLEANUPFAILED = TargetTcpProxiesScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetTcpProxiesScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetTcpProxiesScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetTcpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetTcpProxiesScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetTcpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetTcpProxiesScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetTcpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING = TargetTcpProxiesScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetTcpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetTcpProxiesScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetTcpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetTcpProxiesScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetTcpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetTcpProxiesScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetTcpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetTcpProxiesScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetTcpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetTcpProxiesScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetTcpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetTcpProxiesScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetTcpProxiesScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetTcpProxiesScopedList_Warning_Code_NOTCRITICALERROR :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NOTCRITICALERROR = TargetTcpProxiesScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetTcpProxiesScopedList_Warning_Code_NORESULTSONPAGE :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_NORESULTSONPAGE = TargetTcpProxiesScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetTcpProxiesScopedList_Warning_Code_PARTIALSUCCESS :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_PARTIALSUCCESS = TargetTcpProxiesScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetTcpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetTcpProxiesScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetTcpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetTcpProxiesScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetTcpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetTcpProxiesScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetTcpProxiesScopedList_Warning_Code_RESOURCENOTDELETED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_RESOURCENOTDELETED = TargetTcpProxiesScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetTcpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetTcpProxiesScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetTcpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetTcpProxiesScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetTcpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetTcpProxiesScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetTcpProxiesScopedList_Warning_Code_Unreachable :: TargetTcpProxiesScopedList_Warning_Code
  pattern TargetTcpProxiesScopedList_Warning_Code_Unreachable = TargetTcpProxiesScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetTcpProxiesScopedList_Warning_Code_CLEANUPFAILED,
    TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetTcpProxiesScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetTcpProxiesScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetTcpProxiesScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetTcpProxiesScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetTcpProxiesScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetTcpProxiesScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetTcpProxiesScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetTcpProxiesScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetTcpProxiesScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetTcpProxiesScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetTcpProxiesScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetTcpProxiesScopedList_Warning_Code_NOTCRITICALERROR,
    TargetTcpProxiesScopedList_Warning_Code_NORESULTSONPAGE,
    TargetTcpProxiesScopedList_Warning_Code_PARTIALSUCCESS,
    TargetTcpProxiesScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetTcpProxiesScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetTcpProxiesScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetTcpProxiesScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetTcpProxiesScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetTcpProxiesScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetTcpProxiesScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetTcpProxiesScopedList_Warning_Code_Unreachable,
    TargetTcpProxiesScopedList_Warning_Code
    #-}
  
  -- | The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed.
  newtype TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader = TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader {fromTargetTcpProxiesSetProxyHeaderRequest_ProxyHeader :: 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
      )
  
  pattern TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_None :: TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader
  pattern TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_None = TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader "NONE"
  
  pattern TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1 :: TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader
  pattern TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1 = TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_None,
    TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader_PROXY_V1,
    TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader
    #-}
  
  -- | Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.
  newtype TargetTcpProxy_ProxyHeader = TargetTcpProxy_ProxyHeader {fromTargetTcpProxy_ProxyHeader :: 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
      )
  
  pattern TargetTcpProxy_ProxyHeader_None :: TargetTcpProxy_ProxyHeader
  pattern TargetTcpProxy_ProxyHeader_None = TargetTcpProxy_ProxyHeader "NONE"
  
  pattern TargetTcpProxy_ProxyHeader_PROXY_V1 :: TargetTcpProxy_ProxyHeader
  pattern TargetTcpProxy_ProxyHeader_PROXY_V1 = TargetTcpProxy_ProxyHeader "PROXY_V1"
  
  {-# COMPLETE
    TargetTcpProxy_ProxyHeader_None,
    TargetTcpProxy_ProxyHeader_PROXY_V1,
    TargetTcpProxy_ProxyHeader
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetTcpProxyAggregatedList_Warning_Code = TargetTcpProxyAggregatedList_Warning_Code {fromTargetTcpProxyAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetTcpProxyAggregatedList_Warning_Code_CLEANUPFAILED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_CLEANUPFAILED = TargetTcpProxyAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetTcpProxyAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = TargetTcpProxyAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetTcpProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetTcpProxyAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetTcpProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetTcpProxyAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetTcpProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING = TargetTcpProxyAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetTcpProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetTcpProxyAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetTcpProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetTcpProxyAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetTcpProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetTcpProxyAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetTcpProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetTcpProxyAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetTcpProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetTcpProxyAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetTcpProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetTcpProxyAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = TargetTcpProxyAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NOTCRITICALERROR :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NOTCRITICALERROR = TargetTcpProxyAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetTcpProxyAggregatedList_Warning_Code_NORESULTSONPAGE :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_NORESULTSONPAGE = TargetTcpProxyAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetTcpProxyAggregatedList_Warning_Code_PARTIALSUCCESS :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_PARTIALSUCCESS = TargetTcpProxyAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetTcpProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetTcpProxyAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetTcpProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetTcpProxyAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetTcpProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetTcpProxyAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetTcpProxyAggregatedList_Warning_Code_RESOURCENOTDELETED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_RESOURCENOTDELETED = TargetTcpProxyAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetTcpProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetTcpProxyAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetTcpProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetTcpProxyAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetTcpProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = TargetTcpProxyAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetTcpProxyAggregatedList_Warning_Code_Unreachable :: TargetTcpProxyAggregatedList_Warning_Code
  pattern TargetTcpProxyAggregatedList_Warning_Code_Unreachable = TargetTcpProxyAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetTcpProxyAggregatedList_Warning_Code_CLEANUPFAILED,
    TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetTcpProxyAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetTcpProxyAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetTcpProxyAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetTcpProxyAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    TargetTcpProxyAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetTcpProxyAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetTcpProxyAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetTcpProxyAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetTcpProxyAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetTcpProxyAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetTcpProxyAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetTcpProxyAggregatedList_Warning_Code_NOTCRITICALERROR,
    TargetTcpProxyAggregatedList_Warning_Code_NORESULTSONPAGE,
    TargetTcpProxyAggregatedList_Warning_Code_PARTIALSUCCESS,
    TargetTcpProxyAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetTcpProxyAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetTcpProxyAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetTcpProxyAggregatedList_Warning_Code_RESOURCENOTDELETED,
    TargetTcpProxyAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetTcpProxyAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetTcpProxyAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetTcpProxyAggregatedList_Warning_Code_Unreachable,
    TargetTcpProxyAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetTcpProxyList_Warning_Code = TargetTcpProxyList_Warning_Code {fromTargetTcpProxyList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetTcpProxyList_Warning_Code_CLEANUPFAILED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_CLEANUPFAILED = TargetTcpProxyList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetTcpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetTcpProxyList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetTcpProxyList_Warning_Code_DEPRECATEDTYPEUSED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_DEPRECATEDTYPEUSED = TargetTcpProxyList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetTcpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetTcpProxyList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetTcpProxyList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_EXPERIMENTALTYPEUSED = TargetTcpProxyList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetTcpProxyList_Warning_Code_EXTERNALAPIWARNING :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_EXTERNALAPIWARNING = TargetTcpProxyList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetTcpProxyList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_FIELDVALUEOVERRIDEN = TargetTcpProxyList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetTcpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetTcpProxyList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetTcpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetTcpProxyList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetTcpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetTcpProxyList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetTcpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetTcpProxyList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetTcpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetTcpProxyList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetTcpProxyList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetTcpProxyList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetTcpProxyList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetTcpProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetTcpProxyList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPNOTRUNNING :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NEXTHOPNOTRUNNING = TargetTcpProxyList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetTcpProxyList_Warning_Code_NOTCRITICALERROR :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NOTCRITICALERROR = TargetTcpProxyList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetTcpProxyList_Warning_Code_NORESULTSONPAGE :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_NORESULTSONPAGE = TargetTcpProxyList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetTcpProxyList_Warning_Code_PARTIALSUCCESS :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_PARTIALSUCCESS = TargetTcpProxyList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetTcpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetTcpProxyList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetTcpProxyList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_REQUIREDTOSAGREEMENT = TargetTcpProxyList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetTcpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetTcpProxyList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetTcpProxyList_Warning_Code_RESOURCENOTDELETED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_RESOURCENOTDELETED = TargetTcpProxyList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetTcpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetTcpProxyList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetTcpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetTcpProxyList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetTcpProxyList_Warning_Code_UNDECLAREDPROPERTIES :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_UNDECLAREDPROPERTIES = TargetTcpProxyList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetTcpProxyList_Warning_Code_Unreachable :: TargetTcpProxyList_Warning_Code
  pattern TargetTcpProxyList_Warning_Code_Unreachable = TargetTcpProxyList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetTcpProxyList_Warning_Code_CLEANUPFAILED,
    TargetTcpProxyList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetTcpProxyList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetTcpProxyList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetTcpProxyList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetTcpProxyList_Warning_Code_EXTERNALAPIWARNING,
    TargetTcpProxyList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetTcpProxyList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetTcpProxyList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetTcpProxyList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetTcpProxyList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetTcpProxyList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetTcpProxyList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetTcpProxyList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetTcpProxyList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetTcpProxyList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetTcpProxyList_Warning_Code_NOTCRITICALERROR,
    TargetTcpProxyList_Warning_Code_NORESULTSONPAGE,
    TargetTcpProxyList_Warning_Code_PARTIALSUCCESS,
    TargetTcpProxyList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetTcpProxyList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetTcpProxyList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetTcpProxyList_Warning_Code_RESOURCENOTDELETED,
    TargetTcpProxyList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetTcpProxyList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetTcpProxyList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetTcpProxyList_Warning_Code_Unreachable,
    TargetTcpProxyList_Warning_Code
    #-}
  
  -- | [Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING.
  newtype TargetVpnGateway_Status = TargetVpnGateway_Status {fromTargetVpnGateway_Status :: 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
      )
  
  pattern TargetVpnGateway_Status_Creating :: TargetVpnGateway_Status
  pattern TargetVpnGateway_Status_Creating = TargetVpnGateway_Status "CREATING"
  
  pattern TargetVpnGateway_Status_Deleting :: TargetVpnGateway_Status
  pattern TargetVpnGateway_Status_Deleting = TargetVpnGateway_Status "DELETING"
  
  pattern TargetVpnGateway_Status_Failed :: TargetVpnGateway_Status
  pattern TargetVpnGateway_Status_Failed = TargetVpnGateway_Status "FAILED"
  
  pattern TargetVpnGateway_Status_Ready :: TargetVpnGateway_Status
  pattern TargetVpnGateway_Status_Ready = TargetVpnGateway_Status "READY"
  
  {-# COMPLETE
    TargetVpnGateway_Status_Creating,
    TargetVpnGateway_Status_Deleting,
    TargetVpnGateway_Status_Failed,
    TargetVpnGateway_Status_Ready,
    TargetVpnGateway_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetVpnGatewayAggregatedList_Warning_Code = TargetVpnGatewayAggregatedList_Warning_Code {fromTargetVpnGatewayAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED = TargetVpnGatewayAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetVpnGatewayAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = TargetVpnGatewayAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetVpnGatewayAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetVpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetVpnGatewayAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetVpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING = TargetVpnGatewayAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetVpnGatewayAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetVpnGatewayAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetVpnGatewayAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetVpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetVpnGatewayAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetVpnGatewayAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetVpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetVpnGatewayAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = TargetVpnGatewayAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR = TargetVpnGatewayAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE = TargetVpnGatewayAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetVpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS = TargetVpnGatewayAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetVpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetVpnGatewayAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetVpnGatewayAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetVpnGatewayAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED = TargetVpnGatewayAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetVpnGatewayAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetVpnGatewayAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetVpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = TargetVpnGatewayAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetVpnGatewayAggregatedList_Warning_Code_Unreachable :: TargetVpnGatewayAggregatedList_Warning_Code
  pattern TargetVpnGatewayAggregatedList_Warning_Code_Unreachable = TargetVpnGatewayAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetVpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED,
    TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetVpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetVpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetVpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetVpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    TargetVpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetVpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetVpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetVpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetVpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetVpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetVpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetVpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR,
    TargetVpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE,
    TargetVpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS,
    TargetVpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetVpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetVpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetVpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED,
    TargetVpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetVpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetVpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetVpnGatewayAggregatedList_Warning_Code_Unreachable,
    TargetVpnGatewayAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetVpnGatewayList_Warning_Code = TargetVpnGatewayList_Warning_Code {fromTargetVpnGatewayList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetVpnGatewayList_Warning_Code_CLEANUPFAILED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_CLEANUPFAILED = TargetVpnGatewayList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetVpnGatewayList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED = TargetVpnGatewayList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetVpnGatewayList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED = TargetVpnGatewayList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetVpnGatewayList_Warning_Code_EXTERNALAPIWARNING :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_EXTERNALAPIWARNING = TargetVpnGatewayList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN = TargetVpnGatewayList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetVpnGatewayList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetVpnGatewayList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetVpnGatewayList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetVpnGatewayList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetVpnGatewayList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetVpnGatewayList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetVpnGatewayList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetVpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING = TargetVpnGatewayList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetVpnGatewayList_Warning_Code_NOTCRITICALERROR :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NOTCRITICALERROR = TargetVpnGatewayList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetVpnGatewayList_Warning_Code_NORESULTSONPAGE :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_NORESULTSONPAGE = TargetVpnGatewayList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetVpnGatewayList_Warning_Code_PARTIALSUCCESS :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_PARTIALSUCCESS = TargetVpnGatewayList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetVpnGatewayList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT = TargetVpnGatewayList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetVpnGatewayList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetVpnGatewayList_Warning_Code_RESOURCENOTDELETED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_RESOURCENOTDELETED = TargetVpnGatewayList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetVpnGatewayList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetVpnGatewayList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES = TargetVpnGatewayList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetVpnGatewayList_Warning_Code_Unreachable :: TargetVpnGatewayList_Warning_Code
  pattern TargetVpnGatewayList_Warning_Code_Unreachable = TargetVpnGatewayList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetVpnGatewayList_Warning_Code_CLEANUPFAILED,
    TargetVpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetVpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetVpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetVpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetVpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
    TargetVpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetVpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetVpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetVpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetVpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetVpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetVpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetVpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetVpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetVpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetVpnGatewayList_Warning_Code_NOTCRITICALERROR,
    TargetVpnGatewayList_Warning_Code_NORESULTSONPAGE,
    TargetVpnGatewayList_Warning_Code_PARTIALSUCCESS,
    TargetVpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetVpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetVpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetVpnGatewayList_Warning_Code_RESOURCENOTDELETED,
    TargetVpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetVpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetVpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetVpnGatewayList_Warning_Code_Unreachable,
    TargetVpnGatewayList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype TargetVpnGatewaysScopedList_Warning_Code = TargetVpnGatewaysScopedList_Warning_Code {fromTargetVpnGatewaysScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern TargetVpnGatewaysScopedList_Warning_Code_CLEANUPFAILED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_CLEANUPFAILED = TargetVpnGatewaysScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = TargetVpnGatewaysScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED = TargetVpnGatewaysScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern TargetVpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = TargetVpnGatewaysScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern TargetVpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED = TargetVpnGatewaysScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern TargetVpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING = TargetVpnGatewaysScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern TargetVpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN = TargetVpnGatewaysScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern TargetVpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = TargetVpnGatewaysScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern TargetVpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = TargetVpnGatewaysScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern TargetVpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = TargetVpnGatewaysScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern TargetVpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = TargetVpnGatewaysScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern TargetVpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = TargetVpnGatewaysScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING = TargetVpnGatewaysScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR = TargetVpnGatewaysScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern TargetVpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE = TargetVpnGatewaysScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern TargetVpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS = TargetVpnGatewaysScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern TargetVpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = TargetVpnGatewaysScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern TargetVpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT = TargetVpnGatewaysScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern TargetVpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = TargetVpnGatewaysScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern TargetVpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED = TargetVpnGatewaysScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern TargetVpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = TargetVpnGatewaysScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern TargetVpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = TargetVpnGatewaysScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern TargetVpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES = TargetVpnGatewaysScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern TargetVpnGatewaysScopedList_Warning_Code_Unreachable :: TargetVpnGatewaysScopedList_Warning_Code
  pattern TargetVpnGatewaysScopedList_Warning_Code_Unreachable = TargetVpnGatewaysScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    TargetVpnGatewaysScopedList_Warning_Code_CLEANUPFAILED,
    TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    TargetVpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    TargetVpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    TargetVpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    TargetVpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING,
    TargetVpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    TargetVpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    TargetVpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    TargetVpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    TargetVpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    TargetVpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    TargetVpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    TargetVpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR,
    TargetVpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE,
    TargetVpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS,
    TargetVpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    TargetVpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    TargetVpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    TargetVpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED,
    TargetVpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    TargetVpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    TargetVpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    TargetVpnGatewaysScopedList_Warning_Code_Unreachable,
    TargetVpnGatewaysScopedList_Warning_Code
    #-}
  
  newtype UpcomingMaintenance_MaintenanceStatus = UpcomingMaintenance_MaintenanceStatus {fromUpcomingMaintenance_MaintenanceStatus :: 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
      )
  
  -- | There is ongoing maintenance on this VM.
  pattern UpcomingMaintenance_MaintenanceStatus_Ongoing :: UpcomingMaintenance_MaintenanceStatus
  pattern UpcomingMaintenance_MaintenanceStatus_Ongoing = UpcomingMaintenance_MaintenanceStatus "ONGOING"
  
  -- | There is pending maintenance.
  pattern UpcomingMaintenance_MaintenanceStatus_Pending :: UpcomingMaintenance_MaintenanceStatus
  pattern UpcomingMaintenance_MaintenanceStatus_Pending = UpcomingMaintenance_MaintenanceStatus "PENDING"
  
  -- | Unknown maintenance status. Do not use this value.
  pattern UpcomingMaintenance_MaintenanceStatus_Unknown :: UpcomingMaintenance_MaintenanceStatus
  pattern UpcomingMaintenance_MaintenanceStatus_Unknown = UpcomingMaintenance_MaintenanceStatus "UNKNOWN"
  
  {-# COMPLETE
    UpcomingMaintenance_MaintenanceStatus_Ongoing,
    UpcomingMaintenance_MaintenanceStatus_Pending,
    UpcomingMaintenance_MaintenanceStatus_Unknown,
    UpcomingMaintenance_MaintenanceStatus
    #-}
  
  -- | Defines the type of maintenance.
  newtype UpcomingMaintenance_Type = UpcomingMaintenance_Type {fromUpcomingMaintenance_Type :: 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
      )
  
  -- | Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).
  pattern UpcomingMaintenance_Type_Scheduled :: UpcomingMaintenance_Type
  pattern UpcomingMaintenance_Type_Scheduled = UpcomingMaintenance_Type "SCHEDULED"
  
  -- | No type specified. Do not use this value.
  pattern UpcomingMaintenance_Type_UNKNOWNTYPE :: UpcomingMaintenance_Type
  pattern UpcomingMaintenance_Type_UNKNOWNTYPE = UpcomingMaintenance_Type "UNKNOWN_TYPE"
  
  -- | Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee).
  pattern UpcomingMaintenance_Type_Unscheduled :: UpcomingMaintenance_Type
  pattern UpcomingMaintenance_Type_Unscheduled = UpcomingMaintenance_Type "UNSCHEDULED"
  
  {-# COMPLETE
    UpcomingMaintenance_Type_Scheduled,
    UpcomingMaintenance_Type_UNKNOWNTYPE,
    UpcomingMaintenance_Type_Unscheduled,
    UpcomingMaintenance_Type
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype UrlMapList_Warning_Code = UrlMapList_Warning_Code {fromUrlMapList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern UrlMapList_Warning_Code_CLEANUPFAILED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_CLEANUPFAILED = UrlMapList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern UrlMapList_Warning_Code_DEPRECATEDRESOURCEUSED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_DEPRECATEDRESOURCEUSED = UrlMapList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern UrlMapList_Warning_Code_DEPRECATEDTYPEUSED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_DEPRECATEDTYPEUSED = UrlMapList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern UrlMapList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = UrlMapList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern UrlMapList_Warning_Code_EXPERIMENTALTYPEUSED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_EXPERIMENTALTYPEUSED = UrlMapList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern UrlMapList_Warning_Code_EXTERNALAPIWARNING :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_EXTERNALAPIWARNING = UrlMapList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern UrlMapList_Warning_Code_FIELDVALUEOVERRIDEN :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_FIELDVALUEOVERRIDEN = UrlMapList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern UrlMapList_Warning_Code_INJECTEDKERNELSDEPRECATED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_INJECTEDKERNELSDEPRECATED = UrlMapList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern UrlMapList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = UrlMapList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern UrlMapList_Warning_Code_LARGEDEPLOYMENTWARNING :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_LARGEDEPLOYMENTWARNING = UrlMapList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern UrlMapList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_LISTOVERHEADQUOTAEXCEED = UrlMapList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern UrlMapList_Warning_Code_MISSINGTYPEDEPENDENCY :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_MISSINGTYPEDEPENDENCY = UrlMapList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern UrlMapList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = UrlMapList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern UrlMapList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPCANNOTIPFORWARD = UrlMapList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = UrlMapList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCENOTFOUND = UrlMapList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = UrlMapList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern UrlMapList_Warning_Code_NEXTHOPNOTRUNNING :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NEXTHOPNOTRUNNING = UrlMapList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern UrlMapList_Warning_Code_NOTCRITICALERROR :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NOTCRITICALERROR = UrlMapList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern UrlMapList_Warning_Code_NORESULTSONPAGE :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_NORESULTSONPAGE = UrlMapList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern UrlMapList_Warning_Code_PARTIALSUCCESS :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_PARTIALSUCCESS = UrlMapList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern UrlMapList_Warning_Code_QUOTAINFOUNAVAILABLE :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_QUOTAINFOUNAVAILABLE = UrlMapList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern UrlMapList_Warning_Code_REQUIREDTOSAGREEMENT :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_REQUIREDTOSAGREEMENT = UrlMapList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern UrlMapList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = UrlMapList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern UrlMapList_Warning_Code_RESOURCENOTDELETED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_RESOURCENOTDELETED = UrlMapList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern UrlMapList_Warning_Code_SCHEMAVALIDATIONIGNORED :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_SCHEMAVALIDATIONIGNORED = UrlMapList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern UrlMapList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = UrlMapList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern UrlMapList_Warning_Code_UNDECLAREDPROPERTIES :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_UNDECLAREDPROPERTIES = UrlMapList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern UrlMapList_Warning_Code_Unreachable :: UrlMapList_Warning_Code
  pattern UrlMapList_Warning_Code_Unreachable = UrlMapList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    UrlMapList_Warning_Code_CLEANUPFAILED,
    UrlMapList_Warning_Code_DEPRECATEDRESOURCEUSED,
    UrlMapList_Warning_Code_DEPRECATEDTYPEUSED,
    UrlMapList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    UrlMapList_Warning_Code_EXPERIMENTALTYPEUSED,
    UrlMapList_Warning_Code_EXTERNALAPIWARNING,
    UrlMapList_Warning_Code_FIELDVALUEOVERRIDEN,
    UrlMapList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    UrlMapList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    UrlMapList_Warning_Code_LARGEDEPLOYMENTWARNING,
    UrlMapList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    UrlMapList_Warning_Code_MISSINGTYPEDEPENDENCY,
    UrlMapList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    UrlMapList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    UrlMapList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    UrlMapList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    UrlMapList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    UrlMapList_Warning_Code_NEXTHOPNOTRUNNING,
    UrlMapList_Warning_Code_NOTCRITICALERROR,
    UrlMapList_Warning_Code_NORESULTSONPAGE,
    UrlMapList_Warning_Code_PARTIALSUCCESS,
    UrlMapList_Warning_Code_QUOTAINFOUNAVAILABLE,
    UrlMapList_Warning_Code_REQUIREDTOSAGREEMENT,
    UrlMapList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    UrlMapList_Warning_Code_RESOURCENOTDELETED,
    UrlMapList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    UrlMapList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    UrlMapList_Warning_Code_UNDECLAREDPROPERTIES,
    UrlMapList_Warning_Code_Unreachable,
    UrlMapList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype UrlMapsAggregatedList_Warning_Code = UrlMapsAggregatedList_Warning_Code {fromUrlMapsAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern UrlMapsAggregatedList_Warning_Code_CLEANUPFAILED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_CLEANUPFAILED = UrlMapsAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern UrlMapsAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = UrlMapsAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern UrlMapsAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = UrlMapsAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern UrlMapsAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = UrlMapsAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern UrlMapsAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = UrlMapsAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern UrlMapsAggregatedList_Warning_Code_EXTERNALAPIWARNING :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_EXTERNALAPIWARNING = UrlMapsAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern UrlMapsAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = UrlMapsAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern UrlMapsAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = UrlMapsAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern UrlMapsAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = UrlMapsAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern UrlMapsAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = UrlMapsAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern UrlMapsAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = UrlMapsAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern UrlMapsAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = UrlMapsAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = UrlMapsAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern UrlMapsAggregatedList_Warning_Code_NOTCRITICALERROR :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NOTCRITICALERROR = UrlMapsAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern UrlMapsAggregatedList_Warning_Code_NORESULTSONPAGE :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_NORESULTSONPAGE = UrlMapsAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern UrlMapsAggregatedList_Warning_Code_PARTIALSUCCESS :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_PARTIALSUCCESS = UrlMapsAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern UrlMapsAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = UrlMapsAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern UrlMapsAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = UrlMapsAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern UrlMapsAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = UrlMapsAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern UrlMapsAggregatedList_Warning_Code_RESOURCENOTDELETED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_RESOURCENOTDELETED = UrlMapsAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern UrlMapsAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = UrlMapsAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern UrlMapsAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = UrlMapsAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern UrlMapsAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = UrlMapsAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern UrlMapsAggregatedList_Warning_Code_Unreachable :: UrlMapsAggregatedList_Warning_Code
  pattern UrlMapsAggregatedList_Warning_Code_Unreachable = UrlMapsAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    UrlMapsAggregatedList_Warning_Code_CLEANUPFAILED,
    UrlMapsAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    UrlMapsAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    UrlMapsAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    UrlMapsAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    UrlMapsAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    UrlMapsAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    UrlMapsAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    UrlMapsAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    UrlMapsAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    UrlMapsAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    UrlMapsAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    UrlMapsAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    UrlMapsAggregatedList_Warning_Code_NOTCRITICALERROR,
    UrlMapsAggregatedList_Warning_Code_NORESULTSONPAGE,
    UrlMapsAggregatedList_Warning_Code_PARTIALSUCCESS,
    UrlMapsAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    UrlMapsAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    UrlMapsAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    UrlMapsAggregatedList_Warning_Code_RESOURCENOTDELETED,
    UrlMapsAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    UrlMapsAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    UrlMapsAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    UrlMapsAggregatedList_Warning_Code_Unreachable,
    UrlMapsAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype UrlMapsScopedList_Warning_Code = UrlMapsScopedList_Warning_Code {fromUrlMapsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern UrlMapsScopedList_Warning_Code_CLEANUPFAILED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_CLEANUPFAILED = UrlMapsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern UrlMapsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = UrlMapsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern UrlMapsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_DEPRECATEDTYPEUSED = UrlMapsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern UrlMapsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = UrlMapsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern UrlMapsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = UrlMapsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern UrlMapsScopedList_Warning_Code_EXTERNALAPIWARNING :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_EXTERNALAPIWARNING = UrlMapsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern UrlMapsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = UrlMapsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern UrlMapsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = UrlMapsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern UrlMapsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = UrlMapsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern UrlMapsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = UrlMapsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern UrlMapsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = UrlMapsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern UrlMapsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = UrlMapsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = UrlMapsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = UrlMapsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = UrlMapsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = UrlMapsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = UrlMapsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NEXTHOPNOTRUNNING = UrlMapsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern UrlMapsScopedList_Warning_Code_NOTCRITICALERROR :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NOTCRITICALERROR = UrlMapsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern UrlMapsScopedList_Warning_Code_NORESULTSONPAGE :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_NORESULTSONPAGE = UrlMapsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern UrlMapsScopedList_Warning_Code_PARTIALSUCCESS :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_PARTIALSUCCESS = UrlMapsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern UrlMapsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = UrlMapsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern UrlMapsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = UrlMapsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern UrlMapsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = UrlMapsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern UrlMapsScopedList_Warning_Code_RESOURCENOTDELETED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_RESOURCENOTDELETED = UrlMapsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern UrlMapsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = UrlMapsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern UrlMapsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = UrlMapsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern UrlMapsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_UNDECLAREDPROPERTIES = UrlMapsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern UrlMapsScopedList_Warning_Code_Unreachable :: UrlMapsScopedList_Warning_Code
  pattern UrlMapsScopedList_Warning_Code_Unreachable = UrlMapsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    UrlMapsScopedList_Warning_Code_CLEANUPFAILED,
    UrlMapsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    UrlMapsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    UrlMapsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    UrlMapsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    UrlMapsScopedList_Warning_Code_EXTERNALAPIWARNING,
    UrlMapsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    UrlMapsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    UrlMapsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    UrlMapsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    UrlMapsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    UrlMapsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    UrlMapsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    UrlMapsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    UrlMapsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    UrlMapsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    UrlMapsScopedList_Warning_Code_NOTCRITICALERROR,
    UrlMapsScopedList_Warning_Code_NORESULTSONPAGE,
    UrlMapsScopedList_Warning_Code_PARTIALSUCCESS,
    UrlMapsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    UrlMapsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    UrlMapsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    UrlMapsScopedList_Warning_Code_RESOURCENOTDELETED,
    UrlMapsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    UrlMapsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    UrlMapsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    UrlMapsScopedList_Warning_Code_Unreachable,
    UrlMapsScopedList_Warning_Code
    #-}
  
  newtype UrlMapsValidateRequest_LoadBalancingSchemesItem = UrlMapsValidateRequest_LoadBalancingSchemesItem {fromUrlMapsValidateRequest_LoadBalancingSchemesItem :: 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
      )
  
  -- | Signifies that this will be used for classic Application Load Balancers.
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_External :: UrlMapsValidateRequest_LoadBalancingSchemesItem
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_External = UrlMapsValidateRequest_LoadBalancingSchemesItem "EXTERNAL"
  
  -- | Signifies that this will be used for Envoy-based global external Application Load Balancers.
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_EXTERNALMANAGED :: UrlMapsValidateRequest_LoadBalancingSchemesItem
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_EXTERNALMANAGED = UrlMapsValidateRequest_LoadBalancingSchemesItem "EXTERNAL_MANAGED"
  
  -- | If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type.
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_LOADBALANCINGSCHEMEUNSPECIFIED :: UrlMapsValidateRequest_LoadBalancingSchemesItem
  pattern UrlMapsValidateRequest_LoadBalancingSchemesItem_LOADBALANCINGSCHEMEUNSPECIFIED = UrlMapsValidateRequest_LoadBalancingSchemesItem "LOAD_BALANCING_SCHEME_UNSPECIFIED"
  
  {-# COMPLETE
    UrlMapsValidateRequest_LoadBalancingSchemesItem_External,
    UrlMapsValidateRequest_LoadBalancingSchemesItem_EXTERNALMANAGED,
    UrlMapsValidateRequest_LoadBalancingSchemesItem_LOADBALANCINGSCHEMEUNSPECIFIED,
    UrlMapsValidateRequest_LoadBalancingSchemesItem
    #-}
  
  -- | The access type of IPv6 address this subnet holds. It\'s immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.
  newtype UsableSubnetwork_Ipv6AccessType = UsableSubnetwork_Ipv6AccessType {fromUsableSubnetwork_Ipv6AccessType :: 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
      )
  
  -- | VMs on this subnet will be assigned IPv6 addresses that are accessible via the Internet, as well as the VPC network.
  pattern UsableSubnetwork_Ipv6AccessType_External :: UsableSubnetwork_Ipv6AccessType
  pattern UsableSubnetwork_Ipv6AccessType_External = UsableSubnetwork_Ipv6AccessType "EXTERNAL"
  
  -- | VMs on this subnet will be assigned IPv6 addresses that are only accessible over the VPC network.
  pattern UsableSubnetwork_Ipv6AccessType_Internal :: UsableSubnetwork_Ipv6AccessType
  pattern UsableSubnetwork_Ipv6AccessType_Internal = UsableSubnetwork_Ipv6AccessType "INTERNAL"
  
  {-# COMPLETE
    UsableSubnetwork_Ipv6AccessType_External,
    UsableSubnetwork_Ipv6AccessType_Internal,
    UsableSubnetwork_Ipv6AccessType
    #-}
  
  -- | The purpose of the resource. This field can be either PRIVATE, GLOBAL/MANAGED/PROXY, REGIONAL/MANAGED/PROXY, PEER/MIGRATION, PRIVATE/SERVICE/CONNECT or PRIVATE/NAT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE/SERVICE/CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER/MIGRATION is used for subnet migration from one peered VPC to another. A subnet with purpose set to PRIVATE/NAT is used for Private NAT IP address by Private NAT Gateway. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn\'t supported if the subnet purpose field is set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY.
  newtype UsableSubnetwork_Purpose = UsableSubnetwork_Purpose {fromUsableSubnetwork_Purpose :: 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
      )
  
  -- | Subnet reserved for Global Envoy-based Load Balancing.
  pattern UsableSubnetwork_Purpose_GLOBALMANAGEDPROXY :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_GLOBALMANAGEDPROXY = UsableSubnetwork_Purpose "GLOBAL_MANAGED_PROXY"
  
  -- | Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL/MANAGED/PROXY instead.
  pattern UsableSubnetwork_Purpose_INTERNALHTTPSLOADBALANCER :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_INTERNALHTTPSLOADBALANCER = UsableSubnetwork_Purpose "INTERNAL_HTTPS_LOAD_BALANCER"
  
  -- | Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).
  pattern UsableSubnetwork_Purpose_PEERMIGRATION :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_PEERMIGRATION = UsableSubnetwork_Purpose "PEER_MIGRATION"
  
  -- | Regular user created or automatically created subnet.
  pattern UsableSubnetwork_Purpose_Private :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_Private = UsableSubnetwork_Purpose "PRIVATE"
  
  -- | Subnetwork used as source range for Private NAT Gateways.
  pattern UsableSubnetwork_Purpose_PRIVATENAT :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_PRIVATENAT = UsableSubnetwork_Purpose "PRIVATE_NAT"
  
  -- | Regular user created or automatically created subnet.
  pattern UsableSubnetwork_Purpose_PRIVATE_RFC_1918 :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_PRIVATE_RFC_1918 = UsableSubnetwork_Purpose "PRIVATE_RFC_1918"
  
  -- | Subnetworks created for Private Service Connect in the producer network.
  pattern UsableSubnetwork_Purpose_PRIVATESERVICECONNECT :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_PRIVATESERVICECONNECT = UsableSubnetwork_Purpose "PRIVATE_SERVICE_CONNECT"
  
  -- | Subnetwork used for Regional Envoy-based Load Balancing.
  pattern UsableSubnetwork_Purpose_REGIONALMANAGEDPROXY :: UsableSubnetwork_Purpose
  pattern UsableSubnetwork_Purpose_REGIONALMANAGEDPROXY = UsableSubnetwork_Purpose "REGIONAL_MANAGED_PROXY"
  
  {-# COMPLETE
    UsableSubnetwork_Purpose_GLOBALMANAGEDPROXY,
    UsableSubnetwork_Purpose_INTERNALHTTPSLOADBALANCER,
    UsableSubnetwork_Purpose_PEERMIGRATION,
    UsableSubnetwork_Purpose_Private,
    UsableSubnetwork_Purpose_PRIVATENAT,
    UsableSubnetwork_Purpose_PRIVATE_RFC_1918,
    UsableSubnetwork_Purpose_PRIVATESERVICECONNECT,
    UsableSubnetwork_Purpose_REGIONALMANAGEDPROXY,
    UsableSubnetwork_Purpose
    #-}
  
  -- | The role of subnetwork. Currently, this field is only used when purpose is set to GLOBAL/MANAGED/PROXY or REGIONAL/MANAGED/PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request.
  newtype UsableSubnetwork_Role = UsableSubnetwork_Role {fromUsableSubnetwork_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
      )
  
  -- | The ACTIVE subnet that is currently used.
  pattern UsableSubnetwork_Role_Active :: UsableSubnetwork_Role
  pattern UsableSubnetwork_Role_Active = UsableSubnetwork_Role "ACTIVE"
  
  -- | The BACKUP subnet that could be promoted to ACTIVE.
  pattern UsableSubnetwork_Role_Backup :: UsableSubnetwork_Role
  pattern UsableSubnetwork_Role_Backup = UsableSubnetwork_Role "BACKUP"
  
  {-# COMPLETE
    UsableSubnetwork_Role_Active,
    UsableSubnetwork_Role_Backup,
    UsableSubnetwork_Role
    #-}
  
  -- | The stack type for the subnet. If set to IPV4/ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4/IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.
  newtype UsableSubnetwork_StackType = UsableSubnetwork_StackType {fromUsableSubnetwork_StackType :: 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
      )
  
  -- | New VMs in this subnet can have both IPv4 and IPv6 addresses.
  pattern UsableSubnetwork_StackType_IPV4_IPV6 :: UsableSubnetwork_StackType
  pattern UsableSubnetwork_StackType_IPV4_IPV6 = UsableSubnetwork_StackType "IPV4_IPV6"
  
  -- | New VMs in this subnet will only be assigned IPv4 addresses.
  pattern UsableSubnetwork_StackType_IPV4ONLY :: UsableSubnetwork_StackType
  pattern UsableSubnetwork_StackType_IPV4ONLY = UsableSubnetwork_StackType "IPV4_ONLY"
  
  -- | New VMs in this subnet will only be assigned IPv6 addresses.
  pattern UsableSubnetwork_StackType_IPV6ONLY :: UsableSubnetwork_StackType
  pattern UsableSubnetwork_StackType_IPV6ONLY = UsableSubnetwork_StackType "IPV6_ONLY"
  
  {-# COMPLETE
    UsableSubnetwork_StackType_IPV4_IPV6,
    UsableSubnetwork_StackType_IPV4ONLY,
    UsableSubnetwork_StackType_IPV6ONLY,
    UsableSubnetwork_StackType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype UsableSubnetworksAggregatedList_Warning_Code = UsableSubnetworksAggregatedList_Warning_Code {fromUsableSubnetworksAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern UsableSubnetworksAggregatedList_Warning_Code_CLEANUPFAILED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_CLEANUPFAILED = UsableSubnetworksAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = UsableSubnetworksAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = UsableSubnetworksAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern UsableSubnetworksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = UsableSubnetworksAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern UsableSubnetworksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = UsableSubnetworksAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern UsableSubnetworksAggregatedList_Warning_Code_EXTERNALAPIWARNING :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_EXTERNALAPIWARNING = UsableSubnetworksAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern UsableSubnetworksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = UsableSubnetworksAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern UsableSubnetworksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = UsableSubnetworksAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern UsableSubnetworksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = UsableSubnetworksAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern UsableSubnetworksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = UsableSubnetworksAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern UsableSubnetworksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = UsableSubnetworksAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern UsableSubnetworksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = UsableSubnetworksAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = UsableSubnetworksAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NOTCRITICALERROR :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NOTCRITICALERROR = UsableSubnetworksAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern UsableSubnetworksAggregatedList_Warning_Code_NORESULTSONPAGE :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_NORESULTSONPAGE = UsableSubnetworksAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern UsableSubnetworksAggregatedList_Warning_Code_PARTIALSUCCESS :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_PARTIALSUCCESS = UsableSubnetworksAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern UsableSubnetworksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = UsableSubnetworksAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern UsableSubnetworksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = UsableSubnetworksAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern UsableSubnetworksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = UsableSubnetworksAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern UsableSubnetworksAggregatedList_Warning_Code_RESOURCENOTDELETED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_RESOURCENOTDELETED = UsableSubnetworksAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern UsableSubnetworksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = UsableSubnetworksAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern UsableSubnetworksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = UsableSubnetworksAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern UsableSubnetworksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = UsableSubnetworksAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern UsableSubnetworksAggregatedList_Warning_Code_Unreachable :: UsableSubnetworksAggregatedList_Warning_Code
  pattern UsableSubnetworksAggregatedList_Warning_Code_Unreachable = UsableSubnetworksAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    UsableSubnetworksAggregatedList_Warning_Code_CLEANUPFAILED,
    UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    UsableSubnetworksAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    UsableSubnetworksAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    UsableSubnetworksAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    UsableSubnetworksAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    UsableSubnetworksAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    UsableSubnetworksAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    UsableSubnetworksAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    UsableSubnetworksAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    UsableSubnetworksAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    UsableSubnetworksAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    UsableSubnetworksAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    UsableSubnetworksAggregatedList_Warning_Code_NOTCRITICALERROR,
    UsableSubnetworksAggregatedList_Warning_Code_NORESULTSONPAGE,
    UsableSubnetworksAggregatedList_Warning_Code_PARTIALSUCCESS,
    UsableSubnetworksAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    UsableSubnetworksAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    UsableSubnetworksAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    UsableSubnetworksAggregatedList_Warning_Code_RESOURCENOTDELETED,
    UsableSubnetworksAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    UsableSubnetworksAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    UsableSubnetworksAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    UsableSubnetworksAggregatedList_Warning_Code_Unreachable,
    UsableSubnetworksAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VmEndpointNatMappingsList_Warning_Code = VmEndpointNatMappingsList_Warning_Code {fromVmEndpointNatMappingsList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VmEndpointNatMappingsList_Warning_Code_CLEANUPFAILED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_CLEANUPFAILED = VmEndpointNatMappingsList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VmEndpointNatMappingsList_Warning_Code_DEPRECATEDRESOURCEUSED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_DEPRECATEDRESOURCEUSED = VmEndpointNatMappingsList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VmEndpointNatMappingsList_Warning_Code_DEPRECATEDTYPEUSED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_DEPRECATEDTYPEUSED = VmEndpointNatMappingsList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VmEndpointNatMappingsList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VmEndpointNatMappingsList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VmEndpointNatMappingsList_Warning_Code_EXPERIMENTALTYPEUSED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_EXPERIMENTALTYPEUSED = VmEndpointNatMappingsList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VmEndpointNatMappingsList_Warning_Code_EXTERNALAPIWARNING :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_EXTERNALAPIWARNING = VmEndpointNatMappingsList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VmEndpointNatMappingsList_Warning_Code_FIELDVALUEOVERRIDEN :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_FIELDVALUEOVERRIDEN = VmEndpointNatMappingsList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VmEndpointNatMappingsList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_INJECTEDKERNELSDEPRECATED = VmEndpointNatMappingsList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VmEndpointNatMappingsList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VmEndpointNatMappingsList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VmEndpointNatMappingsList_Warning_Code_LARGEDEPLOYMENTWARNING :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_LARGEDEPLOYMENTWARNING = VmEndpointNatMappingsList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VmEndpointNatMappingsList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VmEndpointNatMappingsList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VmEndpointNatMappingsList_Warning_Code_MISSINGTYPEDEPENDENCY :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_MISSINGTYPEDEPENDENCY = VmEndpointNatMappingsList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPNOTRUNNING :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NEXTHOPNOTRUNNING = VmEndpointNatMappingsList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VmEndpointNatMappingsList_Warning_Code_NOTCRITICALERROR :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NOTCRITICALERROR = VmEndpointNatMappingsList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VmEndpointNatMappingsList_Warning_Code_NORESULTSONPAGE :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_NORESULTSONPAGE = VmEndpointNatMappingsList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VmEndpointNatMappingsList_Warning_Code_PARTIALSUCCESS :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_PARTIALSUCCESS = VmEndpointNatMappingsList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VmEndpointNatMappingsList_Warning_Code_QUOTAINFOUNAVAILABLE :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_QUOTAINFOUNAVAILABLE = VmEndpointNatMappingsList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VmEndpointNatMappingsList_Warning_Code_REQUIREDTOSAGREEMENT :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_REQUIREDTOSAGREEMENT = VmEndpointNatMappingsList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VmEndpointNatMappingsList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VmEndpointNatMappingsList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VmEndpointNatMappingsList_Warning_Code_RESOURCENOTDELETED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_RESOURCENOTDELETED = VmEndpointNatMappingsList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VmEndpointNatMappingsList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_SCHEMAVALIDATIONIGNORED = VmEndpointNatMappingsList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VmEndpointNatMappingsList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VmEndpointNatMappingsList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VmEndpointNatMappingsList_Warning_Code_UNDECLAREDPROPERTIES :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_UNDECLAREDPROPERTIES = VmEndpointNatMappingsList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VmEndpointNatMappingsList_Warning_Code_Unreachable :: VmEndpointNatMappingsList_Warning_Code
  pattern VmEndpointNatMappingsList_Warning_Code_Unreachable = VmEndpointNatMappingsList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VmEndpointNatMappingsList_Warning_Code_CLEANUPFAILED,
    VmEndpointNatMappingsList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VmEndpointNatMappingsList_Warning_Code_DEPRECATEDTYPEUSED,
    VmEndpointNatMappingsList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VmEndpointNatMappingsList_Warning_Code_EXPERIMENTALTYPEUSED,
    VmEndpointNatMappingsList_Warning_Code_EXTERNALAPIWARNING,
    VmEndpointNatMappingsList_Warning_Code_FIELDVALUEOVERRIDEN,
    VmEndpointNatMappingsList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VmEndpointNatMappingsList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VmEndpointNatMappingsList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VmEndpointNatMappingsList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VmEndpointNatMappingsList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VmEndpointNatMappingsList_Warning_Code_NEXTHOPNOTRUNNING,
    VmEndpointNatMappingsList_Warning_Code_NOTCRITICALERROR,
    VmEndpointNatMappingsList_Warning_Code_NORESULTSONPAGE,
    VmEndpointNatMappingsList_Warning_Code_PARTIALSUCCESS,
    VmEndpointNatMappingsList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VmEndpointNatMappingsList_Warning_Code_REQUIREDTOSAGREEMENT,
    VmEndpointNatMappingsList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VmEndpointNatMappingsList_Warning_Code_RESOURCENOTDELETED,
    VmEndpointNatMappingsList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VmEndpointNatMappingsList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VmEndpointNatMappingsList_Warning_Code_UNDECLAREDPROPERTIES,
    VmEndpointNatMappingsList_Warning_Code_Unreachable,
    VmEndpointNatMappingsList_Warning_Code
    #-}
  
  -- | The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not specified, IPV4 will be used.
  newtype VpnGateway_GatewayIpVersion = VpnGateway_GatewayIpVersion {fromVpnGateway_GatewayIpVersion :: 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
      )
  
  -- | Every HA-VPN gateway interface is configured with an IPv4 address.
  pattern VpnGateway_GatewayIpVersion_IPV4 :: VpnGateway_GatewayIpVersion
  pattern VpnGateway_GatewayIpVersion_IPV4 = VpnGateway_GatewayIpVersion "IPV4"
  
  -- | Every HA-VPN gateway interface is configured with an IPv6 address.
  pattern VpnGateway_GatewayIpVersion_IPV6 :: VpnGateway_GatewayIpVersion
  pattern VpnGateway_GatewayIpVersion_IPV6 = VpnGateway_GatewayIpVersion "IPV6"
  
  {-# COMPLETE
    VpnGateway_GatewayIpVersion_IPV4,
    VpnGateway_GatewayIpVersion_IPV6,
    VpnGateway_GatewayIpVersion
    #-}
  
  -- | The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4/ONLY, IPV4/IPV6, IPV6/ONLY. If not specified, IPV4/ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6 if the gateway IP version is IPV6.
  newtype VpnGateway_StackType = VpnGateway_StackType {fromVpnGateway_StackType :: 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
      )
  
  -- | Enable VPN gateway with both IPv4 and IPv6 protocols.
  pattern VpnGateway_StackType_IPV4_IPV6 :: VpnGateway_StackType
  pattern VpnGateway_StackType_IPV4_IPV6 = VpnGateway_StackType "IPV4_IPV6"
  
  -- | Enable VPN gateway with only IPv4 protocol.
  pattern VpnGateway_StackType_IPV4ONLY :: VpnGateway_StackType
  pattern VpnGateway_StackType_IPV4ONLY = VpnGateway_StackType "IPV4_ONLY"
  
  -- | Enable VPN gateway with only IPv6 protocol.
  pattern VpnGateway_StackType_IPV6ONLY :: VpnGateway_StackType
  pattern VpnGateway_StackType_IPV6ONLY = VpnGateway_StackType "IPV6_ONLY"
  
  {-# COMPLETE
    VpnGateway_StackType_IPV4_IPV6,
    VpnGateway_StackType_IPV4ONLY,
    VpnGateway_StackType_IPV6ONLY,
    VpnGateway_StackType
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnGatewayAggregatedList_Warning_Code = VpnGatewayAggregatedList_Warning_Code {fromVpnGatewayAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED = VpnGatewayAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnGatewayAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = VpnGatewayAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnGatewayAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = VpnGatewayAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING = VpnGatewayAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = VpnGatewayAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnGatewayAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnGatewayAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnGatewayAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnGatewayAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnGatewayAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = VpnGatewayAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR = VpnGatewayAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE = VpnGatewayAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS = VpnGatewayAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnGatewayAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = VpnGatewayAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnGatewayAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED = VpnGatewayAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnGatewayAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnGatewayAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = VpnGatewayAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnGatewayAggregatedList_Warning_Code_Unreachable :: VpnGatewayAggregatedList_Warning_Code
  pattern VpnGatewayAggregatedList_Warning_Code_Unreachable = VpnGatewayAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnGatewayAggregatedList_Warning_Code_CLEANUPFAILED,
    VpnGatewayAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnGatewayAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnGatewayAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnGatewayAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnGatewayAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    VpnGatewayAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnGatewayAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnGatewayAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnGatewayAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnGatewayAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnGatewayAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnGatewayAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnGatewayAggregatedList_Warning_Code_NOTCRITICALERROR,
    VpnGatewayAggregatedList_Warning_Code_NORESULTSONPAGE,
    VpnGatewayAggregatedList_Warning_Code_PARTIALSUCCESS,
    VpnGatewayAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnGatewayAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnGatewayAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnGatewayAggregatedList_Warning_Code_RESOURCENOTDELETED,
    VpnGatewayAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnGatewayAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnGatewayAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnGatewayAggregatedList_Warning_Code_Unreachable,
    VpnGatewayAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnGatewayList_Warning_Code = VpnGatewayList_Warning_Code {fromVpnGatewayList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnGatewayList_Warning_Code_CLEANUPFAILED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_CLEANUPFAILED = VpnGatewayList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnGatewayList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED = VpnGatewayList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnGatewayList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED = VpnGatewayList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnGatewayList_Warning_Code_EXTERNALAPIWARNING :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_EXTERNALAPIWARNING = VpnGatewayList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN = VpnGatewayList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnGatewayList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnGatewayList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnGatewayList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnGatewayList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnGatewayList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnGatewayList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnGatewayList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnGatewayList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING = VpnGatewayList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnGatewayList_Warning_Code_NOTCRITICALERROR :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NOTCRITICALERROR = VpnGatewayList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnGatewayList_Warning_Code_NORESULTSONPAGE :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_NORESULTSONPAGE = VpnGatewayList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnGatewayList_Warning_Code_PARTIALSUCCESS :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_PARTIALSUCCESS = VpnGatewayList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnGatewayList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT = VpnGatewayList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnGatewayList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnGatewayList_Warning_Code_RESOURCENOTDELETED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_RESOURCENOTDELETED = VpnGatewayList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnGatewayList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnGatewayList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES = VpnGatewayList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnGatewayList_Warning_Code_Unreachable :: VpnGatewayList_Warning_Code
  pattern VpnGatewayList_Warning_Code_Unreachable = VpnGatewayList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnGatewayList_Warning_Code_CLEANUPFAILED,
    VpnGatewayList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnGatewayList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnGatewayList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnGatewayList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnGatewayList_Warning_Code_EXTERNALAPIWARNING,
    VpnGatewayList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnGatewayList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnGatewayList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnGatewayList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnGatewayList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnGatewayList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnGatewayList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnGatewayList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnGatewayList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnGatewayList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnGatewayList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnGatewayList_Warning_Code_NOTCRITICALERROR,
    VpnGatewayList_Warning_Code_NORESULTSONPAGE,
    VpnGatewayList_Warning_Code_PARTIALSUCCESS,
    VpnGatewayList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnGatewayList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnGatewayList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnGatewayList_Warning_Code_RESOURCENOTDELETED,
    VpnGatewayList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnGatewayList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnGatewayList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnGatewayList_Warning_Code_Unreachable,
    VpnGatewayList_Warning_Code
    #-}
  
  -- | Indicates the high availability requirement state for the VPN connection. Valid values are CONNECTION/REDUNDANCY/MET, CONNECTION/REDUNDANCY/NOT_MET.
  newtype VpnGatewayStatusHighAvailabilityRequirementState_State = VpnGatewayStatusHighAvailabilityRequirementState_State {fromVpnGatewayStatusHighAvailabilityRequirementState_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
      )
  
  -- | VPN tunnels are configured with adequate redundancy from Cloud VPN gateway to the peer VPN gateway. For both GCP-to-non-GCP and GCP-to-GCP connections, the adequate redundancy is a pre-requirement for users to get 99.99% availability on GCP side; please note that for any connection, end-to-end 99.99% availability is subject to proper configuration on the peer VPN gateway.
  pattern VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYMET :: VpnGatewayStatusHighAvailabilityRequirementState_State
  pattern VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYMET = VpnGatewayStatusHighAvailabilityRequirementState_State "CONNECTION_REDUNDANCY_MET"
  
  -- | VPN tunnels are not configured with adequate redundancy from the Cloud VPN gateway to the peer gateway
  pattern VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYNOTMET :: VpnGatewayStatusHighAvailabilityRequirementState_State
  pattern VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYNOTMET = VpnGatewayStatusHighAvailabilityRequirementState_State "CONNECTION_REDUNDANCY_NOT_MET"
  
  {-# COMPLETE
    VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYMET,
    VpnGatewayStatusHighAvailabilityRequirementState_State_CONNECTIONREDUNDANCYNOTMET,
    VpnGatewayStatusHighAvailabilityRequirementState_State
    #-}
  
  -- | Indicates the reason why the VPN connection does not meet the high availability redundancy criteria\/requirement. Valid values is INCOMPLETE/TUNNELS/COVERAGE.
  newtype VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason = VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason {fromVpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason :: 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
      )
  
  pattern VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason_INCOMPLETETUNNELSCOVERAGE :: VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason
  pattern VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason_INCOMPLETETUNNELSCOVERAGE = VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason "INCOMPLETE_TUNNELS_COVERAGE"
  
  {-# COMPLETE
    VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason_INCOMPLETETUNNELSCOVERAGE,
    VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnGatewaysScopedList_Warning_Code = VpnGatewaysScopedList_Warning_Code {fromVpnGatewaysScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnGatewaysScopedList_Warning_Code_CLEANUPFAILED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_CLEANUPFAILED = VpnGatewaysScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnGatewaysScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED = VpnGatewaysScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnGatewaysScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED = VpnGatewaysScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING = VpnGatewaysScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN = VpnGatewaysScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnGatewaysScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnGatewaysScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnGatewaysScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnGatewaysScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnGatewaysScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING = VpnGatewaysScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR = VpnGatewaysScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE = VpnGatewaysScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS = VpnGatewaysScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnGatewaysScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT = VpnGatewaysScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnGatewaysScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED = VpnGatewaysScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnGatewaysScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnGatewaysScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES = VpnGatewaysScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnGatewaysScopedList_Warning_Code_Unreachable :: VpnGatewaysScopedList_Warning_Code
  pattern VpnGatewaysScopedList_Warning_Code_Unreachable = VpnGatewaysScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnGatewaysScopedList_Warning_Code_CLEANUPFAILED,
    VpnGatewaysScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnGatewaysScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnGatewaysScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnGatewaysScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnGatewaysScopedList_Warning_Code_EXTERNALAPIWARNING,
    VpnGatewaysScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnGatewaysScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnGatewaysScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnGatewaysScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnGatewaysScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnGatewaysScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnGatewaysScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnGatewaysScopedList_Warning_Code_NOTCRITICALERROR,
    VpnGatewaysScopedList_Warning_Code_NORESULTSONPAGE,
    VpnGatewaysScopedList_Warning_Code_PARTIALSUCCESS,
    VpnGatewaysScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnGatewaysScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnGatewaysScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnGatewaysScopedList_Warning_Code_RESOURCENOTDELETED,
    VpnGatewaysScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnGatewaysScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnGatewaysScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnGatewaysScopedList_Warning_Code_Unreachable,
    VpnGatewaysScopedList_Warning_Code
    #-}
  
  -- | [Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING/FOR/FULL/CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST/HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK/ERROR: Deprecated, replaced by NO/INCOMING/PACKETS - AUTHORIZATION/ERROR: Auth error (for example, bad shared secret). - NEGOTIATION/FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO/INCOMING/PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING/RESOURCES: Cloud VPN is in the process of allocating all required
  -- resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER/IDENTITY/MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS/NARROWING/NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel.
  newtype VpnTunnel_Status = VpnTunnel_Status {fromVpnTunnel_Status :: 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
      )
  
  -- | Cloud VPN is in the process of allocating all required resources (specifically, a borg task).
  pattern VpnTunnel_Status_ALLOCATINGRESOURCES :: VpnTunnel_Status
  pattern VpnTunnel_Status_ALLOCATINGRESOURCES = VpnTunnel_Status "ALLOCATING_RESOURCES"
  
  -- | Auth error (e.g. bad shared secret).
  pattern VpnTunnel_Status_AUTHORIZATIONERROR :: VpnTunnel_Status
  pattern VpnTunnel_Status_AUTHORIZATIONERROR = VpnTunnel_Status "AUTHORIZATION_ERROR"
  
  -- | Resources is being deallocated for the VPN tunnel.
  pattern VpnTunnel_Status_Deprovisioning :: VpnTunnel_Status
  pattern VpnTunnel_Status_Deprovisioning = VpnTunnel_Status "DEPROVISIONING"
  
  -- | Secure session is successfully established with peer VPN.
  pattern VpnTunnel_Status_Established :: VpnTunnel_Status
  pattern VpnTunnel_Status_Established = VpnTunnel_Status "ESTABLISHED"
  
  -- | Tunnel creation has failed and the tunnel is not ready to be used.
  pattern VpnTunnel_Status_Failed :: VpnTunnel_Status
  pattern VpnTunnel_Status_Failed = VpnTunnel_Status "FAILED"
  
  -- | Successful first handshake with peer VPN.
  pattern VpnTunnel_Status_FIRSTHANDSHAKE :: VpnTunnel_Status
  pattern VpnTunnel_Status_FIRSTHANDSHAKE = VpnTunnel_Status "FIRST_HANDSHAKE"
  
  -- | Handshake failed.
  pattern VpnTunnel_Status_NEGOTIATIONFAILURE :: VpnTunnel_Status
  pattern VpnTunnel_Status_NEGOTIATIONFAILURE = VpnTunnel_Status "NEGOTIATION_FAILURE"
  
  -- | Deprecated, replaced by NO/INCOMING/PACKETS
  pattern VpnTunnel_Status_NETWORKERROR :: VpnTunnel_Status
  pattern VpnTunnel_Status_NETWORKERROR = VpnTunnel_Status "NETWORK_ERROR"
  
  -- | No incoming packets from peer
  pattern VpnTunnel_Status_NOINCOMINGPACKETS :: VpnTunnel_Status
  pattern VpnTunnel_Status_NOINCOMINGPACKETS = VpnTunnel_Status "NO_INCOMING_PACKETS"
  
  -- | Resource is being allocated for the VPN tunnel.
  pattern VpnTunnel_Status_Provisioning :: VpnTunnel_Status
  pattern VpnTunnel_Status_Provisioning = VpnTunnel_Status "PROVISIONING"
  
  -- | Tunnel configuration was rejected, can be result of being denylisted.
  pattern VpnTunnel_Status_Rejected :: VpnTunnel_Status
  pattern VpnTunnel_Status_Rejected = VpnTunnel_Status "REJECTED"
  
  -- | Tunnel is stopped due to its Forwarding Rules being deleted.
  pattern VpnTunnel_Status_Stopped :: VpnTunnel_Status
  pattern VpnTunnel_Status_Stopped = VpnTunnel_Status "STOPPED"
  
  -- | Waiting to receive all VPN-related configs from user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule and Route resources are needed to setup VPN tunnel.
  pattern VpnTunnel_Status_WAITINGFORFULLCONFIG :: VpnTunnel_Status
  pattern VpnTunnel_Status_WAITINGFORFULLCONFIG = VpnTunnel_Status "WAITING_FOR_FULL_CONFIG"
  
  {-# COMPLETE
    VpnTunnel_Status_ALLOCATINGRESOURCES,
    VpnTunnel_Status_AUTHORIZATIONERROR,
    VpnTunnel_Status_Deprovisioning,
    VpnTunnel_Status_Established,
    VpnTunnel_Status_Failed,
    VpnTunnel_Status_FIRSTHANDSHAKE,
    VpnTunnel_Status_NEGOTIATIONFAILURE,
    VpnTunnel_Status_NETWORKERROR,
    VpnTunnel_Status_NOINCOMINGPACKETS,
    VpnTunnel_Status_Provisioning,
    VpnTunnel_Status_Rejected,
    VpnTunnel_Status_Stopped,
    VpnTunnel_Status_WAITINGFORFULLCONFIG,
    VpnTunnel_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnTunnelAggregatedList_Warning_Code = VpnTunnelAggregatedList_Warning_Code {fromVpnTunnelAggregatedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnTunnelAggregatedList_Warning_Code_CLEANUPFAILED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_CLEANUPFAILED = VpnTunnelAggregatedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnTunnelAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnTunnelAggregatedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnTunnelAggregatedList_Warning_Code_DEPRECATEDTYPEUSED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_DEPRECATEDTYPEUSED = VpnTunnelAggregatedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnTunnelAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnTunnelAggregatedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnTunnelAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED = VpnTunnelAggregatedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnTunnelAggregatedList_Warning_Code_EXTERNALAPIWARNING :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_EXTERNALAPIWARNING = VpnTunnelAggregatedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnTunnelAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN = VpnTunnelAggregatedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnTunnelAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnTunnelAggregatedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnTunnelAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnTunnelAggregatedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnTunnelAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnTunnelAggregatedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnTunnelAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnTunnelAggregatedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnTunnelAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnTunnelAggregatedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPNOTRUNNING :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NEXTHOPNOTRUNNING = VpnTunnelAggregatedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnTunnelAggregatedList_Warning_Code_NOTCRITICALERROR :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NOTCRITICALERROR = VpnTunnelAggregatedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnTunnelAggregatedList_Warning_Code_NORESULTSONPAGE :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_NORESULTSONPAGE = VpnTunnelAggregatedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnTunnelAggregatedList_Warning_Code_PARTIALSUCCESS :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_PARTIALSUCCESS = VpnTunnelAggregatedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnTunnelAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnTunnelAggregatedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnTunnelAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT = VpnTunnelAggregatedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnTunnelAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnTunnelAggregatedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnTunnelAggregatedList_Warning_Code_RESOURCENOTDELETED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_RESOURCENOTDELETED = VpnTunnelAggregatedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnTunnelAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnTunnelAggregatedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnTunnelAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnTunnelAggregatedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnTunnelAggregatedList_Warning_Code_UNDECLAREDPROPERTIES :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_UNDECLAREDPROPERTIES = VpnTunnelAggregatedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnTunnelAggregatedList_Warning_Code_Unreachable :: VpnTunnelAggregatedList_Warning_Code
  pattern VpnTunnelAggregatedList_Warning_Code_Unreachable = VpnTunnelAggregatedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnTunnelAggregatedList_Warning_Code_CLEANUPFAILED,
    VpnTunnelAggregatedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnTunnelAggregatedList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnTunnelAggregatedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnTunnelAggregatedList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnTunnelAggregatedList_Warning_Code_EXTERNALAPIWARNING,
    VpnTunnelAggregatedList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnTunnelAggregatedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnTunnelAggregatedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnTunnelAggregatedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnTunnelAggregatedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnTunnelAggregatedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnTunnelAggregatedList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnTunnelAggregatedList_Warning_Code_NOTCRITICALERROR,
    VpnTunnelAggregatedList_Warning_Code_NORESULTSONPAGE,
    VpnTunnelAggregatedList_Warning_Code_PARTIALSUCCESS,
    VpnTunnelAggregatedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnTunnelAggregatedList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnTunnelAggregatedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnTunnelAggregatedList_Warning_Code_RESOURCENOTDELETED,
    VpnTunnelAggregatedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnTunnelAggregatedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnTunnelAggregatedList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnTunnelAggregatedList_Warning_Code_Unreachable,
    VpnTunnelAggregatedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnTunnelList_Warning_Code = VpnTunnelList_Warning_Code {fromVpnTunnelList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnTunnelList_Warning_Code_CLEANUPFAILED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_CLEANUPFAILED = VpnTunnelList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnTunnelList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnTunnelList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnTunnelList_Warning_Code_DEPRECATEDTYPEUSED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_DEPRECATEDTYPEUSED = VpnTunnelList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnTunnelList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnTunnelList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnTunnelList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_EXPERIMENTALTYPEUSED = VpnTunnelList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnTunnelList_Warning_Code_EXTERNALAPIWARNING :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_EXTERNALAPIWARNING = VpnTunnelList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnTunnelList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_FIELDVALUEOVERRIDEN = VpnTunnelList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnTunnelList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnTunnelList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnTunnelList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnTunnelList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnTunnelList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnTunnelList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnTunnelList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnTunnelList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnTunnelList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnTunnelList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnTunnelList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnTunnelList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnTunnelList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnTunnelList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnTunnelList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnTunnelList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnTunnelList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnTunnelList_Warning_Code_NEXTHOPNOTRUNNING :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NEXTHOPNOTRUNNING = VpnTunnelList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnTunnelList_Warning_Code_NOTCRITICALERROR :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NOTCRITICALERROR = VpnTunnelList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnTunnelList_Warning_Code_NORESULTSONPAGE :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_NORESULTSONPAGE = VpnTunnelList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnTunnelList_Warning_Code_PARTIALSUCCESS :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_PARTIALSUCCESS = VpnTunnelList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnTunnelList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnTunnelList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnTunnelList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_REQUIREDTOSAGREEMENT = VpnTunnelList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnTunnelList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnTunnelList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnTunnelList_Warning_Code_RESOURCENOTDELETED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_RESOURCENOTDELETED = VpnTunnelList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnTunnelList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnTunnelList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnTunnelList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnTunnelList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnTunnelList_Warning_Code_UNDECLAREDPROPERTIES :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_UNDECLAREDPROPERTIES = VpnTunnelList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnTunnelList_Warning_Code_Unreachable :: VpnTunnelList_Warning_Code
  pattern VpnTunnelList_Warning_Code_Unreachable = VpnTunnelList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnTunnelList_Warning_Code_CLEANUPFAILED,
    VpnTunnelList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnTunnelList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnTunnelList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnTunnelList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnTunnelList_Warning_Code_EXTERNALAPIWARNING,
    VpnTunnelList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnTunnelList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnTunnelList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnTunnelList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnTunnelList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnTunnelList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnTunnelList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnTunnelList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnTunnelList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnTunnelList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnTunnelList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnTunnelList_Warning_Code_NOTCRITICALERROR,
    VpnTunnelList_Warning_Code_NORESULTSONPAGE,
    VpnTunnelList_Warning_Code_PARTIALSUCCESS,
    VpnTunnelList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnTunnelList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnTunnelList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnTunnelList_Warning_Code_RESOURCENOTDELETED,
    VpnTunnelList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnTunnelList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnTunnelList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnTunnelList_Warning_Code_Unreachable,
    VpnTunnelList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype VpnTunnelsScopedList_Warning_Code = VpnTunnelsScopedList_Warning_Code {fromVpnTunnelsScopedList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern VpnTunnelsScopedList_Warning_Code_CLEANUPFAILED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_CLEANUPFAILED = VpnTunnelsScopedList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern VpnTunnelsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED = VpnTunnelsScopedList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern VpnTunnelsScopedList_Warning_Code_DEPRECATEDTYPEUSED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_DEPRECATEDTYPEUSED = VpnTunnelsScopedList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern VpnTunnelsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = VpnTunnelsScopedList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern VpnTunnelsScopedList_Warning_Code_EXPERIMENTALTYPEUSED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_EXPERIMENTALTYPEUSED = VpnTunnelsScopedList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern VpnTunnelsScopedList_Warning_Code_EXTERNALAPIWARNING :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_EXTERNALAPIWARNING = VpnTunnelsScopedList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern VpnTunnelsScopedList_Warning_Code_FIELDVALUEOVERRIDEN :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_FIELDVALUEOVERRIDEN = VpnTunnelsScopedList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern VpnTunnelsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED = VpnTunnelsScopedList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern VpnTunnelsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = VpnTunnelsScopedList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern VpnTunnelsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING = VpnTunnelsScopedList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern VpnTunnelsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED = VpnTunnelsScopedList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern VpnTunnelsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY = VpnTunnelsScopedList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPNOTRUNNING :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NEXTHOPNOTRUNNING = VpnTunnelsScopedList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern VpnTunnelsScopedList_Warning_Code_NOTCRITICALERROR :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NOTCRITICALERROR = VpnTunnelsScopedList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern VpnTunnelsScopedList_Warning_Code_NORESULTSONPAGE :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_NORESULTSONPAGE = VpnTunnelsScopedList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern VpnTunnelsScopedList_Warning_Code_PARTIALSUCCESS :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_PARTIALSUCCESS = VpnTunnelsScopedList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern VpnTunnelsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE = VpnTunnelsScopedList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern VpnTunnelsScopedList_Warning_Code_REQUIREDTOSAGREEMENT :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_REQUIREDTOSAGREEMENT = VpnTunnelsScopedList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern VpnTunnelsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = VpnTunnelsScopedList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern VpnTunnelsScopedList_Warning_Code_RESOURCENOTDELETED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_RESOURCENOTDELETED = VpnTunnelsScopedList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern VpnTunnelsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED = VpnTunnelsScopedList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern VpnTunnelsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = VpnTunnelsScopedList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern VpnTunnelsScopedList_Warning_Code_UNDECLAREDPROPERTIES :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_UNDECLAREDPROPERTIES = VpnTunnelsScopedList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern VpnTunnelsScopedList_Warning_Code_Unreachable :: VpnTunnelsScopedList_Warning_Code
  pattern VpnTunnelsScopedList_Warning_Code_Unreachable = VpnTunnelsScopedList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    VpnTunnelsScopedList_Warning_Code_CLEANUPFAILED,
    VpnTunnelsScopedList_Warning_Code_DEPRECATEDRESOURCEUSED,
    VpnTunnelsScopedList_Warning_Code_DEPRECATEDTYPEUSED,
    VpnTunnelsScopedList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    VpnTunnelsScopedList_Warning_Code_EXPERIMENTALTYPEUSED,
    VpnTunnelsScopedList_Warning_Code_EXTERNALAPIWARNING,
    VpnTunnelsScopedList_Warning_Code_FIELDVALUEOVERRIDEN,
    VpnTunnelsScopedList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    VpnTunnelsScopedList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    VpnTunnelsScopedList_Warning_Code_LARGEDEPLOYMENTWARNING,
    VpnTunnelsScopedList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    VpnTunnelsScopedList_Warning_Code_MISSINGTYPEDEPENDENCY,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    VpnTunnelsScopedList_Warning_Code_NEXTHOPNOTRUNNING,
    VpnTunnelsScopedList_Warning_Code_NOTCRITICALERROR,
    VpnTunnelsScopedList_Warning_Code_NORESULTSONPAGE,
    VpnTunnelsScopedList_Warning_Code_PARTIALSUCCESS,
    VpnTunnelsScopedList_Warning_Code_QUOTAINFOUNAVAILABLE,
    VpnTunnelsScopedList_Warning_Code_REQUIREDTOSAGREEMENT,
    VpnTunnelsScopedList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    VpnTunnelsScopedList_Warning_Code_RESOURCENOTDELETED,
    VpnTunnelsScopedList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    VpnTunnelsScopedList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    VpnTunnelsScopedList_Warning_Code_UNDECLAREDPROPERTIES,
    VpnTunnelsScopedList_Warning_Code_Unreachable,
    VpnTunnelsScopedList_Warning_Code
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype XpnHostList_Warning_Code = XpnHostList_Warning_Code {fromXpnHostList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern XpnHostList_Warning_Code_CLEANUPFAILED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_CLEANUPFAILED = XpnHostList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern XpnHostList_Warning_Code_DEPRECATEDRESOURCEUSED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_DEPRECATEDRESOURCEUSED = XpnHostList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern XpnHostList_Warning_Code_DEPRECATEDTYPEUSED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_DEPRECATEDTYPEUSED = XpnHostList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern XpnHostList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = XpnHostList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern XpnHostList_Warning_Code_EXPERIMENTALTYPEUSED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_EXPERIMENTALTYPEUSED = XpnHostList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern XpnHostList_Warning_Code_EXTERNALAPIWARNING :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_EXTERNALAPIWARNING = XpnHostList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern XpnHostList_Warning_Code_FIELDVALUEOVERRIDEN :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_FIELDVALUEOVERRIDEN = XpnHostList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern XpnHostList_Warning_Code_INJECTEDKERNELSDEPRECATED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_INJECTEDKERNELSDEPRECATED = XpnHostList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern XpnHostList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = XpnHostList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern XpnHostList_Warning_Code_LARGEDEPLOYMENTWARNING :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_LARGEDEPLOYMENTWARNING = XpnHostList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern XpnHostList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_LISTOVERHEADQUOTAEXCEED = XpnHostList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern XpnHostList_Warning_Code_MISSINGTYPEDEPENDENCY :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_MISSINGTYPEDEPENDENCY = XpnHostList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern XpnHostList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = XpnHostList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern XpnHostList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPCANNOTIPFORWARD = XpnHostList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = XpnHostList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCENOTFOUND = XpnHostList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = XpnHostList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern XpnHostList_Warning_Code_NEXTHOPNOTRUNNING :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NEXTHOPNOTRUNNING = XpnHostList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern XpnHostList_Warning_Code_NOTCRITICALERROR :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NOTCRITICALERROR = XpnHostList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern XpnHostList_Warning_Code_NORESULTSONPAGE :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_NORESULTSONPAGE = XpnHostList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern XpnHostList_Warning_Code_PARTIALSUCCESS :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_PARTIALSUCCESS = XpnHostList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern XpnHostList_Warning_Code_QUOTAINFOUNAVAILABLE :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_QUOTAINFOUNAVAILABLE = XpnHostList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern XpnHostList_Warning_Code_REQUIREDTOSAGREEMENT :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_REQUIREDTOSAGREEMENT = XpnHostList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern XpnHostList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = XpnHostList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern XpnHostList_Warning_Code_RESOURCENOTDELETED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_RESOURCENOTDELETED = XpnHostList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern XpnHostList_Warning_Code_SCHEMAVALIDATIONIGNORED :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_SCHEMAVALIDATIONIGNORED = XpnHostList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern XpnHostList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = XpnHostList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern XpnHostList_Warning_Code_UNDECLAREDPROPERTIES :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_UNDECLAREDPROPERTIES = XpnHostList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern XpnHostList_Warning_Code_Unreachable :: XpnHostList_Warning_Code
  pattern XpnHostList_Warning_Code_Unreachable = XpnHostList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    XpnHostList_Warning_Code_CLEANUPFAILED,
    XpnHostList_Warning_Code_DEPRECATEDRESOURCEUSED,
    XpnHostList_Warning_Code_DEPRECATEDTYPEUSED,
    XpnHostList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    XpnHostList_Warning_Code_EXPERIMENTALTYPEUSED,
    XpnHostList_Warning_Code_EXTERNALAPIWARNING,
    XpnHostList_Warning_Code_FIELDVALUEOVERRIDEN,
    XpnHostList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    XpnHostList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    XpnHostList_Warning_Code_LARGEDEPLOYMENTWARNING,
    XpnHostList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    XpnHostList_Warning_Code_MISSINGTYPEDEPENDENCY,
    XpnHostList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    XpnHostList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    XpnHostList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    XpnHostList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    XpnHostList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    XpnHostList_Warning_Code_NEXTHOPNOTRUNNING,
    XpnHostList_Warning_Code_NOTCRITICALERROR,
    XpnHostList_Warning_Code_NORESULTSONPAGE,
    XpnHostList_Warning_Code_PARTIALSUCCESS,
    XpnHostList_Warning_Code_QUOTAINFOUNAVAILABLE,
    XpnHostList_Warning_Code_REQUIREDTOSAGREEMENT,
    XpnHostList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    XpnHostList_Warning_Code_RESOURCENOTDELETED,
    XpnHostList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    XpnHostList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    XpnHostList_Warning_Code_UNDECLAREDPROPERTIES,
    XpnHostList_Warning_Code_Unreachable,
    XpnHostList_Warning_Code
    #-}
  
  -- | The type of the service resource.
  newtype XpnResourceId_Type = XpnResourceId_Type {fromXpnResourceId_Type :: 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
      )
  
  pattern XpnResourceId_Type_Project :: XpnResourceId_Type
  pattern XpnResourceId_Type_Project = XpnResourceId_Type "PROJECT"
  
  pattern XpnResourceId_Type_XPNRESOURCETYPEUNSPECIFIED :: XpnResourceId_Type
  pattern XpnResourceId_Type_XPNRESOURCETYPEUNSPECIFIED = XpnResourceId_Type "XPN_RESOURCE_TYPE_UNSPECIFIED"
  
  {-# COMPLETE
    XpnResourceId_Type_Project,
    XpnResourceId_Type_XPNRESOURCETYPEUNSPECIFIED,
    XpnResourceId_Type
    #-}
  
  -- | [Output Only] Status of the zone, either UP or DOWN.
  newtype Zone_Status = Zone_Status {fromZone_Status :: 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
      )
  
  pattern Zone_Status_Down :: Zone_Status
  pattern Zone_Status_Down = Zone_Status "DOWN"
  
  pattern Zone_Status_UP :: Zone_Status
  pattern Zone_Status_UP = Zone_Status "UP"
  
  {-# COMPLETE
    Zone_Status_Down,
    Zone_Status_UP,
    Zone_Status
    #-}
  
  -- | [Output Only] A warning code, if applicable. For example, Compute Engine returns NO/RESULTS/ON_PAGE if there are no results in the response.
  newtype ZoneList_Warning_Code = ZoneList_Warning_Code {fromZoneList_Warning_Code :: 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
      )
  
  -- | Warning about failed cleanup of transient changes made by a failed operation.
  pattern ZoneList_Warning_Code_CLEANUPFAILED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_CLEANUPFAILED = ZoneList_Warning_Code "CLEANUP_FAILED"
  
  -- | A link to a deprecated resource was created.
  pattern ZoneList_Warning_Code_DEPRECATEDRESOURCEUSED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_DEPRECATEDRESOURCEUSED = ZoneList_Warning_Code "DEPRECATED_RESOURCE_USED"
  
  -- | When deploying and at least one of the resources has a type marked as deprecated
  pattern ZoneList_Warning_Code_DEPRECATEDTYPEUSED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_DEPRECATEDTYPEUSED = ZoneList_Warning_Code "DEPRECATED_TYPE_USED"
  
  -- | The user created a boot disk that is larger than image size.
  pattern ZoneList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE = ZoneList_Warning_Code "DISK_SIZE_LARGER_THAN_IMAGE_SIZE"
  
  -- | When deploying and at least one of the resources has a type marked as experimental
  pattern ZoneList_Warning_Code_EXPERIMENTALTYPEUSED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_EXPERIMENTALTYPEUSED = ZoneList_Warning_Code "EXPERIMENTAL_TYPE_USED"
  
  -- | Warning that is present in an external api call
  pattern ZoneList_Warning_Code_EXTERNALAPIWARNING :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_EXTERNALAPIWARNING = ZoneList_Warning_Code "EXTERNAL_API_WARNING"
  
  -- | Warning that value of a field has been overridden. Deprecated unused field.
  pattern ZoneList_Warning_Code_FIELDVALUEOVERRIDEN :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_FIELDVALUEOVERRIDEN = ZoneList_Warning_Code "FIELD_VALUE_OVERRIDEN"
  
  -- | The operation involved use of an injected kernel, which is deprecated.
  pattern ZoneList_Warning_Code_INJECTEDKERNELSDEPRECATED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_INJECTEDKERNELSDEPRECATED = ZoneList_Warning_Code "INJECTED_KERNELS_DEPRECATED"
  
  -- | A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP\/HTTPS\/HTTP2.
  pattern ZoneList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB = ZoneList_Warning_Code "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB"
  
  -- | When deploying a deployment with a exceedingly large number of resources
  pattern ZoneList_Warning_Code_LARGEDEPLOYMENTWARNING :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_LARGEDEPLOYMENTWARNING = ZoneList_Warning_Code "LARGE_DEPLOYMENT_WARNING"
  
  -- | Resource can\'t be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.
  pattern ZoneList_Warning_Code_LISTOVERHEADQUOTAEXCEED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_LISTOVERHEADQUOTAEXCEED = ZoneList_Warning_Code "LIST_OVERHEAD_QUOTA_EXCEED"
  
  -- | A resource depends on a missing type
  pattern ZoneList_Warning_Code_MISSINGTYPEDEPENDENCY :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_MISSINGTYPEDEPENDENCY = ZoneList_Warning_Code "MISSING_TYPE_DEPENDENCY"
  
  -- | The route\'s nextHopIp address is not assigned to an instance on the network.
  pattern ZoneList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED = ZoneList_Warning_Code "NEXT_HOP_ADDRESS_NOT_ASSIGNED"
  
  -- | The route\'s next hop instance cannot ip forward.
  pattern ZoneList_Warning_Code_NEXTHOPCANNOTIPFORWARD :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPCANNOTIPFORWARD = ZoneList_Warning_Code "NEXT_HOP_CANNOT_IP_FORWARD"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE = ZoneList_Warning_Code "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE"
  
  -- | The route\'s nextHopInstance URL refers to an instance that does not exist.
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCENOTFOUND :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCENOTFOUND = ZoneList_Warning_Code "NEXT_HOP_INSTANCE_NOT_FOUND"
  
  -- | The route\'s nextHopInstance URL refers to an instance that is not on the same network as the route.
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK = ZoneList_Warning_Code "NEXT_HOP_INSTANCE_NOT_ON_NETWORK"
  
  -- | The route\'s next hop instance does not have a status of RUNNING.
  pattern ZoneList_Warning_Code_NEXTHOPNOTRUNNING :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NEXTHOPNOTRUNNING = ZoneList_Warning_Code "NEXT_HOP_NOT_RUNNING"
  
  -- | Error which is not critical. We decided to continue the process despite the mentioned error.
  pattern ZoneList_Warning_Code_NOTCRITICALERROR :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NOTCRITICALERROR = ZoneList_Warning_Code "NOT_CRITICAL_ERROR"
  
  -- | No results are present on a particular list page.
  pattern ZoneList_Warning_Code_NORESULTSONPAGE :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_NORESULTSONPAGE = ZoneList_Warning_Code "NO_RESULTS_ON_PAGE"
  
  -- | Success is reported, but some results may be missing due to errors
  pattern ZoneList_Warning_Code_PARTIALSUCCESS :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_PARTIALSUCCESS = ZoneList_Warning_Code "PARTIAL_SUCCESS"
  
  -- | Quota information is not available to client requests (e.g: regions.list).
  pattern ZoneList_Warning_Code_QUOTAINFOUNAVAILABLE :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_QUOTAINFOUNAVAILABLE = ZoneList_Warning_Code "QUOTA_INFO_UNAVAILABLE"
  
  -- | The user attempted to use a resource that requires a TOS they have not accepted.
  pattern ZoneList_Warning_Code_REQUIREDTOSAGREEMENT :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_REQUIREDTOSAGREEMENT = ZoneList_Warning_Code "REQUIRED_TOS_AGREEMENT"
  
  -- | Warning that a resource is in use.
  pattern ZoneList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING = ZoneList_Warning_Code "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING"
  
  -- | One or more of the resources set to auto-delete could not be deleted because they were in use.
  pattern ZoneList_Warning_Code_RESOURCENOTDELETED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_RESOURCENOTDELETED = ZoneList_Warning_Code "RESOURCE_NOT_DELETED"
  
  -- | When a resource schema validation is ignored.
  pattern ZoneList_Warning_Code_SCHEMAVALIDATIONIGNORED :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_SCHEMAVALIDATIONIGNORED = ZoneList_Warning_Code "SCHEMA_VALIDATION_IGNORED"
  
  -- | Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.
  pattern ZoneList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE = ZoneList_Warning_Code "SINGLE_INSTANCE_PROPERTY_TEMPLATE"
  
  -- | When undeclared properties in the schema are present
  pattern ZoneList_Warning_Code_UNDECLAREDPROPERTIES :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_UNDECLAREDPROPERTIES = ZoneList_Warning_Code "UNDECLARED_PROPERTIES"
  
  -- | A given scope cannot be reached.
  pattern ZoneList_Warning_Code_Unreachable :: ZoneList_Warning_Code
  pattern ZoneList_Warning_Code_Unreachable = ZoneList_Warning_Code "UNREACHABLE"
  
  {-# COMPLETE
    ZoneList_Warning_Code_CLEANUPFAILED,
    ZoneList_Warning_Code_DEPRECATEDRESOURCEUSED,
    ZoneList_Warning_Code_DEPRECATEDTYPEUSED,
    ZoneList_Warning_Code_DISKSIZELARGERTHANIMAGESIZE,
    ZoneList_Warning_Code_EXPERIMENTALTYPEUSED,
    ZoneList_Warning_Code_EXTERNALAPIWARNING,
    ZoneList_Warning_Code_FIELDVALUEOVERRIDEN,
    ZoneList_Warning_Code_INJECTEDKERNELSDEPRECATED,
    ZoneList_Warning_Code_INVALIDHEALTHCHECKFORDYNAMICWIEGHTEDLB,
    ZoneList_Warning_Code_LARGEDEPLOYMENTWARNING,
    ZoneList_Warning_Code_LISTOVERHEADQUOTAEXCEED,
    ZoneList_Warning_Code_MISSINGTYPEDEPENDENCY,
    ZoneList_Warning_Code_NEXTHOPADDRESSNOTASSIGNED,
    ZoneList_Warning_Code_NEXTHOPCANNOTIPFORWARD,
    ZoneList_Warning_Code_NEXTHOPINSTANCEHASNOIPV6INTERFACE,
    ZoneList_Warning_Code_NEXTHOPINSTANCENOTFOUND,
    ZoneList_Warning_Code_NEXTHOPINSTANCENOTONNETWORK,
    ZoneList_Warning_Code_NEXTHOPNOTRUNNING,
    ZoneList_Warning_Code_NOTCRITICALERROR,
    ZoneList_Warning_Code_NORESULTSONPAGE,
    ZoneList_Warning_Code_PARTIALSUCCESS,
    ZoneList_Warning_Code_QUOTAINFOUNAVAILABLE,
    ZoneList_Warning_Code_REQUIREDTOSAGREEMENT,
    ZoneList_Warning_Code_RESOURCEINUSEBYOTHERRESOURCEWARNING,
    ZoneList_Warning_Code_RESOURCENOTDELETED,
    ZoneList_Warning_Code_SCHEMAVALIDATIONIGNORED,
    ZoneList_Warning_Code_SINGLEINSTANCEPROPERTYTEMPLATE,
    ZoneList_Warning_Code_UNDECLAREDPROPERTIES,
    ZoneList_Warning_Code_Unreachable,
    ZoneList_Warning_Code
    #-}
  
  -- | Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require.
  newtype InstancesUpdateMinimalAction = InstancesUpdateMinimalAction {fromInstancesUpdateMinimalAction :: 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
      )
  
  pattern InstancesUpdateMinimalAction_Invalid :: InstancesUpdateMinimalAction
  pattern InstancesUpdateMinimalAction_Invalid = InstancesUpdateMinimalAction "INVALID"
  
  -- | No changes can be made to the instance.
  pattern InstancesUpdateMinimalAction_NOEFFECT :: InstancesUpdateMinimalAction
  pattern InstancesUpdateMinimalAction_NOEFFECT = InstancesUpdateMinimalAction "NO_EFFECT"
  
  -- | The instance will not restart.
  pattern InstancesUpdateMinimalAction_Refresh :: InstancesUpdateMinimalAction
  pattern InstancesUpdateMinimalAction_Refresh = InstancesUpdateMinimalAction "REFRESH"
  
  -- | The instance will restart.
  pattern InstancesUpdateMinimalAction_Restart :: InstancesUpdateMinimalAction
  pattern InstancesUpdateMinimalAction_Restart = InstancesUpdateMinimalAction "RESTART"
  
  {-# COMPLETE
    InstancesUpdateMinimalAction_Invalid,
    InstancesUpdateMinimalAction_NOEFFECT,
    InstancesUpdateMinimalAction_Refresh,
    InstancesUpdateMinimalAction_Restart,
    InstancesUpdateMinimalAction
    #-}
  
  -- | Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART.
  newtype InstancesUpdateMostDisruptiveAllowedAction = InstancesUpdateMostDisruptiveAllowedAction {fromInstancesUpdateMostDisruptiveAllowedAction :: 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
      )
  
  pattern InstancesUpdateMostDisruptiveAllowedAction_Invalid :: InstancesUpdateMostDisruptiveAllowedAction
  pattern InstancesUpdateMostDisruptiveAllowedAction_Invalid = InstancesUpdateMostDisruptiveAllowedAction "INVALID"
  
  -- | No changes can be made to the instance.
  pattern InstancesUpdateMostDisruptiveAllowedAction_NOEFFECT :: InstancesUpdateMostDisruptiveAllowedAction
  pattern InstancesUpdateMostDisruptiveAllowedAction_NOEFFECT = InstancesUpdateMostDisruptiveAllowedAction "NO_EFFECT"
  
  -- | The instance will not restart.
  pattern InstancesUpdateMostDisruptiveAllowedAction_Refresh :: InstancesUpdateMostDisruptiveAllowedAction
  pattern InstancesUpdateMostDisruptiveAllowedAction_Refresh = InstancesUpdateMostDisruptiveAllowedAction "REFRESH"
  
  -- | The instance will restart.
  pattern InstancesUpdateMostDisruptiveAllowedAction_Restart :: InstancesUpdateMostDisruptiveAllowedAction
  pattern InstancesUpdateMostDisruptiveAllowedAction_Restart = InstancesUpdateMostDisruptiveAllowedAction "RESTART"
  
  {-# COMPLETE
    InstancesUpdateMostDisruptiveAllowedAction_Invalid,
    InstancesUpdateMostDisruptiveAllowedAction_NOEFFECT,
    InstancesUpdateMostDisruptiveAllowedAction_Refresh,
    InstancesUpdateMostDisruptiveAllowedAction_Restart,
    InstancesUpdateMostDisruptiveAllowedAction
    #-}
  
  -- | The direction of the exchanged routes.
  newtype NetworksListPeeringRoutesDirection = NetworksListPeeringRoutesDirection {fromNetworksListPeeringRoutesDirection :: 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
      )
  
  -- | For routes exported from peer network.
  pattern NetworksListPeeringRoutesDirection_Incoming :: NetworksListPeeringRoutesDirection
  pattern NetworksListPeeringRoutesDirection_Incoming = NetworksListPeeringRoutesDirection "INCOMING"
  
  -- | For routes exported from local network.
  pattern NetworksListPeeringRoutesDirection_Outgoing :: NetworksListPeeringRoutesDirection
  pattern NetworksListPeeringRoutesDirection_Outgoing = NetworksListPeeringRoutesDirection "OUTGOING"
  
  {-# COMPLETE
    NetworksListPeeringRoutesDirection_Incoming,
    NetworksListPeeringRoutesDirection_Outgoing,
    NetworksListPeeringRoutesDirection
    #-}
  
  -- | (Required) limit results to this address family (either IPv4 or IPv6)
  newtype RoutersListBgpRoutesAddressFamily = RoutersListBgpRoutesAddressFamily {fromRoutersListBgpRoutesAddressFamily :: 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
      )
  
  pattern RoutersListBgpRoutesAddressFamily_IPV4 :: RoutersListBgpRoutesAddressFamily
  pattern RoutersListBgpRoutesAddressFamily_IPV4 = RoutersListBgpRoutesAddressFamily "IPV4"
  
  pattern RoutersListBgpRoutesAddressFamily_IPV6 :: RoutersListBgpRoutesAddressFamily
  pattern RoutersListBgpRoutesAddressFamily_IPV6 = RoutersListBgpRoutesAddressFamily "IPV6"
  
  pattern RoutersListBgpRoutesAddressFamily_UNSPECIFIEDIPVERSION :: RoutersListBgpRoutesAddressFamily
  pattern RoutersListBgpRoutesAddressFamily_UNSPECIFIEDIPVERSION = RoutersListBgpRoutesAddressFamily "UNSPECIFIED_IP_VERSION"
  
  {-# COMPLETE
    RoutersListBgpRoutesAddressFamily_IPV4,
    RoutersListBgpRoutesAddressFamily_IPV6,
    RoutersListBgpRoutesAddressFamily_UNSPECIFIEDIPVERSION,
    RoutersListBgpRoutesAddressFamily
    #-}
  
  -- | (Required) limit results to this type of route (either LEARNED or ADVERTISED)
  newtype RoutersListBgpRoutesRouteType = RoutersListBgpRoutesRouteType {fromRoutersListBgpRoutesRouteType :: 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
      )
  
  pattern RoutersListBgpRoutesRouteType_Advertised :: RoutersListBgpRoutesRouteType
  pattern RoutersListBgpRoutesRouteType_Advertised = RoutersListBgpRoutesRouteType "ADVERTISED"
  
  pattern RoutersListBgpRoutesRouteType_Learned :: RoutersListBgpRoutesRouteType
  pattern RoutersListBgpRoutesRouteType_Learned = RoutersListBgpRoutesRouteType "LEARNED"
  
  pattern RoutersListBgpRoutesRouteType_UNSPECIFIEDROUTETYPE :: RoutersListBgpRoutesRouteType
  pattern RoutersListBgpRoutesRouteType_UNSPECIFIEDROUTETYPE = RoutersListBgpRoutesRouteType "UNSPECIFIED_ROUTE_TYPE"
  
  {-# COMPLETE
    RoutersListBgpRoutesRouteType_Advertised,
    RoutersListBgpRoutesRouteType_Learned,
    RoutersListBgpRoutesRouteType_UNSPECIFIEDROUTETYPE,
    RoutersListBgpRoutesRouteType
    #-}
  