{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Route53RecoveryReadiness.GetResourceSet
(
GetResourceSet (..),
newGetResourceSet,
getResourceSet_resourceSetName,
GetResourceSetResponse (..),
newGetResourceSetResponse,
getResourceSetResponse_resourceSetArn,
getResourceSetResponse_resourceSetName,
getResourceSetResponse_resourceSetType,
getResourceSetResponse_resources,
getResourceSetResponse_tags,
getResourceSetResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Route53RecoveryReadiness.Types
data GetResourceSet = GetResourceSet'
{
GetResourceSet -> Text
resourceSetName :: Prelude.Text
}
deriving (GetResourceSet -> GetResourceSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResourceSet -> GetResourceSet -> Bool
$c/= :: GetResourceSet -> GetResourceSet -> Bool
== :: GetResourceSet -> GetResourceSet -> Bool
$c== :: GetResourceSet -> GetResourceSet -> Bool
Prelude.Eq, ReadPrec [GetResourceSet]
ReadPrec GetResourceSet
Int -> ReadS GetResourceSet
ReadS [GetResourceSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResourceSet]
$creadListPrec :: ReadPrec [GetResourceSet]
readPrec :: ReadPrec GetResourceSet
$creadPrec :: ReadPrec GetResourceSet
readList :: ReadS [GetResourceSet]
$creadList :: ReadS [GetResourceSet]
readsPrec :: Int -> ReadS GetResourceSet
$creadsPrec :: Int -> ReadS GetResourceSet
Prelude.Read, Int -> GetResourceSet -> ShowS
[GetResourceSet] -> ShowS
GetResourceSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResourceSet] -> ShowS
$cshowList :: [GetResourceSet] -> ShowS
show :: GetResourceSet -> String
$cshow :: GetResourceSet -> String
showsPrec :: Int -> GetResourceSet -> ShowS
$cshowsPrec :: Int -> GetResourceSet -> ShowS
Prelude.Show, forall x. Rep GetResourceSet x -> GetResourceSet
forall x. GetResourceSet -> Rep GetResourceSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResourceSet x -> GetResourceSet
$cfrom :: forall x. GetResourceSet -> Rep GetResourceSet x
Prelude.Generic)
newGetResourceSet ::
Prelude.Text ->
GetResourceSet
newGetResourceSet :: Text -> GetResourceSet
newGetResourceSet Text
pResourceSetName_ =
GetResourceSet'
{ $sel:resourceSetName:GetResourceSet' :: Text
resourceSetName =
Text
pResourceSetName_
}
getResourceSet_resourceSetName :: Lens.Lens' GetResourceSet Prelude.Text
getResourceSet_resourceSetName :: Lens' GetResourceSet Text
getResourceSet_resourceSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSet' {Text
resourceSetName :: Text
$sel:resourceSetName:GetResourceSet' :: GetResourceSet -> Text
resourceSetName} -> Text
resourceSetName) (\s :: GetResourceSet
s@GetResourceSet' {} Text
a -> GetResourceSet
s {$sel:resourceSetName:GetResourceSet' :: Text
resourceSetName = Text
a} :: GetResourceSet)
instance Core.AWSRequest GetResourceSet where
type
AWSResponse GetResourceSet =
GetResourceSetResponse
request :: (Service -> Service) -> GetResourceSet -> Request GetResourceSet
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetResourceSet
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetResourceSet)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Resource]
-> Maybe (HashMap Text Text)
-> Int
-> GetResourceSetResponse
GetResourceSetResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"resourceSetArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"resourceSetName")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"resourceSetType")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"resources" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"tags" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetResourceSet where
hashWithSalt :: Int -> GetResourceSet -> Int
hashWithSalt Int
_salt GetResourceSet' {Text
resourceSetName :: Text
$sel:resourceSetName:GetResourceSet' :: GetResourceSet -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceSetName
instance Prelude.NFData GetResourceSet where
rnf :: GetResourceSet -> ()
rnf GetResourceSet' {Text
resourceSetName :: Text
$sel:resourceSetName:GetResourceSet' :: GetResourceSet -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
resourceSetName
instance Data.ToHeaders GetResourceSet where
toHeaders :: GetResourceSet -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath GetResourceSet where
toPath :: GetResourceSet -> ByteString
toPath GetResourceSet' {Text
resourceSetName :: Text
$sel:resourceSetName:GetResourceSet' :: GetResourceSet -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/resourcesets/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
resourceSetName]
instance Data.ToQuery GetResourceSet where
toQuery :: GetResourceSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetResourceSetResponse = GetResourceSetResponse'
{
GetResourceSetResponse -> Maybe Text
resourceSetArn :: Prelude.Maybe Prelude.Text,
GetResourceSetResponse -> Maybe Text
resourceSetName :: Prelude.Maybe Prelude.Text,
GetResourceSetResponse -> Maybe Text
resourceSetType :: Prelude.Maybe Prelude.Text,
GetResourceSetResponse -> Maybe [Resource]
resources :: Prelude.Maybe [Resource],
GetResourceSetResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
GetResourceSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetResourceSetResponse -> GetResourceSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetResourceSetResponse -> GetResourceSetResponse -> Bool
$c/= :: GetResourceSetResponse -> GetResourceSetResponse -> Bool
== :: GetResourceSetResponse -> GetResourceSetResponse -> Bool
$c== :: GetResourceSetResponse -> GetResourceSetResponse -> Bool
Prelude.Eq, ReadPrec [GetResourceSetResponse]
ReadPrec GetResourceSetResponse
Int -> ReadS GetResourceSetResponse
ReadS [GetResourceSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetResourceSetResponse]
$creadListPrec :: ReadPrec [GetResourceSetResponse]
readPrec :: ReadPrec GetResourceSetResponse
$creadPrec :: ReadPrec GetResourceSetResponse
readList :: ReadS [GetResourceSetResponse]
$creadList :: ReadS [GetResourceSetResponse]
readsPrec :: Int -> ReadS GetResourceSetResponse
$creadsPrec :: Int -> ReadS GetResourceSetResponse
Prelude.Read, Int -> GetResourceSetResponse -> ShowS
[GetResourceSetResponse] -> ShowS
GetResourceSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetResourceSetResponse] -> ShowS
$cshowList :: [GetResourceSetResponse] -> ShowS
show :: GetResourceSetResponse -> String
$cshow :: GetResourceSetResponse -> String
showsPrec :: Int -> GetResourceSetResponse -> ShowS
$cshowsPrec :: Int -> GetResourceSetResponse -> ShowS
Prelude.Show, forall x. Rep GetResourceSetResponse x -> GetResourceSetResponse
forall x. GetResourceSetResponse -> Rep GetResourceSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetResourceSetResponse x -> GetResourceSetResponse
$cfrom :: forall x. GetResourceSetResponse -> Rep GetResourceSetResponse x
Prelude.Generic)
newGetResourceSetResponse ::
Prelude.Int ->
GetResourceSetResponse
newGetResourceSetResponse :: Int -> GetResourceSetResponse
newGetResourceSetResponse Int
pHttpStatus_ =
GetResourceSetResponse'
{ $sel:resourceSetArn:GetResourceSetResponse' :: Maybe Text
resourceSetArn =
forall a. Maybe a
Prelude.Nothing,
$sel:resourceSetName:GetResourceSetResponse' :: Maybe Text
resourceSetName = forall a. Maybe a
Prelude.Nothing,
$sel:resourceSetType:GetResourceSetResponse' :: Maybe Text
resourceSetType = forall a. Maybe a
Prelude.Nothing,
$sel:resources:GetResourceSetResponse' :: Maybe [Resource]
resources = forall a. Maybe a
Prelude.Nothing,
$sel:tags:GetResourceSetResponse' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetResourceSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getResourceSetResponse_resourceSetArn :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)
getResourceSetResponse_resourceSetArn :: Lens' GetResourceSetResponse (Maybe Text)
getResourceSetResponse_resourceSetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Maybe Text
resourceSetArn :: Maybe Text
$sel:resourceSetArn:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
resourceSetArn} -> Maybe Text
resourceSetArn) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Maybe Text
a -> GetResourceSetResponse
s {$sel:resourceSetArn:GetResourceSetResponse' :: Maybe Text
resourceSetArn = Maybe Text
a} :: GetResourceSetResponse)
getResourceSetResponse_resourceSetName :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)
getResourceSetResponse_resourceSetName :: Lens' GetResourceSetResponse (Maybe Text)
getResourceSetResponse_resourceSetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Maybe Text
resourceSetName :: Maybe Text
$sel:resourceSetName:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
resourceSetName} -> Maybe Text
resourceSetName) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Maybe Text
a -> GetResourceSetResponse
s {$sel:resourceSetName:GetResourceSetResponse' :: Maybe Text
resourceSetName = Maybe Text
a} :: GetResourceSetResponse)
getResourceSetResponse_resourceSetType :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe Prelude.Text)
getResourceSetResponse_resourceSetType :: Lens' GetResourceSetResponse (Maybe Text)
getResourceSetResponse_resourceSetType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Maybe Text
resourceSetType :: Maybe Text
$sel:resourceSetType:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
resourceSetType} -> Maybe Text
resourceSetType) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Maybe Text
a -> GetResourceSetResponse
s {$sel:resourceSetType:GetResourceSetResponse' :: Maybe Text
resourceSetType = Maybe Text
a} :: GetResourceSetResponse)
getResourceSetResponse_resources :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe [Resource])
getResourceSetResponse_resources :: Lens' GetResourceSetResponse (Maybe [Resource])
getResourceSetResponse_resources = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Maybe [Resource]
resources :: Maybe [Resource]
$sel:resources:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe [Resource]
resources} -> Maybe [Resource]
resources) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Maybe [Resource]
a -> GetResourceSetResponse
s {$sel:resources:GetResourceSetResponse' :: Maybe [Resource]
resources = Maybe [Resource]
a} :: GetResourceSetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getResourceSetResponse_tags :: Lens.Lens' GetResourceSetResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
getResourceSetResponse_tags :: Lens' GetResourceSetResponse (Maybe (HashMap Text Text))
getResourceSetResponse_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Maybe (HashMap Text Text)
a -> GetResourceSetResponse
s {$sel:tags:GetResourceSetResponse' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: GetResourceSetResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
getResourceSetResponse_httpStatus :: Lens.Lens' GetResourceSetResponse Prelude.Int
getResourceSetResponse_httpStatus :: Lens' GetResourceSetResponse Int
getResourceSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetResourceSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetResourceSetResponse' :: GetResourceSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetResourceSetResponse
s@GetResourceSetResponse' {} Int
a -> GetResourceSetResponse
s {$sel:httpStatus:GetResourceSetResponse' :: Int
httpStatus = Int
a} :: GetResourceSetResponse)
instance Prelude.NFData GetResourceSetResponse where
rnf :: GetResourceSetResponse -> ()
rnf GetResourceSetResponse' {Int
Maybe [Resource]
Maybe Text
Maybe (HashMap Text Text)
httpStatus :: Int
tags :: Maybe (HashMap Text Text)
resources :: Maybe [Resource]
resourceSetType :: Maybe Text
resourceSetName :: Maybe Text
resourceSetArn :: Maybe Text
$sel:httpStatus:GetResourceSetResponse' :: GetResourceSetResponse -> Int
$sel:tags:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe (HashMap Text Text)
$sel:resources:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe [Resource]
$sel:resourceSetType:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
$sel:resourceSetName:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
$sel:resourceSetArn:GetResourceSetResponse' :: GetResourceSetResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceSetArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceSetName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
resourceSetType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Resource]
resources
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus