public boolean checkIfAssignmentAlreadyExist()

in aws-sso-assignment/src/main/java/software/amazon/sso/assignment/actionProxy/AssignmentProxy.java [28:47]


    public boolean checkIfAssignmentAlreadyExist(String instanceArn, String targetId, String permissionSetArn, String principalId, String principalType) {

        String nextToken = null;
        do {
            try {
                ListAccountAssignmentsResponse listAccountAssignmentsResponse = proxy.injectCredentialsAndInvokeV2(translateToListRequest(instanceArn, targetId, permissionSetArn, nextToken),
                        proxyClient.client()::listAccountAssignments);
                if (listAccountAssignmentsResponse.accountAssignments() != null && listAccountAssignmentsResponse.accountAssignments().size() > 0) {
                    if (checkAssignmentExistsInList(targetId, permissionSetArn, principalId, principalType, listAccountAssignmentsResponse.accountAssignments())) {
                        return true;
                    }
                }
                nextToken = listAccountAssignmentsResponse.nextToken();
            } catch (ResourceNotFoundException e) {
                return false;
            }
        } while (!StringUtils.isNullOrEmpty(nextToken));

        return false;
    }