/**
 * Web Application Firewall (WAF) API
 * API for the Web Application Firewall service.
Use this API to manage regional Web App Firewalls and corresponding policies for protecting HTTP services.

 * OpenAPI spec version: 20210930
 *
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */ import * as model from "../model" ; import common = require ( "oci-common" ) ; /**
 * An object that represents an action which returns a defined HTTP response.
 */ export interface ReturnHttpResponseAction extends model . Action { /**
      * Response code.
  * <p>
  The following response codes are valid values for this property:
  * <p>
  * 2xx
  * <p>
    200 OK
  *   201 Created
  *   202 Accepted
  *   206 Partial Content
  * <p>
  * 3xx
  * <p>
    300 Multiple Choices
  *   301 Moved Permanently
  *   302 Found
  *   303 See Other
  *   307 Temporary Redirect
  * <p>
  * 4xx
  * <p>
    400 Bad Request
  *   401 Unauthorized
  *   403 Forbidden
  *   404 Not Found
  *   405 Method Not Allowed
  *   408 Request Timeout
  *   409 Conflict
  *   411 Length Required
  *   412 Precondition Failed
  *   413 Payload Too Large
  *   414 URI Too Long
  *   415 Unsupported Media Type
  *   416 Range Not Satisfiable
  *   422 Unprocessable Entity
  *   494 Request Header Too Large
  *   495 Cert Error
  *   496 No Cert
  *   497 HTTP to HTTPS
  * <p>
  * 5xx
  * <p>
    500 Internal Server Error
  *   501 Not Implemented
  *   502 Bad Gateway
  *   503 Service Unavailable
  *   504 Gateway Timeout
  *   507 Insufficient Storage
  * <p>
  Example: `200`
  *  Note: Numbers greater than Number.MAX_SAFE_INTEGER will result in rounding issues.
      */ "code" : number ; /**
      * Adds headers defined in this array for HTTP response.
  * <p>
  Hop-by-hop headers are not allowed to be set:
  * <p>
  * Connection
  * * Keep-Alive
  * * Proxy-Authenticate
  * * Proxy-Authorization
  * * TE
  * * Trailer
  * * Transfer-Encoding
  * * Upgrade
  *
      */ "headers" ? : Array < model . ResponseHeader > ; "body" ? : model . StaticTextHttpResponseBody ; "type" : string ; } export namespace ReturnHttpResponseAction { export function getJsonObj ( obj , isParentJsonObj ? ) { const jsonObj = { ... ( isParentJsonObj ? obj : ( model . Action . getJsonObj ( obj ) as ReturnHttpResponseAction ) ) , ... { "headers" : obj . headers ? obj . headers . map ( item => { return model . ResponseHeader . getJsonObj ( item ) ; } ) : undefined , "body" : obj . body ? model . HttpResponseBody . getJsonObj ( obj . body ) : undefined } } ; return jsonObj ; } export const type = "RETURN_HTTP_RESPONSE" ; export function getDeserializedJsonObj ( obj , isParentJsonObj ? ) { const jsonObj = { ... ( isParentJsonObj ? obj : ( model . Action . getDeserializedJsonObj ( obj ) as ReturnHttpResponseAction ) ) , ... { "headers" : obj . headers ? obj . headers . map ( item => { return model . ResponseHeader . getDeserializedJsonObj ( item ) ; } ) : undefined , "body" : obj . body ? model . HttpResponseBody . getDeserializedJsonObj ( obj . body ) : undefined } } ; return jsonObj ; } }