amazonka-ssm-2.0: gen/Amazonka/SSM/UpdateDocumentDefaultVersion.hs
{-# 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.SSM.UpdateDocumentDefaultVersion
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Set the default version of a document.
--
-- If you change a document version for a State Manager association,
-- Systems Manager immediately runs the association unless you previously
-- specifed the @apply-only-at-cron-interval@ parameter.
module Amazonka.SSM.UpdateDocumentDefaultVersion
( -- * Creating a Request
UpdateDocumentDefaultVersion (..),
newUpdateDocumentDefaultVersion,
-- * Request Lenses
updateDocumentDefaultVersion_name,
updateDocumentDefaultVersion_documentVersion,
-- * Destructuring the Response
UpdateDocumentDefaultVersionResponse (..),
newUpdateDocumentDefaultVersionResponse,
-- * Response Lenses
updateDocumentDefaultVersionResponse_description,
updateDocumentDefaultVersionResponse_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
-- | /See:/ 'newUpdateDocumentDefaultVersion' smart constructor.
data UpdateDocumentDefaultVersion = UpdateDocumentDefaultVersion'
{ -- | The name of a custom document that you want to set as the default
-- version.
name :: Prelude.Text,
-- | The version of a custom document that you want to set as the default
-- version.
documentVersion :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateDocumentDefaultVersion' 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:
--
-- 'name', 'updateDocumentDefaultVersion_name' - The name of a custom document that you want to set as the default
-- version.
--
-- 'documentVersion', 'updateDocumentDefaultVersion_documentVersion' - The version of a custom document that you want to set as the default
-- version.
newUpdateDocumentDefaultVersion ::
-- | 'name'
Prelude.Text ->
-- | 'documentVersion'
Prelude.Text ->
UpdateDocumentDefaultVersion
newUpdateDocumentDefaultVersion
pName_
pDocumentVersion_ =
UpdateDocumentDefaultVersion'
{ name = pName_,
documentVersion = pDocumentVersion_
}
-- | The name of a custom document that you want to set as the default
-- version.
updateDocumentDefaultVersion_name :: Lens.Lens' UpdateDocumentDefaultVersion Prelude.Text
updateDocumentDefaultVersion_name = Lens.lens (\UpdateDocumentDefaultVersion' {name} -> name) (\s@UpdateDocumentDefaultVersion' {} a -> s {name = a} :: UpdateDocumentDefaultVersion)
-- | The version of a custom document that you want to set as the default
-- version.
updateDocumentDefaultVersion_documentVersion :: Lens.Lens' UpdateDocumentDefaultVersion Prelude.Text
updateDocumentDefaultVersion_documentVersion = Lens.lens (\UpdateDocumentDefaultVersion' {documentVersion} -> documentVersion) (\s@UpdateDocumentDefaultVersion' {} a -> s {documentVersion = a} :: UpdateDocumentDefaultVersion)
instance Core.AWSRequest UpdateDocumentDefaultVersion where
type
AWSResponse UpdateDocumentDefaultVersion =
UpdateDocumentDefaultVersionResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
UpdateDocumentDefaultVersionResponse'
Prelude.<$> (x Data..?> "Description")
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
)
instance
Prelude.Hashable
UpdateDocumentDefaultVersion
where
hashWithSalt _salt UpdateDocumentDefaultVersion' {..} =
_salt
`Prelude.hashWithSalt` name
`Prelude.hashWithSalt` documentVersion
instance Prelude.NFData UpdateDocumentDefaultVersion where
rnf UpdateDocumentDefaultVersion' {..} =
Prelude.rnf name
`Prelude.seq` Prelude.rnf documentVersion
instance Data.ToHeaders UpdateDocumentDefaultVersion where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "AmazonSSM.UpdateDocumentDefaultVersion" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateDocumentDefaultVersion where
toJSON UpdateDocumentDefaultVersion' {..} =
Data.object
( Prelude.catMaybes
[ Prelude.Just ("Name" Data..= name),
Prelude.Just
("DocumentVersion" Data..= documentVersion)
]
)
instance Data.ToPath UpdateDocumentDefaultVersion where
toPath = Prelude.const "/"
instance Data.ToQuery UpdateDocumentDefaultVersion where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newUpdateDocumentDefaultVersionResponse' smart constructor.
data UpdateDocumentDefaultVersionResponse = UpdateDocumentDefaultVersionResponse'
{ -- | The description of a custom document that you want to set as the default
-- version.
description :: Prelude.Maybe DocumentDefaultVersionDescription,
-- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateDocumentDefaultVersionResponse' 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:
--
-- 'description', 'updateDocumentDefaultVersionResponse_description' - The description of a custom document that you want to set as the default
-- version.
--
-- 'httpStatus', 'updateDocumentDefaultVersionResponse_httpStatus' - The response's http status code.
newUpdateDocumentDefaultVersionResponse ::
-- | 'httpStatus'
Prelude.Int ->
UpdateDocumentDefaultVersionResponse
newUpdateDocumentDefaultVersionResponse pHttpStatus_ =
UpdateDocumentDefaultVersionResponse'
{ description =
Prelude.Nothing,
httpStatus = pHttpStatus_
}
-- | The description of a custom document that you want to set as the default
-- version.
updateDocumentDefaultVersionResponse_description :: Lens.Lens' UpdateDocumentDefaultVersionResponse (Prelude.Maybe DocumentDefaultVersionDescription)
updateDocumentDefaultVersionResponse_description = Lens.lens (\UpdateDocumentDefaultVersionResponse' {description} -> description) (\s@UpdateDocumentDefaultVersionResponse' {} a -> s {description = a} :: UpdateDocumentDefaultVersionResponse)
-- | The response's http status code.
updateDocumentDefaultVersionResponse_httpStatus :: Lens.Lens' UpdateDocumentDefaultVersionResponse Prelude.Int
updateDocumentDefaultVersionResponse_httpStatus = Lens.lens (\UpdateDocumentDefaultVersionResponse' {httpStatus} -> httpStatus) (\s@UpdateDocumentDefaultVersionResponse' {} a -> s {httpStatus = a} :: UpdateDocumentDefaultVersionResponse)
instance
Prelude.NFData
UpdateDocumentDefaultVersionResponse
where
rnf UpdateDocumentDefaultVersionResponse' {..} =
Prelude.rnf description
`Prelude.seq` Prelude.rnf httpStatus