{-# 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.Greengrass.UpdateGroupCertificateConfiguration
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the Certificate expiry time for a group.
module Amazonka.Greengrass.UpdateGroupCertificateConfiguration
  ( -- * Creating a Request
    UpdateGroupCertificateConfiguration (..),
    newUpdateGroupCertificateConfiguration,

    -- * Request Lenses
    updateGroupCertificateConfiguration_certificateExpiryInMilliseconds,
    updateGroupCertificateConfiguration_groupId,

    -- * Destructuring the Response
    UpdateGroupCertificateConfigurationResponse (..),
    newUpdateGroupCertificateConfigurationResponse,

    -- * Response Lenses
    updateGroupCertificateConfigurationResponse_certificateAuthorityExpiryInMilliseconds,
    updateGroupCertificateConfigurationResponse_certificateExpiryInMilliseconds,
    updateGroupCertificateConfigurationResponse_groupId,
    updateGroupCertificateConfigurationResponse_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

-- | /See:/ 'newUpdateGroupCertificateConfiguration' smart constructor.
data UpdateGroupCertificateConfiguration = UpdateGroupCertificateConfiguration'
  { -- | The amount of time remaining before the certificate expires, in
    -- milliseconds.
    UpdateGroupCertificateConfiguration -> Maybe Text
certificateExpiryInMilliseconds :: Prelude.Maybe Prelude.Text,
    -- | The ID of the Greengrass group.
    UpdateGroupCertificateConfiguration -> Text
groupId :: Prelude.Text
  }
  deriving (UpdateGroupCertificateConfiguration
-> UpdateGroupCertificateConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateGroupCertificateConfiguration
-> UpdateGroupCertificateConfiguration -> Bool
$c/= :: UpdateGroupCertificateConfiguration
-> UpdateGroupCertificateConfiguration -> Bool
== :: UpdateGroupCertificateConfiguration
-> UpdateGroupCertificateConfiguration -> Bool
$c== :: UpdateGroupCertificateConfiguration
-> UpdateGroupCertificateConfiguration -> Bool
Prelude.Eq, ReadPrec [UpdateGroupCertificateConfiguration]
ReadPrec UpdateGroupCertificateConfiguration
Int -> ReadS UpdateGroupCertificateConfiguration
ReadS [UpdateGroupCertificateConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateGroupCertificateConfiguration]
$creadListPrec :: ReadPrec [UpdateGroupCertificateConfiguration]
readPrec :: ReadPrec UpdateGroupCertificateConfiguration
$creadPrec :: ReadPrec UpdateGroupCertificateConfiguration
readList :: ReadS [UpdateGroupCertificateConfiguration]
$creadList :: ReadS [UpdateGroupCertificateConfiguration]
readsPrec :: Int -> ReadS UpdateGroupCertificateConfiguration
$creadsPrec :: Int -> ReadS UpdateGroupCertificateConfiguration
Prelude.Read, Int -> UpdateGroupCertificateConfiguration -> ShowS
[UpdateGroupCertificateConfiguration] -> ShowS
UpdateGroupCertificateConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateGroupCertificateConfiguration] -> ShowS
$cshowList :: [UpdateGroupCertificateConfiguration] -> ShowS
show :: UpdateGroupCertificateConfiguration -> String
$cshow :: UpdateGroupCertificateConfiguration -> String
showsPrec :: Int -> UpdateGroupCertificateConfiguration -> ShowS
$cshowsPrec :: Int -> UpdateGroupCertificateConfiguration -> ShowS
Prelude.Show, forall x.
Rep UpdateGroupCertificateConfiguration x
-> UpdateGroupCertificateConfiguration
forall x.
UpdateGroupCertificateConfiguration
-> Rep UpdateGroupCertificateConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateGroupCertificateConfiguration x
-> UpdateGroupCertificateConfiguration
$cfrom :: forall x.
UpdateGroupCertificateConfiguration
-> Rep UpdateGroupCertificateConfiguration x
Prelude.Generic)

-- |
-- Create a value of 'UpdateGroupCertificateConfiguration' 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:
--
-- 'certificateExpiryInMilliseconds', 'updateGroupCertificateConfiguration_certificateExpiryInMilliseconds' - The amount of time remaining before the certificate expires, in
-- milliseconds.
--
-- 'groupId', 'updateGroupCertificateConfiguration_groupId' - The ID of the Greengrass group.
newUpdateGroupCertificateConfiguration ::
  -- | 'groupId'
  Prelude.Text ->
  UpdateGroupCertificateConfiguration
newUpdateGroupCertificateConfiguration :: Text -> UpdateGroupCertificateConfiguration
newUpdateGroupCertificateConfiguration Text
pGroupId_ =
  UpdateGroupCertificateConfiguration'
    { $sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: Maybe Text
certificateExpiryInMilliseconds =
        forall a. Maybe a
Prelude.Nothing,
      $sel:groupId:UpdateGroupCertificateConfiguration' :: Text
groupId = Text
pGroupId_
    }

-- | The amount of time remaining before the certificate expires, in
-- milliseconds.
updateGroupCertificateConfiguration_certificateExpiryInMilliseconds :: Lens.Lens' UpdateGroupCertificateConfiguration (Prelude.Maybe Prelude.Text)
updateGroupCertificateConfiguration_certificateExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfiguration (Maybe Text)
updateGroupCertificateConfiguration_certificateExpiryInMilliseconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfiguration' {Maybe Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Maybe Text
certificateExpiryInMilliseconds} -> Maybe Text
certificateExpiryInMilliseconds) (\s :: UpdateGroupCertificateConfiguration
s@UpdateGroupCertificateConfiguration' {} Maybe Text
a -> UpdateGroupCertificateConfiguration
s {$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: Maybe Text
certificateExpiryInMilliseconds = Maybe Text
a} :: UpdateGroupCertificateConfiguration)

