{-# 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.SSM.CreateOpsMetadata
(
CreateOpsMetadata (..),
newCreateOpsMetadata,
createOpsMetadata_metadata,
createOpsMetadata_tags,
createOpsMetadata_resourceId,
CreateOpsMetadataResponse (..),
newCreateOpsMetadataResponse,
createOpsMetadataResponse_opsMetadataArn,
createOpsMetadataResponse_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.SSM.Types
data CreateOpsMetadata = CreateOpsMetadata'
{
CreateOpsMetadata -> Maybe (HashMap Text MetadataValue)
metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text MetadataValue),
CreateOpsMetadata -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateOpsMetadata -> Text
resourceId :: Prelude.Text
}
deriving (CreateOpsMetadata -> CreateOpsMetadata -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOpsMetadata -> CreateOpsMetadata -> Bool
$c/= :: CreateOpsMetadata -> CreateOpsMetadata -> Bool
== :: CreateOpsMetadata -> CreateOpsMetadata -> Bool
$c== :: CreateOpsMetadata -> CreateOpsMetadata -> Bool
Prelude.Eq, ReadPrec [CreateOpsMetadata]
ReadPrec CreateOpsMetadata
Int -> ReadS CreateOpsMetadata
ReadS [CreateOpsMetadata]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOpsMetadata]
$creadListPrec :: ReadPrec [CreateOpsMetadata]
readPrec :: ReadPrec CreateOpsMetadata
$creadPrec :: ReadPrec CreateOpsMetadata
readList :: ReadS [CreateOpsMetadata]
$creadList :: ReadS [CreateOpsMetadata]
readsPrec :: Int -> ReadS CreateOpsMetadata
$creadsPrec :: Int -> ReadS CreateOpsMetadata
Prelude.Read, Int -> CreateOpsMetadata -> ShowS
[CreateOpsMetadata] -> ShowS
CreateOpsMetadata -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOpsMetadata] -> ShowS
$cshowList :: [CreateOpsMetadata] -> ShowS
show :: CreateOpsMetadata -> String
$cshow :: CreateOpsMetadata -> String
showsPrec :: Int -> CreateOpsMetadata -> ShowS
$cshowsPrec :: Int -> CreateOpsMetadata -> ShowS
Prelude.Show, forall x. Rep CreateOpsMetadata x -> CreateOpsMetadata
forall x. CreateOpsMetadata -> Rep CreateOpsMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateOpsMetadata x -> CreateOpsMetadata
$cfrom :: forall x. CreateOpsMetadata -> Rep CreateOpsMetadata x
Prelude.Generic)
newCreateOpsMetadata ::
Prelude.Text ->
CreateOpsMetadata
newCreateOpsMetadata :: Text -> CreateOpsMetadata
newCreateOpsMetadata Text
pResourceId_ =
CreateOpsMetadata'
{ $sel:metadata:CreateOpsMetadata' :: Maybe (HashMap Text MetadataValue)
metadata = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateOpsMetadata' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:resourceId:CreateOpsMetadata' :: Text
resourceId = Text
pResourceId_
}
createOpsMetadata_metadata :: Lens.Lens' CreateOpsMetadata (Prelude.Maybe (Prelude.HashMap Prelude.Text MetadataValue))
createOpsMetadata_metadata :: Lens' CreateOpsMetadata (Maybe (HashMap Text MetadataValue))
createOpsMetadata_metadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOpsMetadata' {Maybe (HashMap Text MetadataValue)
metadata :: Maybe (HashMap Text MetadataValue)
$sel:metadata:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe (HashMap Text MetadataValue)
metadata} -> Maybe (HashMap Text MetadataValue)
metadata) (\s :: CreateOpsMetadata
s@CreateOpsMetadata' {} Maybe (HashMap Text MetadataValue)
a -> CreateOpsMetadata
s {$sel:metadata:CreateOpsMetadata' :: Maybe (HashMap Text MetadataValue)
metadata = Maybe (HashMap Text MetadataValue)
a} :: CreateOpsMetadata) 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
createOpsMetadata_tags :: Lens.Lens' CreateOpsMetadata (Prelude.Maybe [Tag])
createOpsMetadata_tags :: Lens' CreateOpsMetadata (Maybe [Tag])
createOpsMetadata_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOpsMetadata' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateOpsMetadata
s@CreateOpsMetadata' {} Maybe [Tag]
a -> CreateOpsMetadata
s {$sel:tags:CreateOpsMetadata' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateOpsMetadata) 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
createOpsMetadata_resourceId :: Lens.Lens' CreateOpsMetadata Prelude.Text
createOpsMetadata_resourceId :: Lens' CreateOpsMetadata Text
createOpsMetadata_resourceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOpsMetadata' {Text
resourceId :: Text
$sel:resourceId:CreateOpsMetadata' :: CreateOpsMetadata -> Text
resourceId} -> Text
resourceId) (\s :: CreateOpsMetadata
s@CreateOpsMetadata' {} Text
a -> CreateOpsMetadata
s {$sel:resourceId:CreateOpsMetadata' :: Text
resourceId = Text
a} :: CreateOpsMetadata)
instance Core.AWSRequest CreateOpsMetadata where
type
AWSResponse CreateOpsMetadata =
CreateOpsMetadataResponse
request :: (Service -> Service)
-> CreateOpsMetadata -> Request CreateOpsMetadata
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 CreateOpsMetadata
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateOpsMetadata)))
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 -> CreateOpsMetadataResponse
CreateOpsMetadataResponse'
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
"OpsMetadataArn")
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 CreateOpsMetadata where
hashWithSalt :: Int -> CreateOpsMetadata -> Int
hashWithSalt Int
_salt CreateOpsMetadata' {Maybe [Tag]
Maybe (HashMap Text MetadataValue)
Text
resourceId :: Text
tags :: Maybe [Tag]
metadata :: Maybe (HashMap Text MetadataValue)
$sel:resourceId:CreateOpsMetadata' :: CreateOpsMetadata -> Text
$sel:tags:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe [Tag]
$sel:metadata:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe (HashMap Text MetadataValue)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text MetadataValue)
metadata
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceId
instance Prelude.NFData CreateOpsMetadata where
rnf :: CreateOpsMetadata -> ()
rnf CreateOpsMetadata' {Maybe [Tag]
Maybe (HashMap Text MetadataValue)
Text
resourceId :: Text
tags :: Maybe [Tag]
metadata :: Maybe (HashMap Text MetadataValue)
$sel:resourceId:CreateOpsMetadata' :: CreateOpsMetadata -> Text
$sel:tags:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe [Tag]
$sel:metadata:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe (HashMap Text MetadataValue)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text MetadataValue)
metadata
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceId
instance Data.ToHeaders CreateOpsMetadata where
toHeaders :: CreateOpsMetadata -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonSSM.CreateOpsMetadata" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateOpsMetadata where
toJSON :: CreateOpsMetadata -> Value
toJSON CreateOpsMetadata' {Maybe [Tag]
Maybe (HashMap Text MetadataValue)
Text
resourceId :: Text
tags :: Maybe [Tag]
metadata :: Maybe (HashMap Text MetadataValue)
$sel:resourceId:CreateOpsMetadata' :: CreateOpsMetadata -> Text
$sel:tags:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe [Tag]
$sel:metadata:CreateOpsMetadata' :: CreateOpsMetadata -> Maybe (HashMap Text MetadataValue)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Metadata" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text MetadataValue)
metadata,
(Key
"Tags" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Tag]
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"ResourceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceId)
]
)
instance Data.ToPath CreateOpsMetadata where
toPath :: CreateOpsMetadata -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateOpsMetadata where
toQuery :: CreateOpsMetadata -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateOpsMetadataResponse = CreateOpsMetadataResponse'
{
CreateOpsMetadataResponse -> Maybe Text
opsMetadataArn :: Prelude.Maybe Prelude.Text,
CreateOpsMetadataResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateOpsMetadataResponse -> CreateOpsMetadataResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateOpsMetadataResponse -> CreateOpsMetadataResponse -> Bool
$c/= :: CreateOpsMetadataResponse -> CreateOpsMetadataResponse -> Bool
== :: CreateOpsMetadataResponse -> CreateOpsMetadataResponse -> Bool
$c== :: CreateOpsMetadataResponse -> CreateOpsMetadataResponse -> Bool
Prelude.Eq, ReadPrec [CreateOpsMetadataResponse]
ReadPrec CreateOpsMetadataResponse
Int -> ReadS CreateOpsMetadataResponse
ReadS [CreateOpsMetadataResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateOpsMetadataResponse]
$creadListPrec :: ReadPrec [CreateOpsMetadataResponse]
readPrec :: ReadPrec CreateOpsMetadataResponse
$creadPrec :: ReadPrec CreateOpsMetadataResponse
readList :: ReadS [CreateOpsMetadataResponse]
$creadList :: ReadS [CreateOpsMetadataResponse]
readsPrec :: Int -> ReadS CreateOpsMetadataResponse
$creadsPrec :: Int -> ReadS CreateOpsMetadataResponse
Prelude.Read, Int -> CreateOpsMetadataResponse -> ShowS
[CreateOpsMetadataResponse] -> ShowS
CreateOpsMetadataResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateOpsMetadataResponse] -> ShowS
$cshowList :: [CreateOpsMetadataResponse] -> ShowS
show :: CreateOpsMetadataResponse -> String
$cshow :: CreateOpsMetadataResponse -> String
showsPrec :: Int -> CreateOpsMetadataResponse -> ShowS
$cshowsPrec :: Int -> CreateOpsMetadataResponse -> ShowS
Prelude.Show, forall x.
Rep CreateOpsMetadataResponse x -> CreateOpsMetadataResponse
forall x.
CreateOpsMetadataResponse -> Rep CreateOpsMetadataResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateOpsMetadataResponse x -> CreateOpsMetadataResponse
$cfrom :: forall x.
CreateOpsMetadataResponse -> Rep CreateOpsMetadataResponse x
Prelude.Generic)
newCreateOpsMetadataResponse ::
Prelude.Int ->
CreateOpsMetadataResponse
newCreateOpsMetadataResponse :: Int -> CreateOpsMetadataResponse
newCreateOpsMetadataResponse Int
pHttpStatus_ =
CreateOpsMetadataResponse'
{ $sel:opsMetadataArn:CreateOpsMetadataResponse' :: Maybe Text
opsMetadataArn =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateOpsMetadataResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createOpsMetadataResponse_opsMetadataArn :: Lens.Lens' CreateOpsMetadataResponse (Prelude.Maybe Prelude.Text)
createOpsMetadataResponse_opsMetadataArn :: Lens' CreateOpsMetadataResponse (Maybe Text)
createOpsMetadataResponse_opsMetadataArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOpsMetadataResponse' {Maybe Text
opsMetadataArn :: Maybe Text
$sel:opsMetadataArn:CreateOpsMetadataResponse' :: CreateOpsMetadataResponse -> Maybe Text
opsMetadataArn} -> Maybe Text
opsMetadataArn) (\s :: CreateOpsMetadataResponse
s@CreateOpsMetadataResponse' {} Maybe Text
a -> CreateOpsMetadataResponse
s {$sel:opsMetadataArn:CreateOpsMetadataResponse' :: Maybe Text
opsMetadataArn = Maybe Text
a} :: CreateOpsMetadataResponse)
createOpsMetadataResponse_httpStatus :: Lens.Lens' CreateOpsMetadataResponse Prelude.Int
createOpsMetadataResponse_httpStatus :: Lens' CreateOpsMetadataResponse Int
createOpsMetadataResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateOpsMetadataResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateOpsMetadataResponse' :: CreateOpsMetadataResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateOpsMetadataResponse
s@CreateOpsMetadataResponse' {} Int
a -> CreateOpsMetadataResponse
s {$sel:httpStatus:CreateOpsMetadataResponse' :: Int
httpStatus = Int
a} :: CreateOpsMetadataResponse)
instance Prelude.NFData CreateOpsMetadataResponse where
rnf :: CreateOpsMetadataResponse -> ()
rnf CreateOpsMetadataResponse' {Int
Maybe Text
httpStatus :: Int
opsMetadataArn :: Maybe Text
$sel:httpStatus:CreateOpsMetadataResponse' :: CreateOpsMetadataResponse -> Int
$sel:opsMetadataArn:CreateOpsMetadataResponse' :: CreateOpsMetadataResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
opsMetadataArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus