module Stratosphere.ACMPCA.Certificate.GeneralNameProperty ( module Exports, GeneralNameProperty(..), mkGeneralNameProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.EdiPartyNameProperty as Exports import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.OtherNameProperty as Exports import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.SubjectProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data GeneralNameProperty = -- | See: GeneralNameProperty {haddock_workaround_ :: (), -- | See: directoryName :: (Prelude.Maybe SubjectProperty), -- | See: dnsName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: ediPartyName :: (Prelude.Maybe EdiPartyNameProperty), -- | See: ipAddress :: (Prelude.Maybe (Value Prelude.Text)), -- | See: otherName :: (Prelude.Maybe OtherNameProperty), -- | See: registeredId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: rfc822Name :: (Prelude.Maybe (Value Prelude.Text)), -- | See: uniformResourceIdentifier :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkGeneralNameProperty :: GeneralNameProperty mkGeneralNameProperty = GeneralNameProperty {haddock_workaround_ = (), directoryName = Prelude.Nothing, dnsName = Prelude.Nothing, ediPartyName = Prelude.Nothing, ipAddress = Prelude.Nothing, otherName = Prelude.Nothing, registeredId = Prelude.Nothing, rfc822Name = Prelude.Nothing, uniformResourceIdentifier = Prelude.Nothing} instance ToResourceProperties GeneralNameProperty where toResourceProperties GeneralNameProperty {..} = ResourceProperties {awsType = "AWS::ACMPCA::Certificate.GeneralName", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "DirectoryName" Prelude.<$> directoryName, (JSON..=) "DnsName" Prelude.<$> dnsName, (JSON..=) "EdiPartyName" Prelude.<$> ediPartyName, (JSON..=) "IpAddress" Prelude.<$> ipAddress, (JSON..=) "OtherName" Prelude.<$> otherName, (JSON..=) "RegisteredId" Prelude.<$> registeredId, (JSON..=) "Rfc822Name" Prelude.<$> rfc822Name, (JSON..=) "UniformResourceIdentifier" Prelude.<$> uniformResourceIdentifier])} instance JSON.ToJSON GeneralNameProperty where toJSON GeneralNameProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "DirectoryName" Prelude.<$> directoryName, (JSON..=) "DnsName" Prelude.<$> dnsName, (JSON..=) "EdiPartyName" Prelude.<$> ediPartyName, (JSON..=) "IpAddress" Prelude.<$> ipAddress, (JSON..=) "OtherName" Prelude.<$> otherName, (JSON..=) "RegisteredId" Prelude.<$> registeredId, (JSON..=) "Rfc822Name" Prelude.<$> rfc822Name, (JSON..=) "UniformResourceIdentifier" Prelude.<$> uniformResourceIdentifier])) instance Property "DirectoryName" GeneralNameProperty where type PropertyType "DirectoryName" GeneralNameProperty = SubjectProperty set newValue GeneralNameProperty {..} = GeneralNameProperty {directoryName = Prelude.pure newValue, ..} instance Property "DnsName" GeneralNameProperty where type PropertyType "DnsName" GeneralNameProperty = Value Prelude.Text set newValue GeneralNameProperty {..} = GeneralNameProperty {dnsName = Prelude.pure newValue, ..} instance Property "EdiPartyName" GeneralNameProperty where type PropertyType "EdiPartyName" GeneralNameProperty = EdiPartyNameProperty set newValue GeneralNameProperty {..} = GeneralNameProperty {ediPartyName = Prelude.pure newValue, ..} instance Property "IpAddress" GeneralNameProperty where type PropertyType "IpAddress" GeneralNameProperty = Value Prelude.Text set newValue GeneralNameProperty {..} = GeneralNameProperty {ipAddress = Prelude.pure newValue, ..} instance Property "OtherName" GeneralNameProperty where type PropertyType "OtherName" GeneralNameProperty = OtherNameProperty set newValue GeneralNameProperty {..} = GeneralNameProperty {otherName = Prelude.pure newValue, ..} instance Property "RegisteredId" GeneralNameProperty where type PropertyType "RegisteredId" GeneralNameProperty = Value Prelude.Text set newValue GeneralNameProperty {..} = GeneralNameProperty {registeredId = Prelude.pure newValue, ..} instance Property "Rfc822Name" GeneralNameProperty where type PropertyType "Rfc822Name" GeneralNameProperty = Value Prelude.Text set newValue GeneralNameProperty {..} = GeneralNameProperty {rfc822Name = Prelude.pure newValue, ..} instance Property "UniformResourceIdentifier" GeneralNameProperty where type PropertyType "UniformResourceIdentifier" GeneralNameProperty = Value Prelude.Text set newValue GeneralNameProperty {..} = GeneralNameProperty {uniformResourceIdentifier = Prelude.pure newValue, ..}