-- | The ID of the Greengrass group.
updateGroupCertificateConfiguration_groupId :: Lens.Lens' UpdateGroupCertificateConfiguration Prelude.Text
updateGroupCertificateConfiguration_groupId :: Lens' UpdateGroupCertificateConfiguration Text
updateGroupCertificateConfiguration_groupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfiguration' {Text
groupId :: Text
$sel:groupId:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Text
groupId} -> Text
groupId) (\s :: UpdateGroupCertificateConfiguration
s@UpdateGroupCertificateConfiguration' {} Text
a -> UpdateGroupCertificateConfiguration
s {$sel:groupId:UpdateGroupCertificateConfiguration' :: Text
groupId = Text
a} :: UpdateGroupCertificateConfiguration)

instance
  Core.AWSRequest
    UpdateGroupCertificateConfiguration
  where
  type
    AWSResponse UpdateGroupCertificateConfiguration =
      UpdateGroupCertificateConfigurationResponse
  request :: (Service -> Service)
-> UpdateGroupCertificateConfiguration
-> Request UpdateGroupCertificateConfiguration
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateGroupCertificateConfiguration
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse UpdateGroupCertificateConfiguration)))
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
-> Int
-> UpdateGroupCertificateConfigurationResponse
UpdateGroupCertificateConfigurationResponse'
            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
"CertificateAuthorityExpiryInMilliseconds"
                        )
            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
"CertificateExpiryInMilliseconds")
            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
"GroupId")
            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
    UpdateGroupCertificateConfiguration
  where
  hashWithSalt :: Int -> UpdateGroupCertificateConfiguration -> Int
hashWithSalt
    Int
_salt
    UpdateGroupCertificateConfiguration' {Maybe Text
Text
groupId :: Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:groupId:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
certificateExpiryInMilliseconds
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
groupId

instance
  Prelude.NFData
    UpdateGroupCertificateConfiguration
  where
  rnf :: UpdateGroupCertificateConfiguration -> ()
rnf UpdateGroupCertificateConfiguration' {Maybe Text
Text
groupId :: Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:groupId:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateExpiryInMilliseconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
groupId

instance
  Data.ToHeaders
    UpdateGroupCertificateConfiguration
  where
  toHeaders :: UpdateGroupCertificateConfiguration -> 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.ToJSON
    UpdateGroupCertificateConfiguration
  where
  toJSON :: UpdateGroupCertificateConfiguration -> Value
toJSON UpdateGroupCertificateConfiguration' {Maybe Text
Text
groupId :: Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:groupId:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"CertificateExpiryInMilliseconds" 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 Text
certificateExpiryInMilliseconds
          ]
      )

instance
  Data.ToPath
    UpdateGroupCertificateConfiguration
  where
  toPath :: UpdateGroupCertificateConfiguration -> ByteString
toPath UpdateGroupCertificateConfiguration' {Maybe Text
Text
groupId :: Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:groupId:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfiguration' :: UpdateGroupCertificateConfiguration -> 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/configuration/expiry"
      ]

instance
  Data.ToQuery
    UpdateGroupCertificateConfiguration
  where
  toQuery :: UpdateGroupCertificateConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newUpdateGroupCertificateConfigurationResponse' smart constructor.
