{-# 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.SageMaker.Types.CognitoMemberDefinition -- 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.SageMaker.Types.CognitoMemberDefinition 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 -- | Identifies a Amazon Cognito user group. A user group can be used in on -- or more work teams. -- -- /See:/ 'newCognitoMemberDefinition' smart constructor. data CognitoMemberDefinition = CognitoMemberDefinition' { -- | An identifier for a user pool. The user pool must be in the same region -- as the service that you are calling. userPool :: Prelude.Text, -- | An identifier for a user group. userGroup :: Prelude.Text, -- | An identifier for an application client. You must create the app client -- ID using Amazon Cognito. clientId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'CognitoMemberDefinition' 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: -- -- 'userPool', 'cognitoMemberDefinition_userPool' - An identifier for a user pool. The user pool must be in the same region -- as the service that you are calling. -- -- 'userGroup', 'cognitoMemberDefinition_userGroup' - An identifier for a user group. -- -- 'clientId', 'cognitoMemberDefinition_clientId' - An identifier for an application client. You must create the app client -- ID using Amazon Cognito. newCognitoMemberDefinition :: -- | 'userPool' Prelude.Text -> -- | 'userGroup' Prelude.Text -> -- | 'clientId' Prelude.Text -> CognitoMemberDefinition newCognitoMemberDefinition pUserPool_ pUserGroup_ pClientId_ = CognitoMemberDefinition' { userPool = pUserPool_, userGroup = pUserGroup_, clientId = pClientId_ } -- | An identifier for a user pool. The user pool must be in the same region -- as the service that you are calling. cognitoMemberDefinition_userPool :: Lens.Lens' CognitoMemberDefinition Prelude.Text cognitoMemberDefinition_userPool = Lens.lens (\CognitoMemberDefinition' {userPool} -> userPool) (\s@CognitoMemberDefinition' {} a -> s {userPool = a} :: CognitoMemberDefinition) -- | An identifier for a user group. cognitoMemberDefinition_userGroup :: Lens.Lens' CognitoMemberDefinition Prelude.Text cognitoMemberDefinition_userGroup = Lens.lens (\CognitoMemberDefinition' {userGroup} -> userGroup) (\s@CognitoMemberDefinition' {} a -> s {userGroup = a} :: CognitoMemberDefinition) -- | An identifier for an application client. You must create the app client -- ID using Amazon Cognito. cognitoMemberDefinition_clientId :: Lens.Lens' CognitoMemberDefinition Prelude.Text cognitoMemberDefinition_clientId = Lens.lens (\CognitoMemberDefinition' {clientId} -> clientId) (\s@CognitoMemberDefinition' {} a -> s {clientId = a} :: CognitoMemberDefinition) instance Data.FromJSON CognitoMemberDefinition where parseJSON = Data.withObject "CognitoMemberDefinition" ( \x -> CognitoMemberDefinition' Prelude.<$> (x Data..: "UserPool") Prelude.<*> (x Data..: "UserGroup") Prelude.<*> (x Data..: "ClientId") ) instance Prelude.Hashable CognitoMemberDefinition where hashWithSalt _salt CognitoMemberDefinition' {..} = _salt `Prelude.hashWithSalt` userPool `Prelude.hashWithSalt` userGroup `Prelude.hashWithSalt` clientId instance Prelude.NFData CognitoMemberDefinition where rnf CognitoMemberDefinition' {..} = Prelude.rnf userPool `Prelude.seq` Prelude.rnf userGroup `Prelude.seq` Prelude.rnf clientId instance Data.ToJSON CognitoMemberDefinition where toJSON CognitoMemberDefinition' {..} = Data.object ( Prelude.catMaybes [ Prelude.Just ("UserPool" Data..= userPool), Prelude.Just ("UserGroup" Data..= userGroup), Prelude.Just ("ClientId" Data..= clientId) ] )