{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.Route53RecoveryReadiness.GetResourceSet
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Displays the details about a resource set, including a list of the
-- resources in the set.
module Amazonka.Route53RecoveryReadiness.GetResourceSet
  ( -- * Creating a Request
    GetResourceSet (..),
    newGetResourceSet,

    -- * Request Lenses
    getResourceSet_resourceSetName,

    -- * Destructuring the Response
    GetResourceSetResponse (..),
    newGetResourceSetResponse,

    -- * Response Lenses
    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

-- | /See:/ 'newGetResourceSet' smart constructor.
data GetResourceSet = GetResourceSet'
  { -- | Name of a resource set.
    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)

-- |
-- Create a value of 'GetResourceSet' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'resourceSetName', 'getResourceSet_resourceSetName' - Name of a resource set.
newGetResourceSet ::
  -- | 'resourceSetName'
  Prelude.Text ->
  GetResourceSet
newGetResourceSet :: Text -> GetResourceSet
newGetResourceSet Text
pResourceSetName_ =
  GetResourceSet'
    { $sel:resourceSetName:GetResourceSet' :: Text
resourceSetName =
        Text
pResourceSetName_
    }

-- | Name of a resource set.
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

-- | /See:/ 'newGetResourceSetResponse' smart constructor.
data GetResourceSetResponse = GetResourceSetResponse'
  { -- | The Amazon Resource Name (ARN) for the resource set.
    GetResourceSetResponse -> Maybe Text
resourceSetArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the resource set.
    GetResourceSetResponse -> Maybe Text
resourceSetName :: Prelude.Maybe Prelude.Text,
    -- | The resource type of the resources in the resource set. Enter one of the
    -- following values for resource type:
    --
    -- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,
    -- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,
    -- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,
    -- AWS::ElasticLoadBalancing::LoadBalancer,
    -- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,
    -- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,
    -- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,
    -- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,
    -- AWS::Route53RecoveryReadiness::DNSTargetResource
    GetResourceSetResponse -> Maybe Text
resourceSetType :: Prelude.Maybe Prelude.Text,
    -- | A list of resource objects.
    GetResourceSetResponse -> Maybe [Resource]
resources :: Prelude.Maybe [Resource],
    GetResourceSetResponse -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The response's http status code.
    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)

-- |
-- Create a value of 'GetResourceSetResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'resourceSetArn', 'getResourceSetResponse_resourceSetArn' - The Amazon Resource Name (ARN) for the resource set.
--
-- 'resourceSetName', 'getResourceSetResponse_resourceSetName' - The name of the resource set.
--
-- 'resourceSetType', 'getResourceSetResponse_resourceSetType' - The resource type of the resources in the resource set. Enter one of the
-- following values for resource type:
--
-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,
-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,
-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,
-- AWS::ElasticLoadBalancing::LoadBalancer,
-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,
-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,
-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,
-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,
-- AWS::Route53RecoveryReadiness::DNSTargetResource
--
-- 'resources', 'getResourceSetResponse_resources' - A list of resource objects.
--
-- 'tags', 'getResourceSetResponse_tags' - Undocumented member.
--
-- 'httpStatus', 'getResourceSetResponse_httpStatus' - The response's http status code.
newGetResourceSetResponse ::
  -- | 'httpStatus'
  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_
    }

-- | The Amazon Resource Name (ARN) for the resource set.
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)

-- | The name of the resource set.
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)

-- | The resource type of the resources in the resource set. Enter one of the
-- following values for resource type:
--
-- AWS::ApiGateway::Stage, AWS::ApiGatewayV2::Stage,
-- AWS::AutoScaling::AutoScalingGroup, AWS::CloudWatch::Alarm,
-- AWS::EC2::CustomerGateway, AWS::DynamoDB::Table, AWS::EC2::Volume,
-- AWS::ElasticLoadBalancing::LoadBalancer,
-- AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::Lambda::Function,
-- AWS::MSK::Cluster, AWS::RDS::DBCluster, AWS::Route53::HealthCheck,
-- AWS::SQS::Queue, AWS::SNS::Topic, AWS::SNS::Subscription, AWS::EC2::VPC,
-- AWS::EC2::VPNConnection, AWS::EC2::VPNGateway,
-- AWS::Route53RecoveryReadiness::DNSTargetResource
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)

-- | A list of resource objects.
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

-- | Undocumented member.
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

-- | The response's http status code.
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