{-# 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.Greengrass.CreateGroupCertificateAuthority
(
CreateGroupCertificateAuthority (..),
newCreateGroupCertificateAuthority,
createGroupCertificateAuthority_amznClientToken,
createGroupCertificateAuthority_groupId,
CreateGroupCertificateAuthorityResponse (..),
newCreateGroupCertificateAuthorityResponse,
createGroupCertificateAuthorityResponse_groupCertificateAuthorityArn,
createGroupCertificateAuthorityResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Greengrass.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateGroupCertificateAuthority = CreateGroupCertificateAuthority'
{
CreateGroupCertificateAuthority -> Maybe Text
amznClientToken :: Prelude.Maybe Prelude.Text,
CreateGroupCertificateAuthority -> Text
groupId :: Prelude.Text
}
deriving (CreateGroupCertificateAuthority
-> CreateGroupCertificateAuthority -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateGroupCertificateAuthority
-> CreateGroupCertificateAuthority -> Bool
$c/= :: CreateGroupCertificateAuthority
-> CreateGroupCertificateAuthority -> Bool
== :: CreateGroupCertificateAuthority
-> CreateGroupCertificateAuthority -> Bool
$c== :: CreateGroupCertificateAuthority
-> CreateGroupCertificateAuthority -> Bool
Prelude.Eq, ReadPrec [CreateGroupCertificateAuthority]
ReadPrec CreateGroupCertificateAuthority
Int -> ReadS CreateGroupCertificateAuthority
ReadS [CreateGroupCertificateAuthority]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateGroupCertificateAuthority]
$creadListPrec :: ReadPrec [CreateGroupCertificateAuthority]
readPrec :: ReadPrec CreateGroupCertificateAuthority
$creadPrec :: ReadPrec CreateGroupCertificateAuthority
readList :: ReadS [CreateGroupCertificateAuthority]
$creadList :: ReadS [CreateGroupCertificateAuthority]
readsPrec :: Int -> ReadS CreateGroupCertificateAuthority
$creadsPrec :: Int -> ReadS CreateGroupCertificateAuthority
Prelude.Read, Int -> CreateGroupCertificateAuthority -> ShowS
[CreateGroupCertificateAuthority] -> ShowS
CreateGroupCertificateAuthority -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateGroupCertificateAuthority] -> ShowS
$cshowList :: [CreateGroupCertificateAuthority] -> ShowS
show :: CreateGroupCertificateAuthority -> String
$cshow :: CreateGroupCertificateAuthority -> String
showsPrec :: Int -> CreateGroupCertificateAuthority -> ShowS
$cshowsPrec :: Int -> CreateGroupCertificateAuthority -> ShowS
Prelude.Show, forall x.
Rep CreateGroupCertificateAuthority x
-> CreateGroupCertificateAuthority
forall x.
CreateGroupCertificateAuthority
-> Rep CreateGroupCertificateAuthority x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateGroupCertificateAuthority x
-> CreateGroupCertificateAuthority
$cfrom :: forall x.
CreateGroupCertificateAuthority
-> Rep CreateGroupCertificateAuthority x
Prelude.Generic)
newCreateGroupCertificateAuthority ::
Prelude.Text ->
CreateGroupCertificateAuthority
newCreateGroupCertificateAuthority :: Text -> CreateGroupCertificateAuthority
newCreateGroupCertificateAuthority Text
pGroupId_ =
CreateGroupCertificateAuthority'
{ $sel:amznClientToken:CreateGroupCertificateAuthority' :: Maybe Text
amznClientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:groupId:CreateGroupCertificateAuthority' :: Text
groupId = Text
pGroupId_
}
createGroupCertificateAuthority_amznClientToken :: Lens.Lens' CreateGroupCertificateAuthority (Prelude.Maybe Prelude.Text)
createGroupCertificateAuthority_amznClientToken :: Lens' CreateGroupCertificateAuthority (Maybe Text)
createGroupCertificateAuthority_amznClientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateGroupCertificateAuthority' {Maybe Text
amznClientToken :: Maybe Text
$sel:amznClientToken:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Maybe Text
amznClientToken} -> Maybe Text
amznClientToken) (\s :: CreateGroupCertificateAuthority
s@CreateGroupCertificateAuthority' {} Maybe Text
a -> CreateGroupCertificateAuthority
s {$sel:amznClientToken:CreateGroupCertificateAuthority' :: Maybe Text
amznClientToken = Maybe Text
a} :: CreateGroupCertificateAuthority)
createGroupCertificateAuthority_groupId :: Lens.Lens' CreateGroupCertificateAuthority Prelude.Text
createGroupCertificateAuthority_groupId :: Lens' CreateGroupCertificateAuthority Text
createGroupCertificateAuthority_groupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateGroupCertificateAuthority' {Text
groupId :: Text
$sel:groupId:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Text
groupId} -> Text
groupId) (\s :: CreateGroupCertificateAuthority
s@CreateGroupCertificateAuthority' {} Text
a -> CreateGroupCertificateAuthority
s {$sel:groupId:CreateGroupCertificateAuthority' :: Text
groupId = Text
a} :: CreateGroupCertificateAuthority)
instance
Core.AWSRequest
CreateGroupCertificateAuthority
where
type
AWSResponse CreateGroupCertificateAuthority =
CreateGroupCertificateAuthorityResponse
request :: (Service -> Service)
-> CreateGroupCertificateAuthority
-> Request CreateGroupCertificateAuthority
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateGroupCertificateAuthority
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse CreateGroupCertificateAuthority)))
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 -> Int -> CreateGroupCertificateAuthorityResponse
CreateGroupCertificateAuthorityResponse'
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
"GroupCertificateAuthorityArn")
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
CreateGroupCertificateAuthority
where
hashWithSalt :: Int -> CreateGroupCertificateAuthority -> Int
hashWithSalt
Int
_salt
CreateGroupCertificateAuthority' {Maybe Text
Text
groupId :: Text
amznClientToken :: Maybe Text
$sel:groupId:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Text
$sel:amznClientToken:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
amznClientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
groupId
instance
Prelude.NFData
CreateGroupCertificateAuthority
where
rnf :: CreateGroupCertificateAuthority -> ()
rnf CreateGroupCertificateAuthority' {Maybe Text
Text
groupId :: Text
amznClientToken :: Maybe Text
$sel:groupId:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Text
$sel:amznClientToken:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
amznClientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
groupId
instance
Data.ToHeaders
CreateGroupCertificateAuthority
where
toHeaders :: CreateGroupCertificateAuthority -> ResponseHeaders
toHeaders CreateGroupCertificateAuthority' {Maybe Text
Text
groupId :: Text
amznClientToken :: Maybe Text
$sel:groupId:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Text
$sel:amznClientToken:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amzn-Client-Token" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
amznClientToken,
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"application/x-amz-json-1.1" :: Prelude.ByteString)
]
instance Data.ToJSON CreateGroupCertificateAuthority where
toJSON :: CreateGroupCertificateAuthority -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath CreateGroupCertificateAuthority where
toPath :: CreateGroupCertificateAuthority -> ByteString
toPath CreateGroupCertificateAuthority' {Maybe Text
Text
groupId :: Text
amznClientToken :: Maybe Text
$sel:groupId:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Text
$sel:amznClientToken:CreateGroupCertificateAuthority' :: CreateGroupCertificateAuthority -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/greengrass/groups/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
groupId,
ByteString
"/certificateauthorities"
]
instance Data.ToQuery CreateGroupCertificateAuthority where
toQuery :: CreateGroupCertificateAuthority -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateGroupCertificateAuthorityResponse = CreateGroupCertificateAuthorityResponse'
{
CreateGroupCertificateAuthorityResponse -> Maybe Text
groupCertificateAuthorityArn :: Prelude.Maybe Prelude.Text,
CreateGroupCertificateAuthorityResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateGroupCertificateAuthorityResponse
-> CreateGroupCertificateAuthorityResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateGroupCertificateAuthorityResponse
-> CreateGroupCertificateAuthorityResponse -> Bool
$c/= :: CreateGroupCertificateAuthorityResponse
-> CreateGroupCertificateAuthorityResponse -> Bool
== :: CreateGroupCertificateAuthorityResponse
-> CreateGroupCertificateAuthorityResponse -> Bool
$c== :: CreateGroupCertificateAuthorityResponse
-> CreateGroupCertificateAuthorityResponse -> Bool
Prelude.Eq, ReadPrec [CreateGroupCertificateAuthorityResponse]
ReadPrec CreateGroupCertificateAuthorityResponse
Int -> ReadS CreateGroupCertificateAuthorityResponse
ReadS [CreateGroupCertificateAuthorityResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateGroupCertificateAuthorityResponse]
$creadListPrec :: ReadPrec [CreateGroupCertificateAuthorityResponse]
readPrec :: ReadPrec CreateGroupCertificateAuthorityResponse
$creadPrec :: ReadPrec CreateGroupCertificateAuthorityResponse
readList :: ReadS [CreateGroupCertificateAuthorityResponse]
$creadList :: ReadS [CreateGroupCertificateAuthorityResponse]
readsPrec :: Int -> ReadS CreateGroupCertificateAuthorityResponse
$creadsPrec :: Int -> ReadS CreateGroupCertificateAuthorityResponse
Prelude.Read, Int -> CreateGroupCertificateAuthorityResponse -> ShowS
[CreateGroupCertificateAuthorityResponse] -> ShowS
CreateGroupCertificateAuthorityResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateGroupCertificateAuthorityResponse] -> ShowS
$cshowList :: [CreateGroupCertificateAuthorityResponse] -> ShowS
show :: CreateGroupCertificateAuthorityResponse -> String
$cshow :: CreateGroupCertificateAuthorityResponse -> String
showsPrec :: Int -> CreateGroupCertificateAuthorityResponse -> ShowS
$cshowsPrec :: Int -> CreateGroupCertificateAuthorityResponse -> ShowS
Prelude.Show, forall x.
Rep CreateGroupCertificateAuthorityResponse x
-> CreateGroupCertificateAuthorityResponse
forall x.
CreateGroupCertificateAuthorityResponse
-> Rep CreateGroupCertificateAuthorityResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateGroupCertificateAuthorityResponse x
-> CreateGroupCertificateAuthorityResponse
$cfrom :: forall x.
CreateGroupCertificateAuthorityResponse
-> Rep CreateGroupCertificateAuthorityResponse x
Prelude.Generic)
newCreateGroupCertificateAuthorityResponse ::
Prelude.Int ->
CreateGroupCertificateAuthorityResponse
newCreateGroupCertificateAuthorityResponse :: Int -> CreateGroupCertificateAuthorityResponse
newCreateGroupCertificateAuthorityResponse
Int
pHttpStatus_ =
CreateGroupCertificateAuthorityResponse'
{ $sel:groupCertificateAuthorityArn:CreateGroupCertificateAuthorityResponse' :: Maybe Text
groupCertificateAuthorityArn =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateGroupCertificateAuthorityResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createGroupCertificateAuthorityResponse_groupCertificateAuthorityArn :: Lens.Lens' CreateGroupCertificateAuthorityResponse (Prelude.Maybe Prelude.Text)
createGroupCertificateAuthorityResponse_groupCertificateAuthorityArn :: Lens' CreateGroupCertificateAuthorityResponse (Maybe Text)
createGroupCertificateAuthorityResponse_groupCertificateAuthorityArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateGroupCertificateAuthorityResponse' {Maybe Text
groupCertificateAuthorityArn :: Maybe Text
$sel:groupCertificateAuthorityArn:CreateGroupCertificateAuthorityResponse' :: CreateGroupCertificateAuthorityResponse -> Maybe Text
groupCertificateAuthorityArn} -> Maybe Text
groupCertificateAuthorityArn) (\s :: CreateGroupCertificateAuthorityResponse
s@CreateGroupCertificateAuthorityResponse' {} Maybe Text
a -> CreateGroupCertificateAuthorityResponse
s {$sel:groupCertificateAuthorityArn:CreateGroupCertificateAuthorityResponse' :: Maybe Text
groupCertificateAuthorityArn = Maybe Text
a} :: CreateGroupCertificateAuthorityResponse)
createGroupCertificateAuthorityResponse_httpStatus :: Lens.Lens' CreateGroupCertificateAuthorityResponse Prelude.Int
createGroupCertificateAuthorityResponse_httpStatus :: Lens' CreateGroupCertificateAuthorityResponse Int
createGroupCertificateAuthorityResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateGroupCertificateAuthorityResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateGroupCertificateAuthorityResponse' :: CreateGroupCertificateAuthorityResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateGroupCertificateAuthorityResponse
s@CreateGroupCertificateAuthorityResponse' {} Int
a -> CreateGroupCertificateAuthorityResponse
s {$sel:httpStatus:CreateGroupCertificateAuthorityResponse' :: Int
httpStatus = Int
a} :: CreateGroupCertificateAuthorityResponse)
instance
Prelude.NFData
CreateGroupCertificateAuthorityResponse
where
rnf :: CreateGroupCertificateAuthorityResponse -> ()
rnf CreateGroupCertificateAuthorityResponse' {Int
Maybe Text
httpStatus :: Int
groupCertificateAuthorityArn :: Maybe Text
$sel:httpStatus:CreateGroupCertificateAuthorityResponse' :: CreateGroupCertificateAuthorityResponse -> Int
$sel:groupCertificateAuthorityArn:CreateGroupCertificateAuthorityResponse' :: CreateGroupCertificateAuthorityResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
groupCertificateAuthorityArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus