module Stratosphere.ACMPCA.Certificate.ExtensionsProperty (
        module Exports, ExtensionsProperty(..), mkExtensionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.CustomExtensionProperty as Exports
import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.ExtendedKeyUsageProperty as Exports
import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.GeneralNameProperty as Exports
import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.KeyUsageProperty as Exports
import {-# SOURCE #-} Stratosphere.ACMPCA.Certificate.PolicyInformationProperty as Exports
import Stratosphere.ResourceProperties
data ExtensionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html>
    ExtensionsProperty {ExtensionsProperty -> ()
haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-certificatepolicies>
                        ExtensionsProperty -> Maybe [PolicyInformationProperty]
certificatePolicies :: (Prelude.Maybe [PolicyInformationProperty]),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-customextensions>
                        ExtensionsProperty -> Maybe [CustomExtensionProperty]
customExtensions :: (Prelude.Maybe [CustomExtensionProperty]),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-extendedkeyusage>
                        ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
extendedKeyUsage :: (Prelude.Maybe [ExtendedKeyUsageProperty]),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-keyusage>
                        ExtensionsProperty -> Maybe KeyUsageProperty
keyUsage :: (Prelude.Maybe KeyUsageProperty),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-acmpca-certificate-extensions.html#cfn-acmpca-certificate-extensions-subjectalternativenames>
                        ExtensionsProperty -> Maybe [GeneralNameProperty]
subjectAlternativeNames :: (Prelude.Maybe [GeneralNameProperty])}
  deriving stock (ExtensionsProperty -> ExtensionsProperty -> Bool
(ExtensionsProperty -> ExtensionsProperty -> Bool)
-> (ExtensionsProperty -> ExtensionsProperty -> Bool)
-> Eq ExtensionsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExtensionsProperty -> ExtensionsProperty -> Bool
== :: ExtensionsProperty -> ExtensionsProperty -> Bool
$c/= :: ExtensionsProperty -> ExtensionsProperty -> Bool
/= :: ExtensionsProperty -> ExtensionsProperty -> Bool
Prelude.Eq, Int -> ExtensionsProperty -> ShowS
[ExtensionsProperty] -> ShowS
ExtensionsProperty -> String
(Int -> ExtensionsProperty -> ShowS)
-> (ExtensionsProperty -> String)
-> ([ExtensionsProperty] -> ShowS)
-> Show ExtensionsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ExtensionsProperty -> ShowS
showsPrec :: Int -> ExtensionsProperty -> ShowS
$cshow :: ExtensionsProperty -> String
show :: ExtensionsProperty -> String
$cshowList :: [ExtensionsProperty] -> ShowS
showList :: [ExtensionsProperty] -> ShowS
Prelude.Show)
mkExtensionsProperty :: ExtensionsProperty
mkExtensionsProperty :: ExtensionsProperty
mkExtensionsProperty
  = ExtensionsProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), certificatePolicies :: Maybe [PolicyInformationProperty]
certificatePolicies = Maybe [PolicyInformationProperty]
forall a. Maybe a
Prelude.Nothing,
       customExtensions :: Maybe [CustomExtensionProperty]
customExtensions = Maybe [CustomExtensionProperty]
forall a. Maybe a
Prelude.Nothing,
       extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
extendedKeyUsage = Maybe [ExtendedKeyUsageProperty]
forall a. Maybe a
Prelude.Nothing, keyUsage :: Maybe KeyUsageProperty
keyUsage = Maybe KeyUsageProperty
forall a. Maybe a
Prelude.Nothing,
       subjectAlternativeNames :: Maybe [GeneralNameProperty]
subjectAlternativeNames = Maybe [GeneralNameProperty]
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ExtensionsProperty where
  toResourceProperties :: ExtensionsProperty -> ResourceProperties
toResourceProperties ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::ACMPCA::Certificate.Extensions",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> [PolicyInformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CertificatePolicies" ([PolicyInformationProperty] -> (Key, Value))
-> Maybe [PolicyInformationProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PolicyInformationProperty]
certificatePolicies,
                            Key -> [CustomExtensionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CustomExtensions" ([CustomExtensionProperty] -> (Key, Value))
-> Maybe [CustomExtensionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [CustomExtensionProperty]
customExtensions,
                            Key -> [ExtendedKeyUsageProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ExtendedKeyUsage" ([ExtendedKeyUsageProperty] -> (Key, Value))
-> Maybe [ExtendedKeyUsageProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExtendedKeyUsageProperty]
extendedKeyUsage,
                            Key -> KeyUsageProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"KeyUsage" (KeyUsageProperty -> (Key, Value))
-> Maybe KeyUsageProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KeyUsageProperty
keyUsage,
                            Key -> [GeneralNameProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SubjectAlternativeNames"
                              ([GeneralNameProperty] -> (Key, Value))
-> Maybe [GeneralNameProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [GeneralNameProperty]
subjectAlternativeNames])}
instance JSON.ToJSON ExtensionsProperty where
  toJSON :: ExtensionsProperty -> Value
toJSON ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> [PolicyInformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CertificatePolicies" ([PolicyInformationProperty] -> (Key, Value))
-> Maybe [PolicyInformationProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PolicyInformationProperty]
certificatePolicies,
               Key -> [CustomExtensionProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"CustomExtensions" ([CustomExtensionProperty] -> (Key, Value))
-> Maybe [CustomExtensionProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [CustomExtensionProperty]
customExtensions,
               Key -> [ExtendedKeyUsageProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"ExtendedKeyUsage" ([ExtendedKeyUsageProperty] -> (Key, Value))
-> Maybe [ExtendedKeyUsageProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [ExtendedKeyUsageProperty]
extendedKeyUsage,
               Key -> KeyUsageProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"KeyUsage" (KeyUsageProperty -> (Key, Value))
-> Maybe KeyUsageProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KeyUsageProperty
keyUsage,
               Key -> [GeneralNameProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SubjectAlternativeNames"
                 ([GeneralNameProperty] -> (Key, Value))
-> Maybe [GeneralNameProperty] -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [GeneralNameProperty]
subjectAlternativeNames]))
instance Property "CertificatePolicies" ExtensionsProperty where
  type PropertyType "CertificatePolicies" ExtensionsProperty = [PolicyInformationProperty]
  set :: PropertyType "CertificatePolicies" ExtensionsProperty
-> ExtensionsProperty -> ExtensionsProperty
set PropertyType "CertificatePolicies" ExtensionsProperty
newValue ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ExtensionsProperty
        {certificatePolicies :: Maybe [PolicyInformationProperty]
certificatePolicies = [PolicyInformationProperty] -> Maybe [PolicyInformationProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [PolicyInformationProperty]
PropertyType "CertificatePolicies" ExtensionsProperty
newValue, Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ()
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
instance Property "CustomExtensions" ExtensionsProperty where
  type PropertyType "CustomExtensions" ExtensionsProperty = [CustomExtensionProperty]
  set :: PropertyType "CustomExtensions" ExtensionsProperty
-> ExtensionsProperty -> ExtensionsProperty
set PropertyType "CustomExtensions" ExtensionsProperty
newValue ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ExtensionsProperty {customExtensions :: Maybe [CustomExtensionProperty]
customExtensions = [CustomExtensionProperty] -> Maybe [CustomExtensionProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [CustomExtensionProperty]
PropertyType "CustomExtensions" ExtensionsProperty
newValue, Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
instance Property "ExtendedKeyUsage" ExtensionsProperty where
  type PropertyType "ExtendedKeyUsage" ExtensionsProperty = [ExtendedKeyUsageProperty]
  set :: PropertyType "ExtendedKeyUsage" ExtensionsProperty
-> ExtensionsProperty -> ExtensionsProperty
set PropertyType "ExtendedKeyUsage" ExtensionsProperty
newValue ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ExtensionsProperty {extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
extendedKeyUsage = [ExtendedKeyUsageProperty] -> Maybe [ExtendedKeyUsageProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [ExtendedKeyUsageProperty]
PropertyType "ExtendedKeyUsage" ExtensionsProperty
newValue, Maybe [CustomExtensionProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
instance Property "KeyUsage" ExtensionsProperty where
  type PropertyType "KeyUsage" ExtensionsProperty = KeyUsageProperty
  set :: PropertyType "KeyUsage" ExtensionsProperty
-> ExtensionsProperty -> ExtensionsProperty
set PropertyType "KeyUsage" ExtensionsProperty
newValue ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ExtensionsProperty {keyUsage :: Maybe KeyUsageProperty
keyUsage = KeyUsageProperty -> Maybe KeyUsageProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "KeyUsage" ExtensionsProperty
KeyUsageProperty
newValue, Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
()
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
subjectAlternativeNames :: Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
instance Property "SubjectAlternativeNames" ExtensionsProperty where
  type PropertyType "SubjectAlternativeNames" ExtensionsProperty = [GeneralNameProperty]
  set :: PropertyType "SubjectAlternativeNames" ExtensionsProperty
-> ExtensionsProperty -> ExtensionsProperty
set PropertyType "SubjectAlternativeNames" ExtensionsProperty
newValue ExtensionsProperty {Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe [GeneralNameProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ExtensionsProperty -> ()
certificatePolicies :: ExtensionsProperty -> Maybe [PolicyInformationProperty]
customExtensions :: ExtensionsProperty -> Maybe [CustomExtensionProperty]
extendedKeyUsage :: ExtensionsProperty -> Maybe [ExtendedKeyUsageProperty]
keyUsage :: ExtensionsProperty -> Maybe KeyUsageProperty
subjectAlternativeNames :: ExtensionsProperty -> Maybe [GeneralNameProperty]
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
subjectAlternativeNames :: Maybe [GeneralNameProperty]
..}
    = ExtensionsProperty
        {subjectAlternativeNames :: Maybe [GeneralNameProperty]
subjectAlternativeNames = [GeneralNameProperty] -> Maybe [GeneralNameProperty]
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure [GeneralNameProperty]
PropertyType "SubjectAlternativeNames" ExtensionsProperty
newValue, Maybe [CustomExtensionProperty]
Maybe [ExtendedKeyUsageProperty]
Maybe [PolicyInformationProperty]
Maybe KeyUsageProperty
()
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
haddock_workaround_ :: ()
certificatePolicies :: Maybe [PolicyInformationProperty]
customExtensions :: Maybe [CustomExtensionProperty]
extendedKeyUsage :: Maybe [ExtendedKeyUsageProperty]
keyUsage :: Maybe KeyUsageProperty
..}