in src/main/java/com/amazonaws/services/cloudtrail/processinglibrary/serializer/AbstractEventSerializer.java [224:274]
private void parseUserIdentity(CloudTrailEventData eventData) throws IOException {
JsonToken nextToken = jsonParser.nextToken();
if (nextToken == JsonToken.VALUE_NULL) {
eventData.add(CloudTrailEventField.userIdentity.name(), null);
return;
}
if (nextToken != JsonToken.START_OBJECT) {
throw new JsonParseException("Not a UserIdentity object", jsonParser.getCurrentLocation());
}
UserIdentity userIdentity = new UserIdentity();
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
String key = jsonParser.getCurrentName();
switch (key) {
case "type":
userIdentity.add(CloudTrailEventField.type.name(), jsonParser.nextTextValue());
break;
case "principalId":
userIdentity.add(CloudTrailEventField.principalId.name(), jsonParser.nextTextValue());
break;
case "arn":
userIdentity.add(CloudTrailEventField.arn.name(), jsonParser.nextTextValue());
break;
case "accountId":
userIdentity.add(CloudTrailEventField.accountId.name(), jsonParser.nextTextValue());
break;
case "accessKeyId":
userIdentity.add(CloudTrailEventField.accessKeyId.name(), jsonParser.nextTextValue());
break;
case "userName":
userIdentity.add(CloudTrailEventField.userName.name(), jsonParser.nextTextValue());
break;
case "sessionContext":
this.parseSessionContext(userIdentity);
break;
case "invokedBy":
userIdentity.add(CloudTrailEventField.invokedBy.name(), jsonParser.nextTextValue());
break;
case "identityProvider":
userIdentity.add(CloudTrailEventField.identityProvider.name(), jsonParser.nextTextValue());
break;
default:
userIdentity.add(key, parseDefaultValue(key));
break;
}
}
eventData.add(CloudTrailEventField.userIdentity.name(), userIdentity);
}