
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({
    "resourceId",
    "apiId",
    "resourcePath",
    "httpMethod",
    "requestId",
    "accountId",
    "identity",
    "authorizer",
    "stage"
})
public class RequestContext {

    @JsonProperty("resourceId")
    private String resourceId;
    @JsonProperty("apiId")
    private String apiId;
    @JsonProperty("resourcePath")
    private String resourcePath;
    @JsonProperty("httpMethod")
    private String httpMethod;
    @JsonProperty("requestId")
    private String requestId;
    @JsonProperty("accountId")
    private String accountId;
    @JsonProperty("identity")
    private Identity identity;
    @JsonProperty("authorizer")
    private Authorizer authorizer;
    @JsonProperty("stage")
    private String stage;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("resourceId")
    public String getResourceId() {
        return resourceId;
    }

    @JsonProperty("resourceId")
    public void setResourceId(String resourceId) {
        this.resourceId = resourceId;
    }

    @JsonProperty("apiId")
    public String getApiId() {
        return apiId;
    }

    @JsonProperty("apiId")
    public void setApiId(String apiId) {
        this.apiId = apiId;
    }

    @JsonProperty("resourcePath")
    public String getResourcePath() {
        return resourcePath;
    }

    @JsonProperty("resourcePath")
    public void setResourcePath(String resourcePath) {
        this.resourcePath = resourcePath;
    }

    @JsonProperty("httpMethod")
    public String getHttpMethod() {
        return httpMethod;
    }

    @JsonProperty("httpMethod")
    public void setHttpMethod(String httpMethod) {
        this.httpMethod = httpMethod;
    }

    @JsonProperty("requestId")
    public String getRequestId() {
        return requestId;
    }

    @JsonProperty("requestId")
    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

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

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

    @JsonProperty("identity")
    public Identity getIdentity() {
        return identity;
    }

    @JsonProperty("identity")
    public void setIdentity(Identity identity) {
        this.identity = identity;
    }

    @JsonProperty("authorizer")
    public Authorizer getAuthorizer() {
        return authorizer;
    }

    @JsonProperty("authorizer")
    public void setAuthorizer(Authorizer authorizer) {
        this.authorizer = authorizer;
    }

    @JsonProperty("stage")
    public String getStage() {
        return stage;
    }

    @JsonProperty("stage")
    public void setStage(String stage) {
        this.stage = stage;
    }

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

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

}
