Class Monitor.Builder

  • Enclosing class:
    Monitor

    public static class Monitor.Builder
    extends Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • id

        public Monitor.Builder id​(String id)
        The OCID of the monitor.
        Parameters:
        id - the value to set
        Returns:
        this builder
      • displayName

        public Monitor.Builder displayName​(String displayName)
        Unique name that can be edited.

        The name should not contain any confidential information.

        Parameters:
        displayName - the value to set
        Returns:
        this builder
      • monitorType

        public Monitor.Builder monitorType​(MonitorTypes monitorType)
        Type of monitor.
        Parameters:
        monitorType - the value to set
        Returns:
        this builder
      • vantagePoints

        public Monitor.Builder vantagePoints​(List<VantagePointInfo> vantagePoints)
        List of public, dedicated and onPremise vantage points where the monitor is running.
        Parameters:
        vantagePoints - the value to set
        Returns:
        this builder
      • vantagePointCount

        public Monitor.Builder vantagePointCount​(Integer vantagePointCount)
        Number of vantage points where monitor is running.
        Parameters:
        vantagePointCount - the value to set
        Returns:
        this builder
      • scriptId

        public Monitor.Builder scriptId​(String scriptId)
        The OCID of the script.

        scriptId is mandatory for creation of SCRIPTED_BROWSER and SCRIPTED_REST monitor types. For other monitor types, it should be set to null.

        Parameters:
        scriptId - the value to set
        Returns:
        this builder
      • scriptName

        public Monitor.Builder scriptName​(String scriptName)
        Name of the script.
        Parameters:
        scriptName - the value to set
        Returns:
        this builder
      • status

        public Monitor.Builder status​(MonitorStatus status)
        Enables or disables the monitor.
        Parameters:
        status - the value to set
        Returns:
        this builder
      • repeatIntervalInSeconds

        public Monitor.Builder repeatIntervalInSeconds​(Integer repeatIntervalInSeconds)
        Interval in seconds after the start time when the job should be repeated.

        Minimum repeatIntervalInSeconds should be 300 seconds for Scripted REST, Scripted Browser and Browser monitors, and 60 seconds for REST monitor.

        Parameters:
        repeatIntervalInSeconds - the value to set
        Returns:
        this builder
      • isRunOnce

        public Monitor.Builder isRunOnce​(Boolean isRunOnce)
        If runOnce is enabled, then the monitor will run once.
        Parameters:
        isRunOnce - the value to set
        Returns:
        this builder
      • timeoutInSeconds

        public Monitor.Builder timeoutInSeconds​(Integer timeoutInSeconds)
        Timeout in seconds.

        If isFailureRetried is true, then timeout cannot be more than 30% of repeatIntervalInSeconds time for monitors. If isFailureRetried is false, then timeout cannot be more than 50% of repeatIntervalInSeconds time for monitors. Also, timeoutInSeconds should be a multiple of 60 for Scripted REST, Scripted Browser and Browser monitors. Monitor will be allowed to run only for timeoutInSeconds time. It would be terminated after that.

        Parameters:
        timeoutInSeconds - the value to set
        Returns:
        this builder
      • target

        public Monitor.Builder target​(String target)
        Specify the endpoint on which to run the monitor.

        For BROWSER, REST, NETWORK, DNS and FTP monitor types, target is mandatory. If 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. If target is not specified in the SCRIPTED_BROWSER monitor type, then the monitor will run the selected script as it is. For NETWORK monitor with TCP protocol, a port needs to be provided along with target. Example: 192.168.0.1:80.

        Parameters:
        target - the value to set
        Returns:
        this builder
      • scriptParameters

        public Monitor.Builder scriptParameters​(List<MonitorScriptParameterInfo> scriptParameters)
        List of script parameters.

        Example: [{“monitorScriptParameter”: {“paramName”: “userid”, “paramValue”:“testuser”}, “isSecret”: false, “isOverwritten”: false}]

        Parameters:
        scriptParameters - the value to set
        Returns:
        this builder
      • timeCreated

        public Monitor.Builder timeCreated​(Date timeCreated)
        The time the resource was created, expressed in RFC 3339 timestamp format.

        Example: 2020-02-12T22:47:12.613Z

        Parameters:
        timeCreated - the value to set
        Returns:
        this builder
      • timeUpdated

        public Monitor.Builder timeUpdated​(Date timeUpdated)
        The time the resource was updated, expressed in RFC 3339 timestamp format.

        Example: 2020-02-13T22:47:12.613Z

        Parameters:
        timeUpdated - the value to set
        Returns:
        this builder
      • freeformTags

        public Monitor.Builder freeformTags​(Map<String,​String> freeformTags)
        Simple key-value pair that is applied without any predefined name, type or scope.

        Exists for cross-compatibility only. Example: {“bar-key”: “value”}

        Parameters:
        freeformTags - the value to set
        Returns:
        this builder
      • definedTags

        public Monitor.Builder definedTags​(Map<String,​Map<String,​Object>> definedTags)
        Defined tags for this resource.

        Each key is predefined and scoped to a namespace. Example: {“foo-namespace”: {“bar-key”: “value”}}

        Parameters:
        definedTags - the value to set
        Returns:
        this builder
      • isRunNow

        public Monitor.Builder isRunNow​(Boolean isRunNow)
        If isRunNow is enabled, then the monitor will run immediately.
        Parameters:
        isRunNow - the value to set
        Returns:
        this builder
      • schedulingPolicy

        public Monitor.Builder schedulingPolicy​(SchedulingPolicy schedulingPolicy)
        Scheduling policy to decide the distribution of monitor executions on vantage points.
        Parameters:
        schedulingPolicy - the value to set
        Returns:
        this builder
      • batchIntervalInSeconds

        public Monitor.Builder batchIntervalInSeconds​(Integer batchIntervalInSeconds)
        Time interval between two runs in round robin batch mode (SchedulingPolicy - BATCHED_ROUND_ROBIN).
        Parameters:
        batchIntervalInSeconds - the value to set
        Returns:
        this builder
      • isIPv6

        public Monitor.Builder isIPv6​(Boolean isIPv6)
        If enabled, domain name will resolve to an IPv6 address.
        Parameters:
        isIPv6 - the value to set
        Returns:
        this builder
      • createdBy

        public Monitor.Builder createdBy​(String createdBy)
        Name of the user that created the monitor.
        Parameters:
        createdBy - the value to set
        Returns:
        this builder
      • lastUpdatedBy

        public Monitor.Builder lastUpdatedBy​(String lastUpdatedBy)
        Name of the user that recently updated the monitor.
        Parameters:
        lastUpdatedBy - the value to set
        Returns:
        this builder