{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TupleSections #-}
module Google.Cloud.Compute.Firewall
( listFirewalls
, FirewallList (..)
, FirewallMeta (..)
, AllowedFirewall (..)
, createFirewall
, CreateFirewallOps (..)
, CreateFirewallResp
, Operation (..)
, Warning (..)
, WarningData (..)
, LogConfig (..)
, DeniedFirewall (..)
, defaultCreateFirewallOps
) where
import Data.Aeson
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as BS8
import Data.Maybe
import Google.Cloud.Common.Core
import Google.Cloud.Compute.Common
data Warning = Warning
{ Warning -> String
code :: String
, Warning -> String
message :: String
, Warning -> Maybe [WarningData]
data_ :: Maybe [WarningData]
}
deriving (Int -> Warning -> ShowS
[Warning] -> ShowS
Warning -> String
(Int -> Warning -> ShowS)
-> (Warning -> String) -> ([Warning] -> ShowS) -> Show Warning
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Warning -> ShowS
showsPrec :: Int -> Warning -> ShowS
$cshow :: Warning -> String
show :: Warning -> String
$cshowList :: [Warning] -> ShowS
showList :: [Warning] -> ShowS
Show, Warning -> Warning -> Bool
(Warning -> Warning -> Bool)
-> (Warning -> Warning -> Bool) -> Eq Warning
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Warning -> Warning -> Bool
== :: Warning -> Warning -> Bool
$c/= :: Warning -> Warning -> Bool
/= :: Warning -> Warning -> Bool
Eq)
data WarningData = WarningData
{ WarningData -> String
key :: String
, WarningData -> String
value :: String
}
deriving (Int -> WarningData -> ShowS
[WarningData] -> ShowS
WarningData -> String
(Int -> WarningData -> ShowS)
-> (WarningData -> String)
-> ([WarningData] -> ShowS)
-> Show WarningData
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WarningData -> ShowS
showsPrec :: Int -> WarningData -> ShowS
$cshow :: WarningData -> String
show :: WarningData -> String
$cshowList :: [WarningData] -> ShowS
showList :: [WarningData] -> ShowS
Show, WarningData -> WarningData -> Bool
(WarningData -> WarningData -> Bool)
-> (WarningData -> WarningData -> Bool) -> Eq WarningData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WarningData -> WarningData -> Bool
== :: WarningData -> WarningData -> Bool
$c/= :: WarningData -> WarningData -> Bool
/= :: WarningData -> WarningData -> Bool
Eq)
data FirewallList = FirewallList
{ FirewallList -> Maybe String
kind :: Maybe String
, FirewallList -> Maybe String
id :: Maybe String
, FirewallList -> Maybe [FirewallMeta]
items :: Maybe [FirewallMeta]
, FirewallList -> Maybe String
nextPageToken :: Maybe String
, FirewallList -> Maybe String
selfLink :: Maybe String
, FirewallList -> Maybe Warning
warning :: Maybe Warning
}
deriving (Int -> FirewallList -> ShowS
[FirewallList] -> ShowS
FirewallList -> String
(Int -> FirewallList -> ShowS)
-> (FirewallList -> String)
-> ([FirewallList] -> ShowS)
-> Show FirewallList
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FirewallList -> ShowS
showsPrec :: Int -> FirewallList -> ShowS
$cshow :: FirewallList -> String
show :: FirewallList -> String
$cshowList :: [FirewallList] -> ShowS
showList :: [FirewallList] -> ShowS
Show, FirewallList -> FirewallList -> Bool
(FirewallList -> FirewallList -> Bool)
-> (FirewallList -> FirewallList -> Bool) -> Eq FirewallList
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FirewallList -> FirewallList -> Bool
== :: FirewallList -> FirewallList -> Bool
$c/= :: FirewallList -> FirewallList -> Bool
/= :: FirewallList -> FirewallList -> Bool
Eq)
data FirewallMeta = FirewallMeta
{ FirewallMeta -> Maybe String
kind :: Maybe String
, FirewallMeta -> Maybe String
id :: Maybe String
, FirewallMeta -> Maybe String
creationTimestamp :: Maybe String
, FirewallMeta -> Maybe String
name :: Maybe String
, FirewallMeta -> Maybe String
description :: Maybe String
, FirewallMeta -> Maybe String
network :: Maybe String
, FirewallMeta -> Maybe Int
priority :: Maybe Int
, FirewallMeta -> Maybe [String]
sourceRanges :: Maybe [String]
, FirewallMeta -> Maybe [String]
sourceTags :: Maybe [String]
, FirewallMeta -> Maybe [String]
targetTags :: Maybe [String]
, FirewallMeta -> Maybe [AllowedFirewall]
allowed :: Maybe [AllowedFirewall]
, FirewallMeta -> Maybe [DeniedFirewall]
denied :: Maybe [DeniedFirewall]
, FirewallMeta -> Maybe String
direction :: Maybe String
, FirewallMeta -> Maybe LogConfig
logConfig :: Maybe LogConfig
, FirewallMeta -> Maybe Bool
disabled :: Maybe Bool
, FirewallMeta -> Maybe String
selfLink :: Maybe String
}
deriving (Int -> FirewallMeta -> ShowS
[FirewallMeta] -> ShowS
FirewallMeta -> String
(Int -> FirewallMeta -> ShowS)
-> (FirewallMeta -> String)
-> ([FirewallMeta] -> ShowS)
-> Show FirewallMeta
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FirewallMeta -> ShowS
showsPrec :: Int -> FirewallMeta -> ShowS
$cshow :: FirewallMeta -> String
show :: FirewallMeta -> String
$cshowList :: [FirewallMeta] -> ShowS
showList :: [FirewallMeta] -> ShowS
Show, FirewallMeta -> FirewallMeta -> Bool
(FirewallMeta -> FirewallMeta -> Bool)
-> (FirewallMeta -> FirewallMeta -> Bool) -> Eq FirewallMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FirewallMeta -> FirewallMeta -> Bool
== :: FirewallMeta -> FirewallMeta -> Bool
$c/= :: FirewallMeta -> FirewallMeta -> Bool
/= :: FirewallMeta -> FirewallMeta -> Bool
Eq)
data AllowedFirewall = AllowedFirewall
{ AllowedFirewall -> String
iPProtocol :: String
, AllowedFirewall -> Maybe [String]
ports :: Maybe [String]
}
deriving (Int -> AllowedFirewall -> ShowS
[AllowedFirewall] -> ShowS
AllowedFirewall -> String
(Int -> AllowedFirewall -> ShowS)
-> (AllowedFirewall -> String)
-> ([AllowedFirewall] -> ShowS)
-> Show AllowedFirewall
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AllowedFirewall -> ShowS
showsPrec :: Int -> AllowedFirewall -> ShowS
$cshow :: AllowedFirewall -> String
show :: AllowedFirewall -> String
$cshowList :: [AllowedFirewall] -> ShowS
showList :: [AllowedFirewall] -> ShowS
Show, AllowedFirewall -> AllowedFirewall -> Bool
(AllowedFirewall -> AllowedFirewall -> Bool)
-> (AllowedFirewall -> AllowedFirewall -> Bool)
-> Eq AllowedFirewall
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AllowedFirewall -> AllowedFirewall -> Bool
== :: AllowedFirewall -> AllowedFirewall -> Bool
$c/= :: AllowedFirewall -> AllowedFirewall -> Bool
/= :: AllowedFirewall -> AllowedFirewall -> Bool
Eq)
data DeniedFirewall = DeniedFirewall
{ DeniedFirewall -> String
iPProtocol :: String
, DeniedFirewall -> Maybe [String]
ports :: Maybe [String]
}
deriving (Int -> DeniedFirewall -> ShowS
[DeniedFirewall] -> ShowS
DeniedFirewall -> String
(Int -> DeniedFirewall -> ShowS)
-> (DeniedFirewall -> String)
-> ([DeniedFirewall] -> ShowS)
-> Show DeniedFirewall
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DeniedFirewall -> ShowS
showsPrec :: Int -> DeniedFirewall -> ShowS
$cshow :: DeniedFirewall -> String
show :: DeniedFirewall -> String
$cshowList :: [DeniedFirewall] -> ShowS
showList :: [DeniedFirewall] -> ShowS
Show, DeniedFirewall -> DeniedFirewall -> Bool
(DeniedFirewall -> DeniedFirewall -> Bool)
-> (DeniedFirewall -> DeniedFirewall -> Bool) -> Eq DeniedFirewall
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeniedFirewall -> DeniedFirewall -> Bool
== :: DeniedFirewall -> DeniedFirewall -> Bool
$c/= :: DeniedFirewall -> DeniedFirewall -> Bool
/= :: DeniedFirewall -> DeniedFirewall -> Bool
Eq)
data LogConfig = LogConfig
{ LogConfig -> Bool
enable :: Bool
, LogConfig -> Maybe String
metadata :: Maybe String
}
deriving (Int -> LogConfig -> ShowS
[LogConfig] -> ShowS
LogConfig -> String
(Int -> LogConfig -> ShowS)
-> (LogConfig -> String)
-> ([LogConfig] -> ShowS)
-> Show LogConfig
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LogConfig -> ShowS
showsPrec :: Int -> LogConfig -> ShowS
$cshow :: LogConfig -> String
show :: LogConfig -> String
$cshowList :: [LogConfig] -> ShowS
showList :: [LogConfig] -> ShowS
Show, LogConfig -> LogConfig -> Bool
(LogConfig -> LogConfig -> Bool)
-> (LogConfig -> LogConfig -> Bool) -> Eq LogConfig
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LogConfig -> LogConfig -> Bool
== :: LogConfig -> LogConfig -> Bool
$c/= :: LogConfig -> LogConfig -> Bool
/= :: LogConfig -> LogConfig -> Bool
Eq)
data Operation = Operation
{ CreateFirewallResp -> Maybe String
id :: Maybe String
, CreateFirewallResp -> Maybe String
name :: Maybe String
, CreateFirewallResp -> Maybe String
operationType :: Maybe String
, CreateFirewallResp -> Maybe String
targetLink :: Maybe String
, CreateFirewallResp -> Maybe String
status :: Maybe String
, CreateFirewallResp -> Maybe Int
progress :: Maybe Int
, CreateFirewallResp -> Maybe String
insertTime :: Maybe String
, CreateFirewallResp -> Maybe String
startTime :: Maybe String
, CreateFirewallResp -> Maybe String
endTime :: Maybe String
, CreateFirewallResp -> Maybe OperationError
error_ :: Maybe OperationError
, CreateFirewallResp -> Maybe [Warning]
warnings :: Maybe [Warning]
, CreateFirewallResp -> Maybe String
selfLink :: Maybe String
}
deriving (Int -> CreateFirewallResp -> ShowS
[CreateFirewallResp] -> ShowS
CreateFirewallResp -> String
(Int -> CreateFirewallResp -> ShowS)
-> (CreateFirewallResp -> String)
-> ([CreateFirewallResp] -> ShowS)
-> Show CreateFirewallResp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateFirewallResp -> ShowS
showsPrec :: Int -> CreateFirewallResp -> ShowS
$cshow :: CreateFirewallResp -> String
show :: CreateFirewallResp -> String
$cshowList :: [CreateFirewallResp] -> ShowS
showList :: [CreateFirewallResp] -> ShowS
Show, CreateFirewallResp -> CreateFirewallResp -> Bool
(CreateFirewallResp -> CreateFirewallResp -> Bool)
-> (CreateFirewallResp -> CreateFirewallResp -> Bool)
-> Eq CreateFirewallResp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreateFirewallResp -> CreateFirewallResp -> Bool
== :: CreateFirewallResp -> CreateFirewallResp -> Bool
$c/= :: CreateFirewallResp -> CreateFirewallResp -> Bool
/= :: CreateFirewallResp -> CreateFirewallResp -> Bool
Eq)
data OperationError = OperationError
{ OperationError -> [ErrorDetail]
errors :: [ErrorDetail]
}
deriving (Int -> OperationError -> ShowS
[OperationError] -> ShowS
OperationError -> String
(Int -> OperationError -> ShowS)
-> (OperationError -> String)
-> ([OperationError] -> ShowS)
-> Show OperationError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OperationError -> ShowS
showsPrec :: Int -> OperationError -> ShowS
$cshow :: OperationError -> String
show :: OperationError -> String
$cshowList :: [OperationError] -> ShowS
showList :: [OperationError] -> ShowS
Show, OperationError -> OperationError -> Bool
(OperationError -> OperationError -> Bool)
-> (OperationError -> OperationError -> Bool) -> Eq OperationError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OperationError -> OperationError -> Bool
== :: OperationError -> OperationError -> Bool
$c/= :: OperationError -> OperationError -> Bool
/= :: OperationError -> OperationError -> Bool
Eq)
data ErrorDetail = ErrorDetail
{ ErrorDetail -> String
code :: String
, ErrorDetail -> String
message :: String
, ErrorDetail -> Maybe String
location :: Maybe String
}
deriving (Int -> ErrorDetail -> ShowS
[ErrorDetail] -> ShowS
ErrorDetail -> String
(Int -> ErrorDetail -> ShowS)
-> (ErrorDetail -> String)
-> ([ErrorDetail] -> ShowS)
-> Show ErrorDetail
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ErrorDetail -> ShowS
showsPrec :: Int -> ErrorDetail -> ShowS
$cshow :: ErrorDetail -> String
show :: ErrorDetail -> String
$cshowList :: [ErrorDetail] -> ShowS
showList :: [ErrorDetail] -> ShowS
Show, ErrorDetail -> ErrorDetail -> Bool
(ErrorDetail -> ErrorDetail -> Bool)
-> (ErrorDetail -> ErrorDetail -> Bool) -> Eq ErrorDetail
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorDetail -> ErrorDetail -> Bool
== :: ErrorDetail -> ErrorDetail -> Bool
$c/= :: ErrorDetail -> ErrorDetail -> Bool
/= :: ErrorDetail -> ErrorDetail -> Bool
Eq)
data CreateFirewallOps = CreateFirewallOps
{ CreateFirewallOps -> String
name :: String
, CreateFirewallOps -> Maybe String
description :: Maybe String
, CreateFirewallOps -> Maybe String
network :: Maybe String
, CreateFirewallOps -> Maybe Int
priority :: Maybe Int
, CreateFirewallOps -> Maybe [String]
sourceRanges :: Maybe [String]
, CreateFirewallOps -> Maybe [String]
sourceTags :: Maybe [String]
, CreateFirewallOps -> Maybe [String]
targetTags :: Maybe [String]
, CreateFirewallOps -> Maybe [AllowedFirewall]
allowed :: Maybe [AllowedFirewall]
, CreateFirewallOps -> Maybe [DeniedFirewall]
denied :: Maybe [DeniedFirewall]
, CreateFirewallOps -> Maybe String
direction :: Maybe String
, CreateFirewallOps -> Maybe LogConfig
logConfig :: Maybe LogConfig
, CreateFirewallOps -> Maybe Bool
disabled :: Maybe Bool
}
deriving (Int -> CreateFirewallOps -> ShowS
[CreateFirewallOps] -> ShowS
CreateFirewallOps -> String
(Int -> CreateFirewallOps -> ShowS)
-> (CreateFirewallOps -> String)
-> ([CreateFirewallOps] -> ShowS)
-> Show CreateFirewallOps
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateFirewallOps -> ShowS
showsPrec :: Int -> CreateFirewallOps -> ShowS
$cshow :: CreateFirewallOps -> String
show :: CreateFirewallOps -> String
$cshowList :: [CreateFirewallOps] -> ShowS
showList :: [CreateFirewallOps] -> ShowS
Show, CreateFirewallOps -> CreateFirewallOps -> Bool
(CreateFirewallOps -> CreateFirewallOps -> Bool)
-> (CreateFirewallOps -> CreateFirewallOps -> Bool)
-> Eq CreateFirewallOps
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreateFirewallOps -> CreateFirewallOps -> Bool
== :: CreateFirewallOps -> CreateFirewallOps -> Bool
$c/= :: CreateFirewallOps -> CreateFirewallOps -> Bool
/= :: CreateFirewallOps -> CreateFirewallOps -> Bool
Eq)
type CreateFirewallResp = Operation
instance FromJSON WarningData where
parseJSON :: Value -> Parser WarningData
parseJSON = String
-> (Object -> Parser WarningData) -> Value -> Parser WarningData
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"WarningData" ((Object -> Parser WarningData) -> Value -> Parser WarningData)
-> (Object -> Parser WarningData) -> Value -> Parser WarningData
forall a b. (a -> b) -> a -> b
$ \Object
v ->
String -> String -> WarningData
WarningData
(String -> String -> WarningData)
-> Parser String -> Parser (String -> WarningData)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"key"
Parser (String -> WarningData)
-> Parser String -> Parser WarningData
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"value"
instance ToJSON WarningData where
toJSON :: WarningData -> Value
toJSON (WarningData String
k String
v) =
[Pair] -> Value
object
[ Key
"key" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
k
, Key
"value" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
v
]
instance FromJSON Warning where
parseJSON :: Value -> Parser Warning
parseJSON = String -> (Object -> Parser Warning) -> Value -> Parser Warning
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"Warning" ((Object -> Parser Warning) -> Value -> Parser Warning)
-> (Object -> Parser Warning) -> Value -> Parser Warning
forall a b. (a -> b) -> a -> b
$ \Object
v ->
String -> String -> Maybe [WarningData] -> Warning
Warning
(String -> String -> Maybe [WarningData] -> Warning)
-> Parser String
-> Parser (String -> Maybe [WarningData] -> Warning)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"code"
Parser (String -> Maybe [WarningData] -> Warning)
-> Parser String -> Parser (Maybe [WarningData] -> Warning)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"message"
Parser (Maybe [WarningData] -> Warning)
-> Parser (Maybe [WarningData]) -> Parser Warning
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [WarningData])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"data"
instance ToJSON Warning where
toJSON :: Warning -> Value
toJSON (Warning String
c String
m Maybe [WarningData]
d) =
[Pair] -> Value
object
[ Key
"code" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
c
, Key
"message" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
m
, Key
"data" Key -> Maybe [WarningData] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [WarningData]
d
]
instance FromJSON LogConfig where
parseJSON :: Value -> Parser LogConfig
parseJSON = String -> (Object -> Parser LogConfig) -> Value -> Parser LogConfig
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"LogConfig" ((Object -> Parser LogConfig) -> Value -> Parser LogConfig)
-> (Object -> Parser LogConfig) -> Value -> Parser LogConfig
forall a b. (a -> b) -> a -> b
$ \Object
v ->
Bool -> Maybe String -> LogConfig
LogConfig
(Bool -> Maybe String -> LogConfig)
-> Parser Bool -> Parser (Maybe String -> LogConfig)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser Bool
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"enable"
Parser (Maybe String -> LogConfig)
-> Parser (Maybe String) -> Parser LogConfig
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"metadata"
instance ToJSON LogConfig where
toJSON :: LogConfig -> Value
toJSON (LogConfig Bool
e Maybe String
m) =
[Pair] -> Value
object
[ Key
"enable" Key -> Bool -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Bool
e
, Key
"metadata" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
m
]
instance FromJSON AllowedFirewall where
parseJSON :: Value -> Parser AllowedFirewall
parseJSON = String
-> (Object -> Parser AllowedFirewall)
-> Value
-> Parser AllowedFirewall
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"AllowedFirewall" ((Object -> Parser AllowedFirewall)
-> Value -> Parser AllowedFirewall)
-> (Object -> Parser AllowedFirewall)
-> Value
-> Parser AllowedFirewall
forall a b. (a -> b) -> a -> b
$ \Object
v ->
String -> Maybe [String] -> AllowedFirewall
AllowedFirewall
(String -> Maybe [String] -> AllowedFirewall)
-> Parser String -> Parser (Maybe [String] -> AllowedFirewall)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"IPProtocol"
Parser (Maybe [String] -> AllowedFirewall)
-> Parser (Maybe [String]) -> Parser AllowedFirewall
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [String])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"ports"
instance ToJSON AllowedFirewall where
toJSON :: AllowedFirewall -> Value
toJSON (AllowedFirewall String
i Maybe [String]
p) =
[Pair] -> Value
object
[ Key
"IPProtocol" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
i
, Key
"ports" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
p
]
instance FromJSON DeniedFirewall where
parseJSON :: Value -> Parser DeniedFirewall
parseJSON = String
-> (Object -> Parser DeniedFirewall)
-> Value
-> Parser DeniedFirewall
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"DeniedFirewall" ((Object -> Parser DeniedFirewall)
-> Value -> Parser DeniedFirewall)
-> (Object -> Parser DeniedFirewall)
-> Value
-> Parser DeniedFirewall
forall a b. (a -> b) -> a -> b
$ \Object
v ->
String -> Maybe [String] -> DeniedFirewall
DeniedFirewall
(String -> Maybe [String] -> DeniedFirewall)
-> Parser String -> Parser (Maybe [String] -> DeniedFirewall)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"IPProtocol"
Parser (Maybe [String] -> DeniedFirewall)
-> Parser (Maybe [String]) -> Parser DeniedFirewall
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [String])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"ports"
instance ToJSON DeniedFirewall where
toJSON :: DeniedFirewall -> Value
toJSON (DeniedFirewall String
i Maybe [String]
p) =
[Pair] -> Value
object
[ Key
"IPProtocol" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
i
, Key
"ports" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
p
]
instance FromJSON FirewallMeta where
parseJSON :: Value -> Parser FirewallMeta
parseJSON = String
-> (Object -> Parser FirewallMeta) -> Value -> Parser FirewallMeta
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"FirewallMeta" ((Object -> Parser FirewallMeta) -> Value -> Parser FirewallMeta)
-> (Object -> Parser FirewallMeta) -> Value -> Parser FirewallMeta
forall a b. (a -> b) -> a -> b
$ \Object
v ->
Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta
FirewallMeta
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"kind"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"id"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"creationTimestamp"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"name"
Parser
(Maybe String
-> Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"description"
Parser
(Maybe String
-> Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"network"
Parser
(Maybe Int
-> Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe Int)
-> Parser
(Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"priority"
Parser
(Maybe [String]
-> Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe [String])
-> Parser
(Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [String])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"sourceRanges"
Parser
(Maybe [String]
-> Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe [String])
-> Parser
(Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [String])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"sourceTags"
Parser
(Maybe [String]
-> Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe [String])
-> Parser
(Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [String])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"targetTags"
Parser
(Maybe [AllowedFirewall]
-> Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe [AllowedFirewall])
-> Parser
(Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [AllowedFirewall])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"allowed"
Parser
(Maybe [DeniedFirewall]
-> Maybe String
-> Maybe LogConfig
-> Maybe Bool
-> Maybe String
-> FirewallMeta)
-> Parser (Maybe [DeniedFirewall])
-> Parser
(Maybe String
-> Maybe LogConfig -> Maybe Bool -> Maybe String -> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [DeniedFirewall])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"denied"
Parser
(Maybe String
-> Maybe LogConfig -> Maybe Bool -> Maybe String -> FirewallMeta)
-> Parser (Maybe String)
-> Parser
(Maybe LogConfig -> Maybe Bool -> Maybe String -> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"direction"
Parser
(Maybe LogConfig -> Maybe Bool -> Maybe String -> FirewallMeta)
-> Parser (Maybe LogConfig)
-> Parser (Maybe Bool -> Maybe String -> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe LogConfig)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"logConfig"
Parser (Maybe Bool -> Maybe String -> FirewallMeta)
-> Parser (Maybe Bool) -> Parser (Maybe String -> FirewallMeta)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"disabled"
Parser (Maybe String -> FirewallMeta)
-> Parser (Maybe String) -> Parser FirewallMeta
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"selfLink"
instance ToJSON FirewallMeta where
toJSON :: FirewallMeta -> Value
toJSON
( FirewallMeta
Maybe String
k
Maybe String
i
Maybe String
c
Maybe String
name_
Maybe String
description_
Maybe String
network_
Maybe Int
priority_
Maybe [String]
sourceRanges_
Maybe [String]
sourceTags_
Maybe [String]
targetTags_
Maybe [AllowedFirewall]
allowed_
Maybe [DeniedFirewall]
denied_
Maybe String
direction_
Maybe LogConfig
logConfig_
Maybe Bool
disabled_
Maybe String
selfLink_
) =
[Pair] -> Value
object
[ Key
"kind" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
k
, Key
"id" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
i
, Key
"creationTimestamp" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
c
, Key
"name" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
name_
, Key
"description" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
description_
, Key
"network" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
network_
, Key
"priority" Key -> Maybe Int -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Int
priority_
, Key
"sourceRanges" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
sourceRanges_
, Key
"sourceTags" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
sourceTags_
, Key
"targetTags" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
targetTags_
, Key
"allowed" Key -> Maybe [AllowedFirewall] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [AllowedFirewall]
allowed_
, Key
"denied" Key -> Maybe [DeniedFirewall] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [DeniedFirewall]
denied_
, Key
"direction" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
direction_
, Key
"logConfig" Key -> Maybe LogConfig -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe LogConfig
logConfig_
, Key
"disabled" Key -> Maybe Bool -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Bool
disabled_
, Key
"selfLink" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
selfLink_
]
instance FromJSON FirewallList where
parseJSON :: Value -> Parser FirewallList
parseJSON = String
-> (Object -> Parser FirewallList) -> Value -> Parser FirewallList
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"FirewallList" ((Object -> Parser FirewallList) -> Value -> Parser FirewallList)
-> (Object -> Parser FirewallList) -> Value -> Parser FirewallList
forall a b. (a -> b) -> a -> b
$ \Object
v ->
Maybe String
-> Maybe String
-> Maybe [FirewallMeta]
-> Maybe String
-> Maybe String
-> Maybe Warning
-> FirewallList
FirewallList
(Maybe String
-> Maybe String
-> Maybe [FirewallMeta]
-> Maybe String
-> Maybe String
-> Maybe Warning
-> FirewallList)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe [FirewallMeta]
-> Maybe String
-> Maybe String
-> Maybe Warning
-> FirewallList)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"kind"
Parser
(Maybe String
-> Maybe [FirewallMeta]
-> Maybe String
-> Maybe String
-> Maybe Warning
-> FirewallList)
-> Parser (Maybe String)
-> Parser
(Maybe [FirewallMeta]
-> Maybe String -> Maybe String -> Maybe Warning -> FirewallList)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"id"
Parser
(Maybe [FirewallMeta]
-> Maybe String -> Maybe String -> Maybe Warning -> FirewallList)
-> Parser (Maybe [FirewallMeta])
-> Parser
(Maybe String -> Maybe String -> Maybe Warning -> FirewallList)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [FirewallMeta])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"items"
Parser
(Maybe String -> Maybe String -> Maybe Warning -> FirewallList)
-> Parser (Maybe String)
-> Parser (Maybe String -> Maybe Warning -> FirewallList)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"nextPageToken"
Parser (Maybe String -> Maybe Warning -> FirewallList)
-> Parser (Maybe String) -> Parser (Maybe Warning -> FirewallList)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"selfLink"
Parser (Maybe Warning -> FirewallList)
-> Parser (Maybe Warning) -> Parser FirewallList
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe Warning)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"warning"
instance ToJSON FirewallList where
toJSON :: FirewallList -> Value
toJSON (FirewallList Maybe String
kind_ Maybe String
id_ Maybe [FirewallMeta]
items_ Maybe String
nextPageToken_ Maybe String
selfLink_ Maybe Warning
warning_) =
[Pair] -> Value
object
[ Key
"kind" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
kind_
, Key
"id" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
id_
, Key
"items" Key -> Maybe [FirewallMeta] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [FirewallMeta]
items_
, Key
"nextPageToken" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
nextPageToken_
, Key
"selfLink" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
selfLink_
, Key
"warning" Key -> Maybe Warning -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Warning
warning_
]
instance FromJSON ErrorDetail where
parseJSON :: Value -> Parser ErrorDetail
parseJSON = String
-> (Object -> Parser ErrorDetail) -> Value -> Parser ErrorDetail
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"ErrorDetail" ((Object -> Parser ErrorDetail) -> Value -> Parser ErrorDetail)
-> (Object -> Parser ErrorDetail) -> Value -> Parser ErrorDetail
forall a b. (a -> b) -> a -> b
$ \Object
v ->
String -> String -> Maybe String -> ErrorDetail
ErrorDetail
(String -> String -> Maybe String -> ErrorDetail)
-> Parser String -> Parser (String -> Maybe String -> ErrorDetail)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"code"
Parser (String -> Maybe String -> ErrorDetail)
-> Parser String -> Parser (Maybe String -> ErrorDetail)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser String
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"message"
Parser (Maybe String -> ErrorDetail)
-> Parser (Maybe String) -> Parser ErrorDetail
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"location"
instance ToJSON ErrorDetail where
toJSON :: ErrorDetail -> Value
toJSON (ErrorDetail String
code_ String
message_ Maybe String
location_) =
[Pair] -> Value
object
[ Key
"code" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
code_
, Key
"message" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
message_
, Key
"location" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
location_
]
instance FromJSON OperationError where
parseJSON :: Value -> Parser OperationError
parseJSON = String
-> (Object -> Parser OperationError)
-> Value
-> Parser OperationError
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"OperationError" ((Object -> Parser OperationError)
-> Value -> Parser OperationError)
-> (Object -> Parser OperationError)
-> Value
-> Parser OperationError
forall a b. (a -> b) -> a -> b
$ \Object
v ->
[ErrorDetail] -> OperationError
OperationError
([ErrorDetail] -> OperationError)
-> Parser [ErrorDetail] -> Parser OperationError
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser [ErrorDetail]
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"errors"
instance ToJSON OperationError where
toJSON :: OperationError -> Value
toJSON (OperationError [ErrorDetail]
errors_) =
[Pair] -> Value
object
[ Key
"errors" Key -> [ErrorDetail] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= [ErrorDetail]
errors_
]
instance FromJSON Operation where
parseJSON :: Value -> Parser CreateFirewallResp
parseJSON = String
-> (Object -> Parser CreateFirewallResp)
-> Value
-> Parser CreateFirewallResp
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"Operation" ((Object -> Parser CreateFirewallResp)
-> Value -> Parser CreateFirewallResp)
-> (Object -> Parser CreateFirewallResp)
-> Value
-> Parser CreateFirewallResp
forall a b. (a -> b) -> a -> b
$ \Object
v ->
Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp
Operation
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"id"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"name"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"operationType"
Parser
(Maybe String
-> Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"targetLink"
Parser
(Maybe String
-> Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"status"
Parser
(Maybe Int
-> Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe Int)
-> Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"progress"
Parser
(Maybe String
-> Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"insertTime"
Parser
(Maybe String
-> Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"startTime"
Parser
(Maybe String
-> Maybe OperationError
-> Maybe [Warning]
-> Maybe String
-> CreateFirewallResp)
-> Parser (Maybe String)
-> Parser
(Maybe OperationError
-> Maybe [Warning] -> Maybe String -> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"endTime"
Parser
(Maybe OperationError
-> Maybe [Warning] -> Maybe String -> CreateFirewallResp)
-> Parser (Maybe OperationError)
-> Parser (Maybe [Warning] -> Maybe String -> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe OperationError)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"error"
Parser (Maybe [Warning] -> Maybe String -> CreateFirewallResp)
-> Parser (Maybe [Warning])
-> Parser (Maybe String -> CreateFirewallResp)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe [Warning])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"warnings"
Parser (Maybe String -> CreateFirewallResp)
-> Parser (Maybe String) -> Parser CreateFirewallResp
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Key -> Parser (Maybe String)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
.:? Key
"selfLink"
instance ToJSON Operation where
toJSON :: CreateFirewallResp -> Value
toJSON
( Operation
Maybe String
id_
Maybe String
name_
Maybe String
operationType_
Maybe String
targetLink_
Maybe String
status_
Maybe Int
progress_
Maybe String
insertTime_
Maybe String
startTime_
Maybe String
endTime_
Maybe OperationError
error1
Maybe [Warning]
warnings_
Maybe String
selfLink_
) =
[Pair] -> Value
object
[ Key
"id" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
id_
, Key
"name" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
name_
, Key
"operationType" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
operationType_
, Key
"targetLink" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
targetLink_
, Key
"status" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
status_
, Key
"progress" Key -> Maybe Int -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Int
progress_
, Key
"insertTime" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
insertTime_
, Key
"startTime" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
startTime_
, Key
"endTime" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
endTime_
, Key
"error" Key -> Maybe OperationError -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe OperationError
error1
, Key
"warnings" Key -> Maybe [Warning] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [Warning]
warnings_
, Key
"selfLink" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
selfLink_
]
instance ToJSON CreateFirewallOps where
toJSON :: CreateFirewallOps -> Value
toJSON
( CreateFirewallOps
String
name_
Maybe String
description_
Maybe String
network_
Maybe Int
priority_
Maybe [String]
sourceRanges_
Maybe [String]
sourceTags_
Maybe [String]
targetTags_
Maybe [AllowedFirewall]
allowed_
Maybe [DeniedFirewall]
denied_
Maybe String
direction_
Maybe LogConfig
logConfig_
Maybe Bool
disabled_
) =
[Pair] -> Value
object
[ Key
"name" Key -> String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= String
name_
, Key
"description" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
description_
, Key
"network" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
network_
, Key
"priority" Key -> Maybe Int -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Int
priority_
, Key
"sourceRanges" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
sourceRanges_
, Key
"sourceTags" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
sourceTags_
, Key
"targetTags" Key -> Maybe [String] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [String]
targetTags_
, Key
"allowed" Key -> Maybe [AllowedFirewall] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [AllowedFirewall]
allowed_
, Key
"denied" Key -> Maybe [DeniedFirewall] -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe [DeniedFirewall]
denied_
, Key
"direction" Key -> Maybe String -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe String
direction_
, Key
"logConfig" Key -> Maybe LogConfig -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe LogConfig
logConfig_
, Key
"disabled" Key -> Maybe Bool -> Pair
forall v. ToJSON v => Key -> v -> Pair
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
.= Maybe Bool
disabled_
]
data ListFirewallsQuery = ListFirewallsQuery
{ ListFirewallsQuery -> Maybe String
filter0 :: Maybe String
, ListFirewallsQuery -> Maybe Int
maxResults :: Maybe Int
, ListFirewallsQuery -> Maybe String
pageToken :: Maybe String
, ListFirewallsQuery -> Maybe String
orderBy :: Maybe String
}
deriving (Int -> ListFirewallsQuery -> ShowS
[ListFirewallsQuery] -> ShowS
ListFirewallsQuery -> String
(Int -> ListFirewallsQuery -> ShowS)
-> (ListFirewallsQuery -> String)
-> ([ListFirewallsQuery] -> ShowS)
-> Show ListFirewallsQuery
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ListFirewallsQuery -> ShowS
showsPrec :: Int -> ListFirewallsQuery -> ShowS
$cshow :: ListFirewallsQuery -> String
show :: ListFirewallsQuery -> String
$cshowList :: [ListFirewallsQuery] -> ShowS
showList :: [ListFirewallsQuery] -> ShowS
Show, ListFirewallsQuery -> ListFirewallsQuery -> Bool
(ListFirewallsQuery -> ListFirewallsQuery -> Bool)
-> (ListFirewallsQuery -> ListFirewallsQuery -> Bool)
-> Eq ListFirewallsQuery
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ListFirewallsQuery -> ListFirewallsQuery -> Bool
== :: ListFirewallsQuery -> ListFirewallsQuery -> Bool
$c/= :: ListFirewallsQuery -> ListFirewallsQuery -> Bool
/= :: ListFirewallsQuery -> ListFirewallsQuery -> Bool
Eq)
data CreateFirewallQuery = CreateFirewallQuery
{ CreateFirewallQuery -> Maybe String
requestId :: Maybe String
}
deriving (Int -> CreateFirewallQuery -> ShowS
[CreateFirewallQuery] -> ShowS
CreateFirewallQuery -> String
(Int -> CreateFirewallQuery -> ShowS)
-> (CreateFirewallQuery -> String)
-> ([CreateFirewallQuery] -> ShowS)
-> Show CreateFirewallQuery
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreateFirewallQuery -> ShowS
showsPrec :: Int -> CreateFirewallQuery -> ShowS
$cshow :: CreateFirewallQuery -> String
show :: CreateFirewallQuery -> String
$cshowList :: [CreateFirewallQuery] -> ShowS
showList :: [CreateFirewallQuery] -> ShowS
Show, CreateFirewallQuery -> CreateFirewallQuery -> Bool
(CreateFirewallQuery -> CreateFirewallQuery -> Bool)
-> (CreateFirewallQuery -> CreateFirewallQuery -> Bool)
-> Eq CreateFirewallQuery
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreateFirewallQuery -> CreateFirewallQuery -> Bool
== :: CreateFirewallQuery -> CreateFirewallQuery -> Bool
$c/= :: CreateFirewallQuery -> CreateFirewallQuery -> Bool
/= :: CreateFirewallQuery -> CreateFirewallQuery -> Bool
Eq)
queryToList :: (a -> [(String, String)]) -> a -> [(BS.ByteString, Maybe BS.ByteString)]
queryToList :: forall a.
(a -> [(String, String)]) -> a -> [(ByteString, Maybe ByteString)]
queryToList a -> [(String, String)]
f a
q = ((String, String) -> (ByteString, Maybe ByteString))
-> [(String, String)] -> [(ByteString, Maybe ByteString)]
forall a b. (a -> b) -> [a] -> [b]
map (\(String
k, String
v) -> (String -> ByteString
BS8.pack String
k, ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ String -> ByteString
BS8.pack String
v)) (a -> [(String, String)]
f a
q)
listFirewalls ::
String ->
Maybe ListFirewallsQuery ->
IO (Either String FirewallList)
listFirewalls :: String
-> Maybe ListFirewallsQuery -> IO (Either String FirewallList)
listFirewalls String
project Maybe ListFirewallsQuery
mbQuery = do
let queryParams :: [(ByteString, Maybe ByteString)]
queryParams = [(ByteString, Maybe ByteString)]
-> (ListFirewallsQuery -> [(ByteString, Maybe ByteString)])
-> Maybe ListFirewallsQuery
-> [(ByteString, Maybe ByteString)]
forall b a. b -> (a -> b) -> Maybe a -> b
maybe [] ((ListFirewallsQuery -> [(String, String)])
-> ListFirewallsQuery -> [(ByteString, Maybe ByteString)]
forall a.
(a -> [(String, String)]) -> a -> [(ByteString, Maybe ByteString)]
queryToList ListFirewallsQuery -> [(String, String)]
queryToListFunc) Maybe ListFirewallsQuery
mbQuery
RequestOptions -> IO (Either String FirewallList)
forall b. FromJSON b => RequestOptions -> IO (Either String b)
doRequestJSON
RequestOptions
{ reqMethod :: RequestMethod
reqMethod = RequestMethod
GET
, reqUrl :: String
reqUrl = String
googleComputeUrl
, mbQueryParams :: Maybe [(ByteString, Maybe ByteString)]
mbQueryParams = [(ByteString, Maybe ByteString)]
-> Maybe [(ByteString, Maybe ByteString)]
forall a. a -> Maybe a
Just [(ByteString, Maybe ByteString)]
queryParams
, mbReqBody :: Maybe ByteString
mbReqBody = Maybe ByteString
forall a. Maybe a
Nothing
, mbReqHeaders :: Maybe RequestHeaders
mbReqHeaders = Maybe RequestHeaders
forall a. Maybe a
Nothing
, mbReqPath :: Maybe String
mbReqPath = String -> Maybe String
forall a. a -> Maybe a
Just (String -> Maybe String) -> String -> Maybe String
forall a b. (a -> b) -> a -> b
$ String
"/projects/" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
project String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
"/global/firewalls"
}
where
queryToListFunc :: ListFirewallsQuery -> [(String, String)]
queryToListFunc :: ListFirewallsQuery -> [(String, String)]
queryToListFunc ListFirewallsQuery
q =
[Maybe (String, String)] -> [(String, String)]
forall a. [Maybe a] -> [a]
catMaybes
[ (String
"filter",) (String -> (String, String))
-> Maybe String -> Maybe (String, String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ListFirewallsQuery -> Maybe String
filter0 ListFirewallsQuery
q
, (String
"maxResults",) (String -> (String, String))
-> (Int -> String) -> Int -> (String, String)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> String
forall a. Show a => a -> String
show (Int -> (String, String)) -> Maybe Int -> Maybe (String, String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ListFirewallsQuery -> Maybe Int
maxResults ListFirewallsQuery
q
, (String
"pageToken",) (String -> (String, String))
-> Maybe String -> Maybe (String, String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ListFirewallsQuery -> Maybe String
pageToken ListFirewallsQuery
q
, (String
"orderBy",) (String -> (String, String))
-> Maybe String -> Maybe (String, String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ListFirewallsQuery -> Maybe String
orderBy ListFirewallsQuery
q
]
createFirewall ::
String ->
CreateFirewallOps ->
Maybe CreateFirewallQuery ->
IO (Either String CreateFirewallResp)
createFirewall :: String
-> CreateFirewallOps
-> Maybe CreateFirewallQuery
-> IO (Either String CreateFirewallResp)
createFirewall String
project CreateFirewallOps
createFirewallOps Maybe CreateFirewallQuery
mbQuery = do
let queryParams :: [(ByteString, Maybe ByteString)]
queryParams = [(ByteString, Maybe ByteString)]
-> (CreateFirewallQuery -> [(ByteString, Maybe ByteString)])
-> Maybe CreateFirewallQuery
-> [(ByteString, Maybe ByteString)]
forall b a. b -> (a -> b) -> Maybe a -> b
maybe [] ((CreateFirewallQuery -> [(String, String)])
-> CreateFirewallQuery -> [(ByteString, Maybe ByteString)]
forall a.
(a -> [(String, String)]) -> a -> [(ByteString, Maybe ByteString)]
queryToList CreateFirewallQuery -> [(String, String)]
queryToListFunc) Maybe CreateFirewallQuery
mbQuery
RequestOptions -> IO (Either String CreateFirewallResp)
forall b. FromJSON b => RequestOptions -> IO (Either String b)
doRequestJSON
RequestOptions
{ reqMethod :: RequestMethod
reqMethod = RequestMethod
POST
, reqUrl :: String
reqUrl = String
googleComputeUrl
, mbQueryParams :: Maybe [(ByteString, Maybe ByteString)]
mbQueryParams = [(ByteString, Maybe ByteString)]
-> Maybe [(ByteString, Maybe ByteString)]
forall a. a -> Maybe a
Just [(ByteString, Maybe ByteString)]
queryParams
, mbReqBody :: Maybe ByteString
mbReqBody = ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just (ByteString -> Maybe ByteString) -> ByteString -> Maybe ByteString
forall a b. (a -> b) -> a -> b
$ CreateFirewallOps -> ByteString
forall a. ToJSON a => a -> ByteString
encode CreateFirewallOps
createFirewallOps
, mbReqHeaders :: Maybe RequestHeaders
mbReqHeaders = Maybe RequestHeaders
forall a. Maybe a
Nothing
, mbReqPath :: Maybe String
mbReqPath = String -> Maybe String
forall a. a -> Maybe a
Just (String -> Maybe String) -> String -> Maybe String
forall a b. (a -> b) -> a -> b
$ String
"/projects/" String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
project String -> ShowS
forall a. Semigroup a => a -> a -> a
<> String
"/global/firewalls"
}
where
queryToListFunc :: CreateFirewallQuery -> [(String, String)]
queryToListFunc :: CreateFirewallQuery -> [(String, String)]
queryToListFunc CreateFirewallQuery
q =
[Maybe (String, String)] -> [(String, String)]
forall a. [Maybe a] -> [a]
catMaybes
[(String
"requestId",) (String -> (String, String))
-> Maybe String -> Maybe (String, String)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> CreateFirewallQuery -> Maybe String
requestId CreateFirewallQuery
q]
defaultCreateFirewallOps :: String -> CreateFirewallOps
defaultCreateFirewallOps :: String -> CreateFirewallOps
defaultCreateFirewallOps String
firewallName =
CreateFirewallOps
{ $sel:name:CreateFirewallOps :: String
name = String
firewallName
, $sel:description:CreateFirewallOps :: Maybe String
description = Maybe String
forall a. Maybe a
Nothing
, $sel:network:CreateFirewallOps :: Maybe String
network = Maybe String
forall a. Maybe a
Nothing
, $sel:priority:CreateFirewallOps :: Maybe Int
priority = Maybe Int
forall a. Maybe a
Nothing
, $sel:sourceRanges:CreateFirewallOps :: Maybe [String]
sourceRanges = Maybe [String]
forall a. Maybe a
Nothing
, $sel:sourceTags:CreateFirewallOps :: Maybe [String]
sourceTags = Maybe [String]
forall a. Maybe a
Nothing
, $sel:targetTags:CreateFirewallOps :: Maybe [String]
targetTags = Maybe [String]
forall a. Maybe a
Nothing
, $sel:allowed:CreateFirewallOps :: Maybe [AllowedFirewall]
allowed = Maybe [AllowedFirewall]
forall a. Maybe a
Nothing
, $sel:denied:CreateFirewallOps :: Maybe [DeniedFirewall]
denied = Maybe [DeniedFirewall]
forall a. Maybe a
Nothing
, $sel:direction:CreateFirewallOps :: Maybe String
direction = Maybe String
forall a. Maybe a
Nothing
, $sel:logConfig:CreateFirewallOps :: Maybe LogConfig
logConfig = Maybe LogConfig
forall a. Maybe a
Nothing
, $sel:disabled:CreateFirewallOps :: Maybe Bool
disabled = Maybe Bool
forall a. Maybe a
Nothing
}