/**
 * Application Performance Monitoring Synthetic Monitoring API
 * Use the Application Performance Monitoring Synthetic Monitoring API to query synthetic scripts and monitors.
 * OpenAPI spec version: 20200630
 *
 *
 * 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" ) ; /**
 * Request configuration details for the REST monitor type.
 */ export interface RestMonitorConfiguration extends model . MonitorConfiguration { /**
     * If redirection enabled, then redirects will be allowed while accessing target URL.
     */ "isRedirectionEnabled" ? : boolean ; /**
     * If certificate validation enabled, then call will fail for certificate errors.
     */ "isCertificateValidationEnabled" ? : boolean ; /**
     * Request HTTP method.
     */ "requestMethod" ? : model . RequestMethods ; /**
     * Request http authentication scheme.
     */ "reqAuthenticationScheme" ? : model . RequestAuthenticationSchemes ; "reqAuthenticationDetails" ? : model . RequestAuthenticationDetails ; /**
     * List of request headers. Example: `[{\"headerName\": \"content-type\", \"headerValue\":\"json\"}]`
     *
     */ "requestHeaders" ? : Array < model . Header > ; /**
     * List of request query params. Example: `[{\"paramName\": \"sortOrder\", \"paramValue\": \"asc\"}]`
     *
     */ "requestQueryParams" ? : Array < model . RequestQueryParam > ; /**
     * Request post body content.
     */ "requestPostBody" ? : string ; /**
     * Verify response content against regular expression based string.
     * If response content does not match the verifyResponseContent value, then it will be considered a failure.
     *
     */ "verifyResponseContent" ? : string ; /**
     * Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
     *
     */ "verifyResponseCodes" ? : Array < string > ; "networkConfiguration" ? : model . NetworkConfiguration ; "configType" : string ; } export namespace RestMonitorConfiguration { export function getJsonObj ( obj , isParentJsonObj ? ) { const jsonObj = { ... ( isParentJsonObj ? obj : ( model . MonitorConfiguration . getJsonObj ( obj ) as RestMonitorConfiguration ) ) , ... { "reqAuthenticationDetails" : obj . reqAuthenticationDetails ? model . RequestAuthenticationDetails . getJsonObj ( obj . reqAuthenticationDetails ) : undefined , "requestHeaders" : obj . requestHeaders ? obj . requestHeaders . map ( item => { return model . Header . getJsonObj ( item ) ; } ) : undefined , "requestQueryParams" : obj . requestQueryParams ? obj . requestQueryParams . map ( item => { return model . RequestQueryParam . getJsonObj ( item ) ; } ) : undefined , "networkConfiguration" : obj . networkConfiguration ? model . NetworkConfiguration . getJsonObj ( obj . networkConfiguration ) : undefined } } ; return jsonObj ; } export const configType = "REST_CONFIG" ; export function getDeserializedJsonObj ( obj , isParentJsonObj ? ) { const jsonObj = { ... ( isParentJsonObj ? obj : ( model . MonitorConfiguration . getDeserializedJsonObj ( obj ) as RestMonitorConfiguration ) ) , ... { "reqAuthenticationDetails" : obj . reqAuthenticationDetails ? model . RequestAuthenticationDetails . getDeserializedJsonObj ( obj . reqAuthenticationDetails ) : undefined , "requestHeaders" : obj . requestHeaders ? obj . requestHeaders . map ( item => { return model . Header . getDeserializedJsonObj ( item ) ; } ) : undefined , "requestQueryParams" : obj . requestQueryParams ? obj . requestQueryParams . map ( item => { return model . RequestQueryParam . getDeserializedJsonObj ( item ) ; } ) : undefined , "networkConfiguration" : obj . networkConfiguration ? model . NetworkConfiguration . getDeserializedJsonObj ( obj . networkConfiguration ) : undefined } } ; return jsonObj ; } }