
package com.microstar.tap3.lambda;

import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
    "apiKey",
    "userArn",
    "cognitoAuthenticationType",
    "caller",
    "userAgent",
    "user",
    "cognitoIdentityPoolId",
    "cognitoIdentityId",
    "cognitoAuthenticationProvider",
    "sourceIp",
    "accountId",
    "accessKey"
})
public class Identity {

    @JsonProperty("apiKey")
    private String apiKey;
    @JsonProperty("userArn")
    private Object userArn;
    @JsonProperty("cognitoAuthenticationType")
    private Object cognitoAuthenticationType;
    @JsonProperty("caller")
    private Object caller;
    @JsonProperty("userAgent")
    private Object userAgent;
    @JsonProperty("user")
    private Object user;
    @JsonProperty("cognitoIdentityPoolId")
    private Object cognitoIdentityPoolId;
    @JsonProperty("cognitoIdentityId")
    private Object cognitoIdentityId;
    @JsonProperty("cognitoAuthenticationProvider")
    private Object cognitoAuthenticationProvider;
    @JsonProperty("sourceIp")
    private String sourceIp;
    @JsonProperty("accountId")
    private Object accountId;
    @JsonProperty("accessKey")
    private Object accessKey;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("apiKey")
    public String getApiKey() {
        return apiKey;
    }

    @JsonProperty("apiKey")
    public void setApiKey(String apiKey) {
        this.apiKey = apiKey;
    }

    @JsonProperty("userArn")
    public Object getUserArn() {
        return userArn;
    }

    @JsonProperty("userArn")
    public void setUserArn(Object userArn) {
        this.userArn = userArn;
    }

    @JsonProperty("cognitoAuthenticationType")
    public Object getCognitoAuthenticationType() {
        return cognitoAuthenticationType;
    }

    @JsonProperty("cognitoAuthenticationType")
    public void setCognitoAuthenticationType(Object cognitoAuthenticationType) {
        this.cognitoAuthenticationType = cognitoAuthenticationType;
    }

    @JsonProperty("caller")
    public Object getCaller() {
        return caller;
    }

    @JsonProperty("caller")
    public void setCaller(Object caller) {
        this.caller = caller;
    }

    @JsonProperty("userAgent")
    public Object getUserAgent() {
        return userAgent;
    }

    @JsonProperty("userAgent")
    public void setUserAgent(Object userAgent) {
        this.userAgent = userAgent;
    }

    @JsonProperty("user")
    public Object getUser() {
        return user;
    }

    @JsonProperty("user")
    public void setUser(Object user) {
        this.user = user;
    }

    @JsonProperty("cognitoIdentityPoolId")
    public Object getCognitoIdentityPoolId() {
        return cognitoIdentityPoolId;
    }

    @JsonProperty("cognitoIdentityPoolId")
    public void setCognitoIdentityPoolId(Object cognitoIdentityPoolId) {
        this.cognitoIdentityPoolId = cognitoIdentityPoolId;
    }

    @JsonProperty("cognitoIdentityId")
    public Object getCognitoIdentityId() {
        return cognitoIdentityId;
    }

    @JsonProperty("cognitoIdentityId")
    public void setCognitoIdentityId(Object cognitoIdentityId) {
        this.cognitoIdentityId = cognitoIdentityId;
    }

    @JsonProperty("cognitoAuthenticationProvider")
    public Object getCognitoAuthenticationProvider() {
        return cognitoAuthenticationProvider;
    }

    @JsonProperty("cognitoAuthenticationProvider")
    public void setCognitoAuthenticationProvider(Object cognitoAuthenticationProvider) {
        this.cognitoAuthenticationProvider = cognitoAuthenticationProvider;
    }

    @JsonProperty("sourceIp")
    public String getSourceIp() {
        return sourceIp;
    }

    @JsonProperty("sourceIp")
    public void setSourceIp(String sourceIp) {
        this.sourceIp = sourceIp;
    }

    @JsonProperty("accountId")
    public Object getAccountId() {
        return accountId;
    }

    @JsonProperty("accountId")
    public void setAccountId(Object accountId) {
        this.accountId = accountId;
    }

    @JsonProperty("accessKey")
    public Object getAccessKey() {
        return accessKey;
    }

    @JsonProperty("accessKey")
    public void setAccessKey(Object accessKey) {
        this.accessKey = accessKey;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}
