{-# 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.WorkSpaces.Types.DefaultWorkspaceCreationProperties
-- 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.WorkSpaces.Types.DefaultWorkspaceCreationProperties 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

-- | Describes the default values that are used to create WorkSpaces. For
-- more information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/update-directory-details.html Update Directory Details for Your WorkSpaces>.
--
-- /See:/ 'newDefaultWorkspaceCreationProperties' smart constructor.
data DefaultWorkspaceCreationProperties = DefaultWorkspaceCreationProperties'
  { -- | The identifier of the default security group to apply to WorkSpaces when
    -- they are created. For more information, see
    -- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html Security Groups for Your WorkSpaces>.
    DefaultWorkspaceCreationProperties -> Maybe Text
customSecurityGroupId :: Prelude.Maybe Prelude.Text,
    -- | The organizational unit (OU) in the directory for the WorkSpace machine
    -- accounts.
    DefaultWorkspaceCreationProperties -> Maybe Text
defaultOu :: Prelude.Maybe Prelude.Text,
    -- | Specifies whether to automatically assign an Elastic public IP address
    -- to WorkSpaces in this directory by default. If enabled, the Elastic
    -- public IP address allows outbound internet access from your WorkSpaces
    -- when you’re using an internet gateway in the Amazon VPC in which your
    -- WorkSpaces are located. If you\'re using a Network Address Translation
    -- (NAT) gateway for outbound internet access from your VPC, or if your
    -- WorkSpaces are in public subnets and you manually assign them Elastic IP
    -- addresses, you should disable this setting. This setting applies to new
    -- WorkSpaces that you launch or to existing WorkSpaces that you rebuild.
    -- For more information, see
    -- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html Configure a VPC for Amazon WorkSpaces>.
    DefaultWorkspaceCreationProperties -> Maybe Bool
enableInternetAccess :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether maintenance mode is enabled for WorkSpaces. For more
    -- information, see
    -- <https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html WorkSpace Maintenance>.
    DefaultWorkspaceCreationProperties -> Maybe Bool
enableMaintenanceMode :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether the directory is enabled for Amazon WorkDocs.
    DefaultWorkspaceCreationProperties -> Maybe Bool
enableWorkDocs :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether WorkSpace users are local administrators on their
    -- WorkSpaces.
    DefaultWorkspaceCreationProperties -> Maybe Bool
userEnabledAsLocalAdministrator :: Prelude.Maybe Prelude.Bool
  }
  deriving (DefaultWorkspaceCreationProperties
-> DefaultWorkspaceCreationProperties -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DefaultWorkspaceCreationProperties
-> DefaultWorkspaceCreationProperties -> Bool
$c/= :: DefaultWorkspaceCreationProperties
-> DefaultWorkspaceCreationProperties -> Bool
== :: DefaultWorkspaceCreationProperties
-> DefaultWorkspaceCreationProperties -> Bool
$c== :: DefaultWorkspaceCreationProperties
-> DefaultWorkspaceCreationProperties -> Bool
Prelude.Eq, ReadPrec [DefaultWorkspaceCreationProperties]
ReadPrec DefaultWorkspaceCreationProperties
Int -> ReadS DefaultWorkspaceCreationProperties
ReadS [DefaultWorkspaceCreationProperties]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DefaultWorkspaceCreationProperties]
$creadListPrec :: ReadPrec [DefaultWorkspaceCreationProperties]
readPrec :: ReadPrec DefaultWorkspaceCreationProperties
$creadPrec :: ReadPrec DefaultWorkspaceCreationProperties
readList :: ReadS [DefaultWorkspaceCreationProperties]
$creadList :: ReadS [DefaultWorkspaceCreationProperties]
readsPrec :: Int -> ReadS DefaultWorkspaceCreationProperties
$creadsPrec :: Int -> ReadS DefaultWorkspaceCreationProperties
Prelude.Read, Int -> DefaultWorkspaceCreationProperties -> ShowS
[DefaultWorkspaceCreationProperties] -> ShowS
DefaultWorkspaceCreationProperties -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DefaultWorkspaceCreationProperties] -> ShowS
$cshowList :: [DefaultWorkspaceCreationProperties] -> ShowS
show :: DefaultWorkspaceCreationProperties -> String
$cshow :: DefaultWorkspaceCreationProperties -> String
showsPrec :: Int -> DefaultWorkspaceCreationProperties -> ShowS
$cshowsPrec :: Int -> DefaultWorkspaceCreationProperties -> ShowS
Prelude.Show, forall x.
Rep DefaultWorkspaceCreationProperties x
-> DefaultWorkspaceCreationProperties
forall x.
DefaultWorkspaceCreationProperties
-> Rep DefaultWorkspaceCreationProperties x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DefaultWorkspaceCreationProperties x
-> DefaultWorkspaceCreationProperties
$cfrom :: forall x.
DefaultWorkspaceCreationProperties
-> Rep DefaultWorkspaceCreationProperties x
Prelude.Generic)

