{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -Wall -Werror #-}
module Network.AWS.Route53.Internal
( Region (..)
, ResourceId (..)
, getHostedZoneId
) where
import Data.String (IsString)
import Network.AWS.Data.Log (ToLog)
import Network.AWS.Prelude
import qualified Data.Text as Text
newtype ResourceId = ResourceId { fromResourceId :: Text }
deriving
( Eq
, Ord
, Read
, Show
, Data
, Typeable
, Generic
, IsString
, FromText
, ToText
, ToByteString
, ToXML
, ToQuery
, ToLog
)
instance Hashable ResourceId
instance NFData ResourceId
instance FromXML ResourceId where
parseXML = fmap (ResourceId . Text.takeWhileEnd (/= '/')) . parseXML
getHostedZoneId :: Region -> Maybe ResourceId
getHostedZoneId = \case
NorthVirginia -> Just "Z3AQBSTGFYJSTF"
Ohio -> Just "Z2O1EMRO9K5GLX"
NorthCalifornia -> Just "Z2F56UZL2M1ACD"
Oregon -> Just "Z3BJ6K6RIION7M"
Montreal -> Just "Z1QDHH18159H29"
Tokyo -> Just "Z2M4EHUR26P7ZW"
Seoul -> Just "Z3W03O7B5YMIYP"
Mumbai -> Just "Z11RGJOFQNVJUP"
Singapore -> Just "Z3O0J2DXBE1FTB"
Sydney -> Just "Z1WCIGYICN2BYD"
SaoPaulo -> Just "Z7KQH4QJS55SO"
Ireland -> Just "Z1BKCTXD74EZPE"
London -> Just "Z3GKZC51ZF0DB4"
Frankfurt -> Just "Z21DNDUVLTQW6Q"
GovCloud -> Just "Z31GFT0UA1I2HV"
GovCloudFIPS -> Just "Z31GFT0UA1I2HV"
Beijing -> Nothing