{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/oracle/main/json-schema/oracle-update-monitor-details-schema.json", "title": "UpdateMonitorDetails", "description": "Details of the request body used to update a monitor.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/oracle-apmsynthetic-api-openapi.yml#/components/schemas/UpdateMonitorDetails", "properties": { "availabilityConfiguration": { "$ref": "#/$defs/AvailabilityConfiguration" }, "batchIntervalInSeconds": { "description": "Time interval between two runs in round robin batch mode (SchedulingPolicy - BATCHED_ROUND_ROBIN).", "type": "integer" }, "configuration": { "$ref": "#/$defs/MonitorConfiguration" }, "definedTags": { "additionalProperties": { "additionalProperties": { "description": "The value of the tag. Only string, integer and boolean types are supported.\n", "type": "object" }, "description": "Key-value pair representing predefined tags' keys and values scoped to a namespace.\nExample: `{\"bar-key\": \"value\"}`\n", "type": "object" }, "description": "Defined tags for this resource. Each key is predefined and scoped to a namespace.\nExample: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`\n", "type": "object" }, "displayName": { "description": "Unique name that can be edited. The name should not contain any confidential information.", "maxLength": 255, "minLength": 1, "type": "string" }, "freeformTags": { "additionalProperties": { "type": "string" }, "description": "Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.\nExample: `{\"bar-key\": \"value\"}`\n", "type": "object" }, "isIPv6": { "default": false, "description": "If enabled, domain name will resolve to an IPv6 address.", "type": "boolean" }, "isRunNow": { "default": false, "description": "If isRunNow is enabled, then the monitor will run immediately.", "type": "boolean" }, "isRunOnce": { "default": false, "description": "If runOnce is enabled, then the monitor will run once.", "type": "boolean" }, "maintenanceWindowSchedule": { "$ref": "#/$defs/MaintenanceWindowSchedule" }, "repeatIntervalInSeconds": { "description": "Interval in seconds after the start time when the job should be repeated.\nMinimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor.\n", "type": "integer" }, "schedulingPolicy": { "description": "Scheduling policy to decide the distribution of monitor executions on vantage points.", "enum": [ "ALL", "ROUND_ROBIN", "BATCHED_ROUND_ROBIN" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/SchedulingPolicy" }, "scriptId": { "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the script.\nscriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null.\n", "maxLength": 255, "minLength": 1, "type": "string" }, "scriptParameters": { "description": "List of script parameters in the monitor.\nThis is valid only for SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null.\nExample: `[{\"paramName\": \"userid\", \"paramValue\":\"testuser\"}]`\n", "items": { "$ref": "#/$defs/MonitorScriptParameter" }, "maxItems": 50, "type": "array" }, "status": { "default": "ENABLED", "description": "Enables or disables the monitor.", "enum": [ "ENABLED", "DISABLED", "INVALID" ], "type": "string", "x-obmcs-top-level-enum": "#/definitions/MonitorStatus" }, "target": { "description": "Specify the endpoint on which to run the monitor.\nFor BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory.\nIf target is specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script (specified by scriptId in monitor) against the specified target endpoint.\nIf target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is.\nFor NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80.\n", "maxLength": 4000, "type": "string", "x-default-description": "null" }, "timeoutInSeconds": { "description": "Timeout in seconds. If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors.\nIf isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors.\nAlso, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors.\nMonitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that.\n", "maximum": 900, "type": "integer" }, "vantagePoints": { "description": "A list of public and dedicated vantage points from which to execute the monitor.\nUse /publicVantagePoints to fetch public vantage points, and /dedicatedVantagePoints to fetch dedicated vantage points.\n", "items": { "maxLength": 255, "minLength": 1, "type": "string" }, "maxItems": 200, "minItems": 1, "type": "array", "uniqueItems": true } }, "type": "object", "$defs": { "AvailabilityConfiguration": { "description": "Monitor availability configuration details.", "properties": { "maxAllowedFailuresPerInterval": { "description": "Maximum number of failed runs allowed in an interval. If an interval has more failed runs than the specified value, then the interval will be classified as UNAVAILABLE.", "format": "int32", "type": "integer" }, "minAllowedRunsPerInterval": { "description": "Minimum number of runs allowed in an interval. If an interval has fewer runs than the specified value, then the interval will be classified as UNKNOWN and will be excluded from the availability calculations.", "format": "int32", "type": "integer" } }, "type": "object" }, "DnsConfiguration": { "description": "Information about the DNS settings.", "properties": { "isOverrideDns": { "default": false, "description": "If isOverrideDns is true, then DNS settings will be overridden.", "type": "boolean" }, "overrideDnsIp": { "description": "Attribute to override the DNS IP value. This value will be honored only if isOverrideDns is set to true.", "maxLength": 45, "minLength": 2, "type": "string" } }, "type": "object" }, "MaintenanceWindowSchedule": { "description": "Details required to schedule maintenance window.", "properties": { "timeEnded": { "description": "End time of the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.\nExample: `2020-02-12T22:47:12.613Z`\n", "format": "date-time", "type": "string" }, "timeStarted": { "description": "Start time of the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format.\nExample: `2020-02-12T22:47:12.613Z`\n", "format": "date-time", "type": "string" } }, "type": "object" }, "MonitorConfiguration": { "description": "Details of monitor configuration.", "properties": { "configType": { "description": "Type of configuration.", "enum": [ "BROWSER_CONFIG", "SCRIPTED_BROWSER_CONFIG", "REST_CONFIG", "SCRIPTED_REST_CONFIG", "NETWORK_CONFIG", "DNS_SERVER_CONFIG", "DNS_TRACE_CONFIG", "DNSSEC_CONFIG", "FTP_CONFIG", "SQL_CONFIG" ], "type": "string" }, "dnsConfiguration": { "$ref": "#/$defs/DnsConfiguration" }, "isFailureRetried": { "default": true, "description": "If isFailureRetried is enabled, then a failed call will be retried.", "type": "boolean" } }, "type": "object" }, "MonitorScriptParameter": { "description": "Details of the script parameter that can be used to overwrite the parameter present in the script.\n", "properties": { "paramName": { "description": "Name of the parameter.", "maxLength": 64, "minLength": 1, "type": "string" }, "paramValue": { "description": "Value of the parameter.", "maxLength": 2048, "minLength": 1, "type": "string" } }, "required": [ "paramName", "paramValue" ], "type": "object" } } }