-- |
-- Create a value of 'DefaultWorkspaceCreationProperties' 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:
--
-- 'customSecurityGroupId', 'defaultWorkspaceCreationProperties_customSecurityGroupId' - The identifier of the default security group to apply to WorkSpaces when
-- they are created. For more information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html Security Groups for Your WorkSpaces>.
--
-- 'defaultOu', 'defaultWorkspaceCreationProperties_defaultOu' - The organizational unit (OU) in the directory for the WorkSpace machine
-- accounts.
--
-- 'enableInternetAccess', 'defaultWorkspaceCreationProperties_enableInternetAccess' - Specifies whether to automatically assign an Elastic public IP address
-- to WorkSpaces in this directory by default. If enabled, the Elastic
-- public IP address allows outbound internet access from your WorkSpaces
-- when you’re using an internet gateway in the Amazon VPC in which your
-- WorkSpaces are located. If you\'re using a Network Address Translation
-- (NAT) gateway for outbound internet access from your VPC, or if your
-- WorkSpaces are in public subnets and you manually assign them Elastic IP
-- addresses, you should disable this setting. This setting applies to new
-- WorkSpaces that you launch or to existing WorkSpaces that you rebuild.
-- For more information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html Configure a VPC for Amazon WorkSpaces>.
--
-- 'enableMaintenanceMode', 'defaultWorkspaceCreationProperties_enableMaintenanceMode' - Specifies whether maintenance mode is enabled for WorkSpaces. For more
-- information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html WorkSpace Maintenance>.
--
-- 'enableWorkDocs', 'defaultWorkspaceCreationProperties_enableWorkDocs' - Specifies whether the directory is enabled for Amazon WorkDocs.
--
-- 'userEnabledAsLocalAdministrator', 'defaultWorkspaceCreationProperties_userEnabledAsLocalAdministrator' - Specifies whether WorkSpace users are local administrators on their
-- WorkSpaces.
newDefaultWorkspaceCreationProperties ::
  DefaultWorkspaceCreationProperties
newDefaultWorkspaceCreationProperties :: DefaultWorkspaceCreationProperties
newDefaultWorkspaceCreationProperties =
  DefaultWorkspaceCreationProperties'
    { $sel:customSecurityGroupId:DefaultWorkspaceCreationProperties' :: Maybe Text
customSecurityGroupId =
        forall a. Maybe a
Prelude.Nothing,
      $sel:defaultOu:DefaultWorkspaceCreationProperties' :: Maybe Text
defaultOu = forall a. Maybe a
Prelude.Nothing,
      $sel:enableInternetAccess:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableInternetAccess = forall a. Maybe a
Prelude.Nothing,
      $sel:enableMaintenanceMode:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableMaintenanceMode = forall a. Maybe a
Prelude.Nothing,
      $sel:enableWorkDocs:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableWorkDocs = forall a. Maybe a
Prelude.Nothing,
      $sel:userEnabledAsLocalAdministrator:DefaultWorkspaceCreationProperties' :: Maybe Bool
userEnabledAsLocalAdministrator =
        forall a. Maybe a
Prelude.Nothing
    }

