{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DuplicateRecordFields #-} {-# LANGUAGE NamedFieldPuns #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.SES.Types.DeliveryOptions -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.SES.Types.DeliveryOptions 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 Amazonka.SES.Types.TlsPolicy -- | Specifies whether messages that use the configuration set are required -- to use Transport Layer Security (TLS). -- -- /See:/ 'newDeliveryOptions' smart constructor. data DeliveryOptions = DeliveryOptions' { -- | Specifies whether messages that use the configuration set are required -- to use Transport Layer Security (TLS). If the value is @Require@, -- messages are only delivered if a TLS connection can be established. If -- the value is @Optional@, messages can be delivered in plain text if a -- TLS connection can\'t be established. tlsPolicy :: Prelude.Maybe TlsPolicy } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'DeliveryOptions' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'tlsPolicy', 'deliveryOptions_tlsPolicy' - Specifies whether messages that use the configuration set are required -- to use Transport Layer Security (TLS). If the value is @Require@, -- messages are only delivered if a TLS connection can be established. If -- the value is @Optional@, messages can be delivered in plain text if a -- TLS connection can\'t be established. newDeliveryOptions :: DeliveryOptions newDeliveryOptions = DeliveryOptions' {tlsPolicy = Prelude.Nothing} -- | Specifies whether messages that use the configuration set are required -- to use Transport Layer Security (TLS). If the value is @Require@, -- messages are only delivered if a TLS connection can be established. If -- the value is @Optional@, messages can be delivered in plain text if a -- TLS connection can\'t be established. deliveryOptions_tlsPolicy :: Lens.Lens' DeliveryOptions (Prelude.Maybe TlsPolicy) deliveryOptions_tlsPolicy = Lens.lens (\DeliveryOptions' {tlsPolicy} -> tlsPolicy) (\s@DeliveryOptions' {} a -> s {tlsPolicy = a} :: DeliveryOptions) instance Data.FromXML DeliveryOptions where parseXML x = DeliveryOptions' Prelude.<$> (x Data..@? "TlsPolicy") instance Prelude.Hashable DeliveryOptions where hashWithSalt _salt DeliveryOptions' {..} = _salt `Prelude.hashWithSalt` tlsPolicy instance Prelude.NFData DeliveryOptions where rnf DeliveryOptions' {..} = Prelude.rnf tlsPolicy instance Data.ToQuery DeliveryOptions where toQuery DeliveryOptions' {..} = Prelude.mconcat ["TlsPolicy" Data.=: tlsPolicy]