amazonka-gamelift-2.0: gen/Amazonka/GameLift/DeleteBuild.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.GameLift.DeleteBuild
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Deletes a build. This operation permanently deletes the build resource
-- and any uploaded build files. Deleting a build does not affect the
-- status of any active fleets using the build, but you can no longer
-- create new fleets with the deleted build.
--
-- To delete a build, specify the build ID.
--
-- __Learn more__
--
-- <https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html Upload a Custom Server Build>
--
-- <https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets All APIs by task>
module Amazonka.GameLift.DeleteBuild
( -- * Creating a Request
DeleteBuild (..),
newDeleteBuild,
-- * Request Lenses
deleteBuild_buildId,
-- * Destructuring the Response
DeleteBuildResponse (..),
newDeleteBuildResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GameLift.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | /See:/ 'newDeleteBuild' smart constructor.
data DeleteBuild = DeleteBuild'
{ -- | A unique identifier for the build to delete. You can use either the
-- build ID or ARN value.
buildId :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteBuild' 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:
--
-- 'buildId', 'deleteBuild_buildId' - A unique identifier for the build to delete. You can use either the
-- build ID or ARN value.
newDeleteBuild ::
-- | 'buildId'
Prelude.Text ->
DeleteBuild
newDeleteBuild pBuildId_ =
DeleteBuild' {buildId = pBuildId_}
-- | A unique identifier for the build to delete. You can use either the
-- build ID or ARN value.
deleteBuild_buildId :: Lens.Lens' DeleteBuild Prelude.Text
deleteBuild_buildId = Lens.lens (\DeleteBuild' {buildId} -> buildId) (\s@DeleteBuild' {} a -> s {buildId = a} :: DeleteBuild)
instance Core.AWSRequest DeleteBuild where
type AWSResponse DeleteBuild = DeleteBuildResponse
request overrides =
Request.postJSON (overrides defaultService)
response = Response.receiveNull DeleteBuildResponse'
instance Prelude.Hashable DeleteBuild where
hashWithSalt _salt DeleteBuild' {..} =
_salt `Prelude.hashWithSalt` buildId
instance Prelude.NFData DeleteBuild where
rnf DeleteBuild' {..} = Prelude.rnf buildId
instance Data.ToHeaders DeleteBuild where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ("GameLift.DeleteBuild" :: Prelude.ByteString),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteBuild where
toJSON DeleteBuild' {..} =
Data.object
( Prelude.catMaybes
[Prelude.Just ("BuildId" Data..= buildId)]
)
instance Data.ToPath DeleteBuild where
toPath = Prelude.const "/"
instance Data.ToQuery DeleteBuild where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newDeleteBuildResponse' smart constructor.
data DeleteBuildResponse = DeleteBuildResponse'
{
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteBuildResponse' 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.
newDeleteBuildResponse ::
DeleteBuildResponse
newDeleteBuildResponse = DeleteBuildResponse'
instance Prelude.NFData DeleteBuildResponse where
rnf _ = ()