-- | The identifier of the default security group to apply to WorkSpaces when
-- they are created. For more information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-security-groups.html Security Groups for Your WorkSpaces>.
defaultWorkspaceCreationProperties_customSecurityGroupId :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Text)
defaultWorkspaceCreationProperties_customSecurityGroupId :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
defaultWorkspaceCreationProperties_customSecurityGroupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Text
customSecurityGroupId :: Maybe Text
$sel:customSecurityGroupId:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
customSecurityGroupId} -> Maybe Text
customSecurityGroupId) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Text
a -> DefaultWorkspaceCreationProperties
s {$sel:customSecurityGroupId:DefaultWorkspaceCreationProperties' :: Maybe Text
customSecurityGroupId = Maybe Text
a} :: DefaultWorkspaceCreationProperties)

-- | The organizational unit (OU) in the directory for the WorkSpace machine
-- accounts.
defaultWorkspaceCreationProperties_defaultOu :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Text)
defaultWorkspaceCreationProperties_defaultOu :: Lens' DefaultWorkspaceCreationProperties (Maybe Text)
defaultWorkspaceCreationProperties_defaultOu = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Text
defaultOu :: Maybe Text
$sel:defaultOu:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
defaultOu} -> Maybe Text
defaultOu) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Text
a -> DefaultWorkspaceCreationProperties
s {$sel:defaultOu:DefaultWorkspaceCreationProperties' :: Maybe Text
defaultOu = Maybe Text
a} :: DefaultWorkspaceCreationProperties)

-- | Specifies whether to automatically assign an Elastic public IP address
-- to WorkSpaces in this directory by default. If enabled, the Elastic
-- public IP address allows outbound internet access from your WorkSpaces
-- when you’re using an internet gateway in the Amazon VPC in which your
-- WorkSpaces are located. If you\'re using a Network Address Translation
-- (NAT) gateway for outbound internet access from your VPC, or if your
-- WorkSpaces are in public subnets and you manually assign them Elastic IP
-- addresses, you should disable this setting. This setting applies to new
-- WorkSpaces that you launch or to existing WorkSpaces that you rebuild.
-- For more information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-vpc.html Configure a VPC for Amazon WorkSpaces>.
defaultWorkspaceCreationProperties_enableInternetAccess :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Bool)
defaultWorkspaceCreationProperties_enableInternetAccess :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
defaultWorkspaceCreationProperties_enableInternetAccess = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Bool
enableInternetAccess :: Maybe Bool
$sel:enableInternetAccess:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
enableInternetAccess} -> Maybe Bool
enableInternetAccess) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Bool
a -> DefaultWorkspaceCreationProperties
s {$sel:enableInternetAccess:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableInternetAccess = Maybe Bool
a} :: DefaultWorkspaceCreationProperties)

-- | Specifies whether maintenance mode is enabled for WorkSpaces. For more
-- information, see
-- <https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html WorkSpace Maintenance>.
defaultWorkspaceCreationProperties_enableMaintenanceMode :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Bool)
defaultWorkspaceCreationProperties_enableMaintenanceMode :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
defaultWorkspaceCreationProperties_enableMaintenanceMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Bool
enableMaintenanceMode :: Maybe Bool
$sel:enableMaintenanceMode:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
enableMaintenanceMode} -> Maybe Bool
enableMaintenanceMode) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Bool
a -> DefaultWorkspaceCreationProperties
s {$sel:enableMaintenanceMode:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableMaintenanceMode = Maybe Bool
a} :: DefaultWorkspaceCreationProperties)

-- | Specifies whether the directory is enabled for Amazon WorkDocs.
defaultWorkspaceCreationProperties_enableWorkDocs :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Bool)
defaultWorkspaceCreationProperties_enableWorkDocs :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
defaultWorkspaceCreationProperties_enableWorkDocs = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Bool
enableWorkDocs :: Maybe Bool
$sel:enableWorkDocs:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
enableWorkDocs} -> Maybe Bool
enableWorkDocs) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Bool
a -> DefaultWorkspaceCreationProperties
s {$sel:enableWorkDocs:DefaultWorkspaceCreationProperties' :: Maybe Bool
enableWorkDocs = Maybe Bool
a} :: DefaultWorkspaceCreationProperties)

