{-# 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.SSOAdmin.Types.AccountAssignmentOperationStatus -- 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.SSOAdmin.Types.AccountAssignmentOperationStatus 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 import Amazonka.SSOAdmin.Types.PrincipalType import Amazonka.SSOAdmin.Types.StatusValues import Amazonka.SSOAdmin.Types.TargetType -- | The status of the creation or deletion operation of an assignment that a -- principal needs to access an account. -- -- /See:/ 'newAccountAssignmentOperationStatus' smart constructor. data AccountAssignmentOperationStatus = AccountAssignmentOperationStatus' { -- | The date that the permission set was created. createdDate :: Prelude.Maybe Data.POSIX, -- | The message that contains an error or exception in case of an operation -- failure. failureReason :: Prelude.Maybe Prelude.Text, -- | The ARN of the permission set. For more information about ARNs, see -- -- in the /AWS General Reference/. permissionSetArn :: Prelude.Maybe Prelude.Text, -- | An identifier for an object in IAM Identity Center, such as a user or -- group. PrincipalIds are GUIDs (For example, -- f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about -- PrincipalIds in IAM Identity Center, see the -- . principalId :: Prelude.Maybe Prelude.Text, -- | The entity type for which the assignment will be created. principalType :: Prelude.Maybe PrincipalType, -- | The identifier for tracking the request operation that is generated by -- the universally unique identifier (UUID) workflow. requestId :: Prelude.Maybe Prelude.Text, -- | The status of the permission set provisioning process. status :: Prelude.Maybe StatusValues, -- | TargetID is an AWS account identifier, typically a 10-12 digit string -- (For example, 123456789012). targetId :: Prelude.Maybe Prelude.Text, -- | The entity type for which the assignment will be created. targetType :: Prelude.Maybe TargetType } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AccountAssignmentOperationStatus' 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: -- -- 'createdDate', 'accountAssignmentOperationStatus_createdDate' - The date that the permission set was created. -- -- 'failureReason', 'accountAssignmentOperationStatus_failureReason' - The message that contains an error or exception in case of an operation -- failure. -- -- 'permissionSetArn', 'accountAssignmentOperationStatus_permissionSetArn' - The ARN of the permission set. For more information about ARNs, see -- -- in the /AWS General Reference/. -- -- 'principalId', 'accountAssignmentOperationStatus_principalId' - An identifier for an object in IAM Identity Center, such as a user or -- group. PrincipalIds are GUIDs (For example, -- f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about -- PrincipalIds in IAM Identity Center, see the -- . -- -- 'principalType', 'accountAssignmentOperationStatus_principalType' - The entity type for which the assignment will be created. -- -- 'requestId', 'accountAssignmentOperationStatus_requestId' - The identifier for tracking the request operation that is generated by -- the universally unique identifier (UUID) workflow. -- -- 'status', 'accountAssignmentOperationStatus_status' - The status of the permission set provisioning process. -- -- 'targetId', 'accountAssignmentOperationStatus_targetId' - TargetID is an AWS account identifier, typically a 10-12 digit string -- (For example, 123456789012). -- -- 'targetType', 'accountAssignmentOperationStatus_targetType' - The entity type for which the assignment will be created. newAccountAssignmentOperationStatus :: AccountAssignmentOperationStatus newAccountAssignmentOperationStatus = AccountAssignmentOperationStatus' { createdDate = Prelude.Nothing, failureReason = Prelude.Nothing, permissionSetArn = Prelude.Nothing, principalId = Prelude.Nothing, principalType = Prelude.Nothing, requestId = Prelude.Nothing, status = Prelude.Nothing, targetId = Prelude.Nothing, targetType = Prelude.Nothing } -- | The date that the permission set was created. accountAssignmentOperationStatus_createdDate :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.UTCTime) accountAssignmentOperationStatus_createdDate = Lens.lens (\AccountAssignmentOperationStatus' {createdDate} -> createdDate) (\s@AccountAssignmentOperationStatus' {} a -> s {createdDate = a} :: AccountAssignmentOperationStatus) Prelude.. Lens.mapping Data._Time -- | The message that contains an error or exception in case of an operation -- failure. accountAssignmentOperationStatus_failureReason :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.Text) accountAssignmentOperationStatus_failureReason = Lens.lens (\AccountAssignmentOperationStatus' {failureReason} -> failureReason) (\s@AccountAssignmentOperationStatus' {} a -> s {failureReason = a} :: AccountAssignmentOperationStatus) -- | The ARN of the permission set. For more information about ARNs, see -- -- in the /AWS General Reference/. accountAssignmentOperationStatus_permissionSetArn :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.Text) accountAssignmentOperationStatus_permissionSetArn = Lens.lens (\AccountAssignmentOperationStatus' {permissionSetArn} -> permissionSetArn) (\s@AccountAssignmentOperationStatus' {} a -> s {permissionSetArn = a} :: AccountAssignmentOperationStatus) -- | An identifier for an object in IAM Identity Center, such as a user or -- group. PrincipalIds are GUIDs (For example, -- f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about -- PrincipalIds in IAM Identity Center, see the -- . accountAssignmentOperationStatus_principalId :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.Text) accountAssignmentOperationStatus_principalId = Lens.lens (\AccountAssignmentOperationStatus' {principalId} -> principalId) (\s@AccountAssignmentOperationStatus' {} a -> s {principalId = a} :: AccountAssignmentOperationStatus) -- | The entity type for which the assignment will be created. accountAssignmentOperationStatus_principalType :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe PrincipalType) accountAssignmentOperationStatus_principalType = Lens.lens (\AccountAssignmentOperationStatus' {principalType} -> principalType) (\s@AccountAssignmentOperationStatus' {} a -> s {principalType = a} :: AccountAssignmentOperationStatus) -- | The identifier for tracking the request operation that is generated by -- the universally unique identifier (UUID) workflow. accountAssignmentOperationStatus_requestId :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.Text) accountAssignmentOperationStatus_requestId = Lens.lens (\AccountAssignmentOperationStatus' {requestId} -> requestId) (\s@AccountAssignmentOperationStatus' {} a -> s {requestId = a} :: AccountAssignmentOperationStatus) -- | The status of the permission set provisioning process. accountAssignmentOperationStatus_status :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe StatusValues) accountAssignmentOperationStatus_status = Lens.lens (\AccountAssignmentOperationStatus' {status} -> status) (\s@AccountAssignmentOperationStatus' {} a -> s {status = a} :: AccountAssignmentOperationStatus) -- | TargetID is an AWS account identifier, typically a 10-12 digit string -- (For example, 123456789012). accountAssignmentOperationStatus_targetId :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe Prelude.Text) accountAssignmentOperationStatus_targetId = Lens.lens (\AccountAssignmentOperationStatus' {targetId} -> targetId) (\s@AccountAssignmentOperationStatus' {} a -> s {targetId = a} :: AccountAssignmentOperationStatus) -- | The entity type for which the assignment will be created. accountAssignmentOperationStatus_targetType :: Lens.Lens' AccountAssignmentOperationStatus (Prelude.Maybe TargetType) accountAssignmentOperationStatus_targetType = Lens.lens (\AccountAssignmentOperationStatus' {targetType} -> targetType) (\s@AccountAssignmentOperationStatus' {} a -> s {targetType = a} :: AccountAssignmentOperationStatus) instance Data.FromJSON AccountAssignmentOperationStatus where parseJSON = Data.withObject "AccountAssignmentOperationStatus" ( \x -> AccountAssignmentOperationStatus' Prelude.<$> (x Data..:? "CreatedDate") Prelude.<*> (x Data..:? "FailureReason") Prelude.<*> (x Data..:? "PermissionSetArn") Prelude.<*> (x Data..:? "PrincipalId") Prelude.<*> (x Data..:? "PrincipalType") Prelude.<*> (x Data..:? "RequestId") Prelude.<*> (x Data..:? "Status") Prelude.<*> (x Data..:? "TargetId") Prelude.<*> (x Data..:? "TargetType") ) instance Prelude.Hashable AccountAssignmentOperationStatus where hashWithSalt _salt AccountAssignmentOperationStatus' {..} = _salt `Prelude.hashWithSalt` createdDate `Prelude.hashWithSalt` failureReason `Prelude.hashWithSalt` permissionSetArn `Prelude.hashWithSalt` principalId `Prelude.hashWithSalt` principalType `Prelude.hashWithSalt` requestId `Prelude.hashWithSalt` status `Prelude.hashWithSalt` targetId `Prelude.hashWithSalt` targetType instance Prelude.NFData AccountAssignmentOperationStatus where rnf AccountAssignmentOperationStatus' {..} = Prelude.rnf createdDate `Prelude.seq` Prelude.rnf failureReason `Prelude.seq` Prelude.rnf permissionSetArn `Prelude.seq` Prelude.rnf principalId `Prelude.seq` Prelude.rnf principalType `Prelude.seq` Prelude.rnf requestId `Prelude.seq` Prelude.rnf status `Prelude.seq` Prelude.rnf targetId `Prelude.seq` Prelude.rnf targetType