amazonka-cloudfront-2.0: gen/Amazonka/CloudFront/DeleteOriginRequestPolicy.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.CloudFront.DeleteOriginRequestPolicy
-- 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 an origin request policy.
--
-- You cannot delete an origin request policy if it\'s attached to any
-- cache behaviors. First update your distributions to remove the origin
-- request policy from all cache behaviors, then delete the origin request
-- policy.
--
-- To delete an origin request policy, you must provide the policy\'s
-- identifier and version. To get the identifier, you can use
-- @ListOriginRequestPolicies@ or @GetOriginRequestPolicy@.
module Amazonka.CloudFront.DeleteOriginRequestPolicy
( -- * Creating a Request
DeleteOriginRequestPolicy (..),
newDeleteOriginRequestPolicy,
-- * Request Lenses
deleteOriginRequestPolicy_ifMatch,
deleteOriginRequestPolicy_id,
-- * Destructuring the Response
DeleteOriginRequestPolicyResponse (..),
newDeleteOriginRequestPolicyResponse,
)
where
import Amazonka.CloudFront.Types
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
-- | /See:/ 'newDeleteOriginRequestPolicy' smart constructor.
data DeleteOriginRequestPolicy = DeleteOriginRequestPolicy'
{ -- | The version of the origin request policy that you are deleting. The
-- version is the origin request policy\'s @ETag@ value, which you can get
-- using @ListOriginRequestPolicies@, @GetOriginRequestPolicy@, or
-- @GetOriginRequestPolicyConfig@.
ifMatch :: Prelude.Maybe Prelude.Text,
-- | The unique identifier for the origin request policy that you are
-- deleting. To get the identifier, you can use
-- @ListOriginRequestPolicies@.
id :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteOriginRequestPolicy' 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:
--
-- 'ifMatch', 'deleteOriginRequestPolicy_ifMatch' - The version of the origin request policy that you are deleting. The
-- version is the origin request policy\'s @ETag@ value, which you can get
-- using @ListOriginRequestPolicies@, @GetOriginRequestPolicy@, or
-- @GetOriginRequestPolicyConfig@.
--
-- 'id', 'deleteOriginRequestPolicy_id' - The unique identifier for the origin request policy that you are
-- deleting. To get the identifier, you can use
-- @ListOriginRequestPolicies@.
newDeleteOriginRequestPolicy ::
-- | 'id'
Prelude.Text ->
DeleteOriginRequestPolicy
newDeleteOriginRequestPolicy pId_ =
DeleteOriginRequestPolicy'
{ ifMatch =
Prelude.Nothing,
id = pId_
}
-- | The version of the origin request policy that you are deleting. The
-- version is the origin request policy\'s @ETag@ value, which you can get
-- using @ListOriginRequestPolicies@, @GetOriginRequestPolicy@, or
-- @GetOriginRequestPolicyConfig@.
deleteOriginRequestPolicy_ifMatch :: Lens.Lens' DeleteOriginRequestPolicy (Prelude.Maybe Prelude.Text)
deleteOriginRequestPolicy_ifMatch = Lens.lens (\DeleteOriginRequestPolicy' {ifMatch} -> ifMatch) (\s@DeleteOriginRequestPolicy' {} a -> s {ifMatch = a} :: DeleteOriginRequestPolicy)
-- | The unique identifier for the origin request policy that you are
-- deleting. To get the identifier, you can use
-- @ListOriginRequestPolicies@.
deleteOriginRequestPolicy_id :: Lens.Lens' DeleteOriginRequestPolicy Prelude.Text
deleteOriginRequestPolicy_id = Lens.lens (\DeleteOriginRequestPolicy' {id} -> id) (\s@DeleteOriginRequestPolicy' {} a -> s {id = a} :: DeleteOriginRequestPolicy)
instance Core.AWSRequest DeleteOriginRequestPolicy where
type
AWSResponse DeleteOriginRequestPolicy =
DeleteOriginRequestPolicyResponse
request overrides =
Request.delete (overrides defaultService)
response =
Response.receiveNull
DeleteOriginRequestPolicyResponse'
instance Prelude.Hashable DeleteOriginRequestPolicy where
hashWithSalt _salt DeleteOriginRequestPolicy' {..} =
_salt
`Prelude.hashWithSalt` ifMatch
`Prelude.hashWithSalt` id
instance Prelude.NFData DeleteOriginRequestPolicy where
rnf DeleteOriginRequestPolicy' {..} =
Prelude.rnf ifMatch `Prelude.seq` Prelude.rnf id
instance Data.ToHeaders DeleteOriginRequestPolicy where
toHeaders DeleteOriginRequestPolicy' {..} =
Prelude.mconcat ["If-Match" Data.=# ifMatch]
instance Data.ToPath DeleteOriginRequestPolicy where
toPath DeleteOriginRequestPolicy' {..} =
Prelude.mconcat
["/2020-05-31/origin-request-policy/", Data.toBS id]
instance Data.ToQuery DeleteOriginRequestPolicy where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newDeleteOriginRequestPolicyResponse' smart constructor.
data DeleteOriginRequestPolicyResponse = DeleteOriginRequestPolicyResponse'
{
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DeleteOriginRequestPolicyResponse' 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.
newDeleteOriginRequestPolicyResponse ::
DeleteOriginRequestPolicyResponse
newDeleteOriginRequestPolicyResponse =
DeleteOriginRequestPolicyResponse'
instance
Prelude.NFData
DeleteOriginRequestPolicyResponse
where
rnf _ = ()