-- | Specifies whether WorkSpace users are local administrators on their
-- WorkSpaces.
defaultWorkspaceCreationProperties_userEnabledAsLocalAdministrator :: Lens.Lens' DefaultWorkspaceCreationProperties (Prelude.Maybe Prelude.Bool)
defaultWorkspaceCreationProperties_userEnabledAsLocalAdministrator :: Lens' DefaultWorkspaceCreationProperties (Maybe Bool)
defaultWorkspaceCreationProperties_userEnabledAsLocalAdministrator = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DefaultWorkspaceCreationProperties' {Maybe Bool
userEnabledAsLocalAdministrator :: Maybe Bool
$sel:userEnabledAsLocalAdministrator:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
userEnabledAsLocalAdministrator} -> Maybe Bool
userEnabledAsLocalAdministrator) (\s :: DefaultWorkspaceCreationProperties
s@DefaultWorkspaceCreationProperties' {} Maybe Bool
a -> DefaultWorkspaceCreationProperties
s {$sel:userEnabledAsLocalAdministrator:DefaultWorkspaceCreationProperties' :: Maybe Bool
userEnabledAsLocalAdministrator = Maybe Bool
a} :: DefaultWorkspaceCreationProperties)

instance
  Data.FromJSON
    DefaultWorkspaceCreationProperties
  where
  parseJSON :: Value -> Parser DefaultWorkspaceCreationProperties
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"DefaultWorkspaceCreationProperties"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> Maybe Bool
-> DefaultWorkspaceCreationProperties
DefaultWorkspaceCreationProperties'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"CustomSecurityGroupId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"DefaultOu")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EnableInternetAccess")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EnableMaintenanceMode")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"EnableWorkDocs")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"UserEnabledAsLocalAdministrator")
      )

instance
  Prelude.Hashable
    DefaultWorkspaceCreationProperties
  where
  hashWithSalt :: Int -> DefaultWorkspaceCreationProperties -> Int
hashWithSalt
    Int
_salt
    DefaultWorkspaceCreationProperties' {Maybe Bool
Maybe Text
userEnabledAsLocalAdministrator :: Maybe Bool
enableWorkDocs :: Maybe Bool
enableMaintenanceMode :: Maybe Bool
enableInternetAccess :: Maybe Bool
defaultOu :: Maybe Text
customSecurityGroupId :: Maybe Text
$sel:userEnabledAsLocalAdministrator:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableWorkDocs:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableMaintenanceMode:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableInternetAccess:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:defaultOu:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
$sel:customSecurityGroupId:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
customSecurityGroupId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
defaultOu
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableInternetAccess
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableMaintenanceMode
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
enableWorkDocs
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
userEnabledAsLocalAdministrator

instance
  Prelude.NFData
    DefaultWorkspaceCreationProperties
  where
  rnf :: DefaultWorkspaceCreationProperties -> ()
rnf DefaultWorkspaceCreationProperties' {Maybe Bool
Maybe Text
userEnabledAsLocalAdministrator :: Maybe Bool
enableWorkDocs :: Maybe Bool
enableMaintenanceMode :: Maybe Bool
enableInternetAccess :: Maybe Bool
defaultOu :: Maybe Text
customSecurityGroupId :: Maybe Text
$sel:userEnabledAsLocalAdministrator:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableWorkDocs:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableMaintenanceMode:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:enableInternetAccess:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Bool
$sel:defaultOu:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
$sel:customSecurityGroupId:DefaultWorkspaceCreationProperties' :: DefaultWorkspaceCreationProperties -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
customSecurityGroupId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
defaultOu
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enableInternetAccess
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enableMaintenanceMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
enableWorkDocs
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
userEnabledAsLocalAdministrator