data UpdateGroupCertificateConfigurationResponse = UpdateGroupCertificateConfigurationResponse'
  { -- | The amount of time remaining before the certificate authority expires,
    -- in milliseconds.
    UpdateGroupCertificateConfigurationResponse -> Maybe Text
certificateAuthorityExpiryInMilliseconds :: Prelude.Maybe Prelude.Text,
    -- | The amount of time remaining before the certificate expires, in
    -- milliseconds.
    UpdateGroupCertificateConfigurationResponse -> Maybe Text
certificateExpiryInMilliseconds :: Prelude.Maybe Prelude.Text,
    -- | The ID of the group certificate configuration.
    UpdateGroupCertificateConfigurationResponse -> Maybe Text
groupId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateGroupCertificateConfigurationResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateGroupCertificateConfigurationResponse
-> UpdateGroupCertificateConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateGroupCertificateConfigurationResponse
-> UpdateGroupCertificateConfigurationResponse -> Bool
$c/= :: UpdateGroupCertificateConfigurationResponse
-> UpdateGroupCertificateConfigurationResponse -> Bool
== :: UpdateGroupCertificateConfigurationResponse
-> UpdateGroupCertificateConfigurationResponse -> Bool
$c== :: UpdateGroupCertificateConfigurationResponse
-> UpdateGroupCertificateConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [UpdateGroupCertificateConfigurationResponse]
ReadPrec UpdateGroupCertificateConfigurationResponse
Int -> ReadS UpdateGroupCertificateConfigurationResponse
ReadS [UpdateGroupCertificateConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateGroupCertificateConfigurationResponse]
$creadListPrec :: ReadPrec [UpdateGroupCertificateConfigurationResponse]
readPrec :: ReadPrec UpdateGroupCertificateConfigurationResponse
$creadPrec :: ReadPrec UpdateGroupCertificateConfigurationResponse
readList :: ReadS [UpdateGroupCertificateConfigurationResponse]
$creadList :: ReadS [UpdateGroupCertificateConfigurationResponse]
readsPrec :: Int -> ReadS UpdateGroupCertificateConfigurationResponse
$creadsPrec :: Int -> ReadS UpdateGroupCertificateConfigurationResponse
Prelude.Read, Int -> UpdateGroupCertificateConfigurationResponse -> ShowS
[UpdateGroupCertificateConfigurationResponse] -> ShowS
UpdateGroupCertificateConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateGroupCertificateConfigurationResponse] -> ShowS
$cshowList :: [UpdateGroupCertificateConfigurationResponse] -> ShowS
show :: UpdateGroupCertificateConfigurationResponse -> String
$cshow :: UpdateGroupCertificateConfigurationResponse -> String
showsPrec :: Int -> UpdateGroupCertificateConfigurationResponse -> ShowS
$cshowsPrec :: Int -> UpdateGroupCertificateConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateGroupCertificateConfigurationResponse x
-> UpdateGroupCertificateConfigurationResponse
forall x.
UpdateGroupCertificateConfigurationResponse
-> Rep UpdateGroupCertificateConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateGroupCertificateConfigurationResponse x
-> UpdateGroupCertificateConfigurationResponse
$cfrom :: forall x.
UpdateGroupCertificateConfigurationResponse
-> Rep UpdateGroupCertificateConfigurationResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateGroupCertificateConfigurationResponse' 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:
--
-- 'certificateAuthorityExpiryInMilliseconds', 'updateGroupCertificateConfigurationResponse_certificateAuthorityExpiryInMilliseconds' - The amount of time remaining before the certificate authority expires,
-- in milliseconds.
--
-- 'certificateExpiryInMilliseconds', 'updateGroupCertificateConfigurationResponse_certificateExpiryInMilliseconds' - The amount of time remaining before the certificate expires, in
-- milliseconds.
--
-- 'groupId', 'updateGroupCertificateConfigurationResponse_groupId' - The ID of the group certificate configuration.
--
-- 'httpStatus', 'updateGroupCertificateConfigurationResponse_httpStatus' - The response's http status code.
newUpdateGroupCertificateConfigurationResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateGroupCertificateConfigurationResponse
newUpdateGroupCertificateConfigurationResponse :: Int -> UpdateGroupCertificateConfigurationResponse
newUpdateGroupCertificateConfigurationResponse
  Int
