All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.lambda.runtime.events.CognitoUserPoolPreTokenGenerationEventV2 Maven / Gradle / Ivy

The newest version!
/* Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. */

package com.amazonaws.services.lambda.runtime.events;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Map;

/**
 * Represent the class for the Cognito User Pool Pre Token Generation Lambda Trigger V2
 * 

* See Pre Token Generation Lambda Trigger */ @Data @EqualsAndHashCode(callSuper = true) @NoArgsConstructor @ToString(callSuper = true) public class CognitoUserPoolPreTokenGenerationEventV2 extends CognitoUserPoolEvent { /** * The request from the Amazon Cognito service. */ private Request request; /** * The response from your Lambda trigger. */ private Response response; @Builder(setterPrefix = "with") public CognitoUserPoolPreTokenGenerationEventV2( String version, String triggerSource, String region, String userPoolId, String userName, CallerContext callerContext, Request request, Response response) { super(version, triggerSource, region, userPoolId, userName, callerContext); this.request = request; this.response = response; } @Data @EqualsAndHashCode(callSuper = true) @NoArgsConstructor @ToString(callSuper = true) public static class Request extends CognitoUserPoolEvent.Request { private String[] scopes; private GroupConfiguration groupConfiguration; private Map clientMetadata; @Builder(setterPrefix = "with") public Request(Map userAttributes, String[] scopes, GroupConfiguration groupConfiguration, Map clientMetadata) { super(userAttributes); this.scopes = scopes; this.groupConfiguration = groupConfiguration; this.clientMetadata = clientMetadata; } } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class GroupConfiguration { /** * A list of the group names that are associated with the user that the identity token is issued for. */ private String[] groupsToOverride; /** * A list of the current IAM roles associated with these groups. */ private String[] iamRolesToOverride; /** * Indicates the preferred IAM role. */ private String preferredRole; } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class Response { private ClaimsAndScopeOverrideDetails claimsAndScopeOverrideDetails; } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class ClaimsAndScopeOverrideDetails { private IdTokenGeneration idTokenGeneration; private AccessTokenGeneration accessTokenGeneration; private GroupOverrideDetails groupOverrideDetails; } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class IdTokenGeneration { private Map claimsToAddOrOverride; private String[] claimsToSuppress; } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class AccessTokenGeneration { private Map claimsToAddOrOverride; private String[] claimsToSuppress; private String[] scopesToAdd; private String[] scopesToSuppress; } @Data @AllArgsConstructor @Builder(setterPrefix = "with") @NoArgsConstructor public static class GroupOverrideDetails { private String[] groupsToOverride; private String[] iamRolesToOverride; private String preferredRole; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy