module Stratosphere.Elasticsearch.Domain.AdvancedSecurityOptionsInputProperty ( module Exports, AdvancedSecurityOptionsInputProperty(..), mkAdvancedSecurityOptionsInputProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.Elasticsearch.Domain.MasterUserOptionsProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data AdvancedSecurityOptionsInputProperty = -- | See: AdvancedSecurityOptionsInputProperty {haddock_workaround_ :: (), -- | See: anonymousAuthEnabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: enabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: internalUserDatabaseEnabled :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: masterUserOptions :: (Prelude.Maybe MasterUserOptionsProperty)} deriving stock (Prelude.Eq, Prelude.Show) mkAdvancedSecurityOptionsInputProperty :: AdvancedSecurityOptionsInputProperty mkAdvancedSecurityOptionsInputProperty = AdvancedSecurityOptionsInputProperty {haddock_workaround_ = (), anonymousAuthEnabled = Prelude.Nothing, enabled = Prelude.Nothing, internalUserDatabaseEnabled = Prelude.Nothing, masterUserOptions = Prelude.Nothing} instance ToResourceProperties AdvancedSecurityOptionsInputProperty where toResourceProperties AdvancedSecurityOptionsInputProperty {..} = ResourceProperties {awsType = "AWS::Elasticsearch::Domain.AdvancedSecurityOptionsInput", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AnonymousAuthEnabled" Prelude.<$> anonymousAuthEnabled, (JSON..=) "Enabled" Prelude.<$> enabled, (JSON..=) "InternalUserDatabaseEnabled" Prelude.<$> internalUserDatabaseEnabled, (JSON..=) "MasterUserOptions" Prelude.<$> masterUserOptions])} instance JSON.ToJSON AdvancedSecurityOptionsInputProperty where toJSON AdvancedSecurityOptionsInputProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AnonymousAuthEnabled" Prelude.<$> anonymousAuthEnabled, (JSON..=) "Enabled" Prelude.<$> enabled, (JSON..=) "InternalUserDatabaseEnabled" Prelude.<$> internalUserDatabaseEnabled, (JSON..=) "MasterUserOptions" Prelude.<$> masterUserOptions])) instance Property "AnonymousAuthEnabled" AdvancedSecurityOptionsInputProperty where type PropertyType "AnonymousAuthEnabled" AdvancedSecurityOptionsInputProperty = Value Prelude.Bool set newValue AdvancedSecurityOptionsInputProperty {..} = AdvancedSecurityOptionsInputProperty {anonymousAuthEnabled = Prelude.pure newValue, ..} instance Property "Enabled" AdvancedSecurityOptionsInputProperty where type PropertyType "Enabled" AdvancedSecurityOptionsInputProperty = Value Prelude.Bool set newValue AdvancedSecurityOptionsInputProperty {..} = AdvancedSecurityOptionsInputProperty {enabled = Prelude.pure newValue, ..} instance Property "InternalUserDatabaseEnabled" AdvancedSecurityOptionsInputProperty where type PropertyType "InternalUserDatabaseEnabled" AdvancedSecurityOptionsInputProperty = Value Prelude.Bool set newValue AdvancedSecurityOptionsInputProperty {..} = AdvancedSecurityOptionsInputProperty {internalUserDatabaseEnabled = Prelude.pure newValue, ..} instance Property "MasterUserOptions" AdvancedSecurityOptionsInputProperty where type PropertyType "MasterUserOptions" AdvancedSecurityOptionsInputProperty = MasterUserOptionsProperty set newValue AdvancedSecurityOptionsInputProperty {..} = AdvancedSecurityOptionsInputProperty {masterUserOptions = Prelude.pure newValue, ..}