pHttpStatus_ =
    UpdateGroupCertificateConfigurationResponse'
      { $sel:certificateAuthorityExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
certificateAuthorityExpiryInMilliseconds =
          forall a. Maybe a
Prelude.Nothing,
        $sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
certificateExpiryInMilliseconds =
          forall a. Maybe a
Prelude.Nothing,
        $sel:groupId:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
groupId = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:UpdateGroupCertificateConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The amount of time remaining before the certificate authority expires,
-- in milliseconds.
updateGroupCertificateConfigurationResponse_certificateAuthorityExpiryInMilliseconds :: Lens.Lens' UpdateGroupCertificateConfigurationResponse (Prelude.Maybe Prelude.Text)
updateGroupCertificateConfigurationResponse_certificateAuthorityExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)
updateGroupCertificateConfigurationResponse_certificateAuthorityExpiryInMilliseconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfigurationResponse' {Maybe Text
certificateAuthorityExpiryInMilliseconds :: Maybe Text
$sel:certificateAuthorityExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
certificateAuthorityExpiryInMilliseconds} -> Maybe Text
certificateAuthorityExpiryInMilliseconds) (\s :: UpdateGroupCertificateConfigurationResponse
s@UpdateGroupCertificateConfigurationResponse' {} Maybe Text
a -> UpdateGroupCertificateConfigurationResponse
s {$sel:certificateAuthorityExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
certificateAuthorityExpiryInMilliseconds = Maybe Text
a} :: UpdateGroupCertificateConfigurationResponse)

-- | The amount of time remaining before the certificate expires, in
-- milliseconds.
updateGroupCertificateConfigurationResponse_certificateExpiryInMilliseconds :: Lens.Lens' UpdateGroupCertificateConfigurationResponse (Prelude.Maybe Prelude.Text)
updateGroupCertificateConfigurationResponse_certificateExpiryInMilliseconds :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)
updateGroupCertificateConfigurationResponse_certificateExpiryInMilliseconds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfigurationResponse' {Maybe Text
certificateExpiryInMilliseconds :: Maybe Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
certificateExpiryInMilliseconds} -> Maybe Text
certificateExpiryInMilliseconds) (\s :: UpdateGroupCertificateConfigurationResponse
s@UpdateGroupCertificateConfigurationResponse' {} Maybe Text
a -> UpdateGroupCertificateConfigurationResponse
s {$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
certificateExpiryInMilliseconds = Maybe Text
a} :: UpdateGroupCertificateConfigurationResponse)

-- | The ID of the group certificate configuration.
updateGroupCertificateConfigurationResponse_groupId :: Lens.Lens' UpdateGroupCertificateConfigurationResponse (Prelude.Maybe Prelude.Text)
updateGroupCertificateConfigurationResponse_groupId :: Lens' UpdateGroupCertificateConfigurationResponse (Maybe Text)
updateGroupCertificateConfigurationResponse_groupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfigurationResponse' {Maybe Text
groupId :: Maybe Text
$sel:groupId:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
groupId} -> Maybe Text
groupId) (\s :: UpdateGroupCertificateConfigurationResponse
s@UpdateGroupCertificateConfigurationResponse' {} Maybe Text
a -> UpdateGroupCertificateConfigurationResponse
s {$sel:groupId:UpdateGroupCertificateConfigurationResponse' :: Maybe Text
groupId = Maybe Text
a} :: UpdateGroupCertificateConfigurationResponse)

-- | The response's http status code.
updateGroupCertificateConfigurationResponse_httpStatus :: Lens.Lens' UpdateGroupCertificateConfigurationResponse Prelude.Int
updateGroupCertificateConfigurationResponse_httpStatus :: Lens' UpdateGroupCertificateConfigurationResponse Int
updateGroupCertificateConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateGroupCertificateConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateGroupCertificateConfigurationResponse
s@UpdateGroupCertificateConfigurationResponse' {} Int
a -> UpdateGroupCertificateConfigurationResponse
s {$sel:httpStatus:UpdateGroupCertificateConfigurationResponse' :: Int
httpStatus = Int
a} :: UpdateGroupCertificateConfigurationResponse)

instance
  Prelude.NFData
    UpdateGroupCertificateConfigurationResponse
  where
  rnf :: UpdateGroupCertificateConfigurationResponse -> ()
rnf UpdateGroupCertificateConfigurationResponse' {Int
Maybe Text
httpStatus :: Int
groupId :: Maybe Text
certificateExpiryInMilliseconds :: Maybe Text
certificateAuthorityExpiryInMilliseconds :: Maybe Text
$sel:httpStatus:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Int
$sel:groupId:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
$sel:certificateExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
$sel:certificateAuthorityExpiryInMilliseconds:UpdateGroupCertificateConfigurationResponse' :: UpdateGroupCertificateConfigurationResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf
      Maybe Text
certificateAuthorityExpiryInMilliseconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateExpiryInMilliseconds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
groupId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus