using System.Collections.Generic;
using System.Runtime.Serialization;
namespace Amazon.Lambda.CognitoEvents
{
///
/// https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
///
[DataContract]
public class ClaimOverrideDetails
{
///
/// A map of one or more key-value pairs of claims to add or override. For group related claims, use groupOverrideDetails instead.
///
[DataMember(Name = "claimsToAddOrOverride")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("claimsToAddOrOverride")]
# endif
public Dictionary ClaimsToAddOrOverride { get; set; } = new Dictionary();
///
/// A list that contains claims to be suppressed from the identity token.
///
[DataMember(Name = "claimsToSuppress")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("claimsToSuppress")]
# endif
public List ClaimsToSuppress { get; set; } = new List();
///
/// The output object containing the current group configuration. It includes groupsToOverride, iamRolesToOverride, and preferredRole.
///
[DataMember(Name = "groupOverrideDetails")]
#if NETCOREAPP3_1
[System.Text.Json.Serialization.JsonPropertyName("groupOverrideDetails")]
# endif
public GroupConfiguration GroupOverrideDetails { get; set; } = new GroupConfiguration();
}
}