# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from .. import _utilities
from . import outputs

__all__ = [
    'ConfigAvailabilityConfiguration',
    'ConfigConfiguration',
    'ConfigConfigurationDnsConfiguration',
    'ConfigConfigurationNetworkConfiguration',
    'ConfigConfigurationReqAuthenticationDetails',
    'ConfigConfigurationReqAuthenticationDetailsAuthHeader',
    'ConfigConfigurationRequestHeader',
    'ConfigConfigurationRequestQueryParam',
    'ConfigConfigurationVerifyText',
    'ConfigMaintenanceWindowSchedule',
    'ConfigScriptParameter',
    'ConfigScriptParameterMonitorScriptParameter',
    'DedicatedVantagePointDvpStackDetails',
    'DedicatedVantagePointMonitorStatusCountMap',
    'ScriptMonitorStatusCountMap',
    'ScriptParameter',
    'ScriptParameterScriptParameter',
    'GetDedicatedVantagePointDvpStackDetailResult',
    'GetDedicatedVantagePointMonitorStatusCountMapResult',
    'GetDedicatedVantagePointsDedicatedVantagePointCollectionResult',
    'GetDedicatedVantagePointsDedicatedVantagePointCollectionItemResult',
    'GetDedicatedVantagePointsDedicatedVantagePointCollectionItemDvpStackDetailResult',
    'GetDedicatedVantagePointsDedicatedVantagePointCollectionItemMonitorStatusCountMapResult',
    'GetDedicatedVantagePointsFilterResult',
    'GetMonitorAvailabilityConfigurationResult',
    'GetMonitorConfigurationResult',
    'GetMonitorConfigurationDnsConfigurationResult',
    'GetMonitorConfigurationNetworkConfigurationResult',
    'GetMonitorConfigurationReqAuthenticationDetailResult',
    'GetMonitorConfigurationReqAuthenticationDetailAuthHeaderResult',
    'GetMonitorConfigurationRequestHeaderResult',
    'GetMonitorConfigurationRequestQueryParamResult',
    'GetMonitorConfigurationVerifyTextResult',
    'GetMonitorMaintenanceWindowScheduleResult',
    'GetMonitorScriptParameterResult',
    'GetMonitorScriptParameterMonitorScriptParameterResult',
    'GetMonitorsFilterResult',
    'GetMonitorsMonitorCollectionResult',
    'GetMonitorsMonitorCollectionItemResult',
    'GetMonitorsMonitorCollectionItemAvailabilityConfigurationResult',
    'GetMonitorsMonitorCollectionItemConfigurationResult',
    'GetMonitorsMonitorCollectionItemConfigurationDnsConfigurationResult',
    'GetMonitorsMonitorCollectionItemConfigurationNetworkConfigurationResult',
    'GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailResult',
    'GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailAuthHeaderResult',
    'GetMonitorsMonitorCollectionItemConfigurationRequestHeaderResult',
    'GetMonitorsMonitorCollectionItemConfigurationRequestQueryParamResult',
    'GetMonitorsMonitorCollectionItemConfigurationVerifyTextResult',
    'GetMonitorsMonitorCollectionItemMaintenanceWindowScheduleResult',
    'GetMonitorsMonitorCollectionItemScriptParameterResult',
    'GetMonitorsMonitorCollectionItemScriptParameterMonitorScriptParameterResult',
    'GetResultResultDataSetResult',
    'GetScriptMonitorStatusCountMapResult',
    'GetScriptParameterResult',
    'GetScriptParameterScriptParameterResult',
    'GetScriptsFilterResult',
    'GetScriptsScriptCollectionResult',
    'GetScriptsScriptCollectionItemResult',
    'GetScriptsScriptCollectionItemMonitorStatusCountMapResult',
    'GetScriptsScriptCollectionItemParameterResult',
    'GetScriptsScriptCollectionItemParameterScriptParameterResult',
    'GetVantagePointItemResult',
    'GetVantagePointItemGeoResult',
    'GetVantagePointsFilterResult',
    'GetVantagePointsPublicVantagePointCollectionResult',
    'GetVantagePointsPublicVantagePointCollectionItemResult',
    'GetVantagePointsPublicVantagePointCollectionItemGeoResult',
]

@pulumi.output_type
class ConfigAvailabilityConfiguration(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "maxAllowedFailuresPerInterval":
            suggest = "max_allowed_failures_per_interval"
        elif key == "minAllowedRunsPerInterval":
            suggest = "min_allowed_runs_per_interval"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigAvailabilityConfiguration. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigAvailabilityConfiguration.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigAvailabilityConfiguration.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 max_allowed_failures_per_interval: Optional[int] = None,
                 min_allowed_runs_per_interval: Optional[int] = None):
        """
        :param int max_allowed_failures_per_interval: (Updatable) Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        :param int min_allowed_runs_per_interval: (Updatable) Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        if max_allowed_failures_per_interval is not None:
            pulumi.set(__self__, "max_allowed_failures_per_interval", max_allowed_failures_per_interval)
        if min_allowed_runs_per_interval is not None:
            pulumi.set(__self__, "min_allowed_runs_per_interval", min_allowed_runs_per_interval)

    @property
    @pulumi.getter(name="maxAllowedFailuresPerInterval")
    def max_allowed_failures_per_interval(self) -> Optional[int]:
        """
        (Updatable) Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        """
        return pulumi.get(self, "max_allowed_failures_per_interval")

    @property
    @pulumi.getter(name="minAllowedRunsPerInterval")
    def min_allowed_runs_per_interval(self) -> Optional[int]:
        """
        (Updatable) Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        return pulumi.get(self, "min_allowed_runs_per_interval")


@pulumi.output_type
class ConfigConfiguration(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "configType":
            suggest = "config_type"
        elif key == "dnsConfiguration":
            suggest = "dns_configuration"
        elif key == "isCertificateValidationEnabled":
            suggest = "is_certificate_validation_enabled"
        elif key == "isFailureRetried":
            suggest = "is_failure_retried"
        elif key == "isRedirectionEnabled":
            suggest = "is_redirection_enabled"
        elif key == "networkConfiguration":
            suggest = "network_configuration"
        elif key == "reqAuthenticationDetails":
            suggest = "req_authentication_details"
        elif key == "reqAuthenticationScheme":
            suggest = "req_authentication_scheme"
        elif key == "requestHeaders":
            suggest = "request_headers"
        elif key == "requestMethod":
            suggest = "request_method"
        elif key == "requestPostBody":
            suggest = "request_post_body"
        elif key == "requestQueryParams":
            suggest = "request_query_params"
        elif key == "verifyResponseCodes":
            suggest = "verify_response_codes"
        elif key == "verifyResponseContent":
            suggest = "verify_response_content"
        elif key == "verifyTexts":
            suggest = "verify_texts"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfiguration. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfiguration.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfiguration.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 config_type: Optional[str] = None,
                 dns_configuration: Optional['outputs.ConfigConfigurationDnsConfiguration'] = None,
                 is_certificate_validation_enabled: Optional[bool] = None,
                 is_failure_retried: Optional[bool] = None,
                 is_redirection_enabled: Optional[bool] = None,
                 network_configuration: Optional['outputs.ConfigConfigurationNetworkConfiguration'] = None,
                 req_authentication_details: Optional['outputs.ConfigConfigurationReqAuthenticationDetails'] = None,
                 req_authentication_scheme: Optional[str] = None,
                 request_headers: Optional[Sequence['outputs.ConfigConfigurationRequestHeader']] = None,
                 request_method: Optional[str] = None,
                 request_post_body: Optional[str] = None,
                 request_query_params: Optional[Sequence['outputs.ConfigConfigurationRequestQueryParam']] = None,
                 verify_response_codes: Optional[Sequence[str]] = None,
                 verify_response_content: Optional[str] = None,
                 verify_texts: Optional[Sequence['outputs.ConfigConfigurationVerifyText']] = None):
        """
        :param str config_type: (Updatable) Type of configuration.
        :param 'ConfigConfigurationDnsConfigurationArgs' dns_configuration: (Updatable) Dns settings.
        :param bool is_certificate_validation_enabled: (Updatable) If certificate validation is enabled, then the call will fail in case of certification errors.
        :param bool is_failure_retried: (Updatable) If isFailureRetried is enabled, then a failed call will be retried.
        :param bool is_redirection_enabled: (Updatable) If redirection enabled, then redirects will be allowed while accessing target URL.
        :param 'ConfigConfigurationNetworkConfigurationArgs' network_configuration: (Updatable) Details of the network configuration.
        :param 'ConfigConfigurationReqAuthenticationDetailsArgs' req_authentication_details: (Updatable) Details for request HTTP authentication.
        :param str req_authentication_scheme: (Updatable) Request http authentication scheme.
        :param Sequence['ConfigConfigurationRequestHeaderArgs'] request_headers: (Updatable) List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str request_method: (Updatable) Request HTTP method.
        :param str request_post_body: (Updatable) Request post body content.
        :param Sequence['ConfigConfigurationRequestQueryParamArgs'] request_query_params: (Updatable) List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        :param Sequence[str] verify_response_codes: (Updatable) Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        :param str verify_response_content: (Updatable) Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        :param Sequence['ConfigConfigurationVerifyTextArgs'] verify_texts: (Updatable) Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        if config_type is not None:
            pulumi.set(__self__, "config_type", config_type)
        if dns_configuration is not None:
            pulumi.set(__self__, "dns_configuration", dns_configuration)
        if is_certificate_validation_enabled is not None:
            pulumi.set(__self__, "is_certificate_validation_enabled", is_certificate_validation_enabled)
        if is_failure_retried is not None:
            pulumi.set(__self__, "is_failure_retried", is_failure_retried)
        if is_redirection_enabled is not None:
            pulumi.set(__self__, "is_redirection_enabled", is_redirection_enabled)
        if network_configuration is not None:
            pulumi.set(__self__, "network_configuration", network_configuration)
        if req_authentication_details is not None:
            pulumi.set(__self__, "req_authentication_details", req_authentication_details)
        if req_authentication_scheme is not None:
            pulumi.set(__self__, "req_authentication_scheme", req_authentication_scheme)
        if request_headers is not None:
            pulumi.set(__self__, "request_headers", request_headers)
        if request_method is not None:
            pulumi.set(__self__, "request_method", request_method)
        if request_post_body is not None:
            pulumi.set(__self__, "request_post_body", request_post_body)
        if request_query_params is not None:
            pulumi.set(__self__, "request_query_params", request_query_params)
        if verify_response_codes is not None:
            pulumi.set(__self__, "verify_response_codes", verify_response_codes)
        if verify_response_content is not None:
            pulumi.set(__self__, "verify_response_content", verify_response_content)
        if verify_texts is not None:
            pulumi.set(__self__, "verify_texts", verify_texts)

    @property
    @pulumi.getter(name="configType")
    def config_type(self) -> Optional[str]:
        """
        (Updatable) Type of configuration.
        """
        return pulumi.get(self, "config_type")

    @property
    @pulumi.getter(name="dnsConfiguration")
    def dns_configuration(self) -> Optional['outputs.ConfigConfigurationDnsConfiguration']:
        """
        (Updatable) Dns settings.
        """
        return pulumi.get(self, "dns_configuration")

    @property
    @pulumi.getter(name="isCertificateValidationEnabled")
    def is_certificate_validation_enabled(self) -> Optional[bool]:
        """
        (Updatable) If certificate validation is enabled, then the call will fail in case of certification errors.
        """
        return pulumi.get(self, "is_certificate_validation_enabled")

    @property
    @pulumi.getter(name="isFailureRetried")
    def is_failure_retried(self) -> Optional[bool]:
        """
        (Updatable) If isFailureRetried is enabled, then a failed call will be retried.
        """
        return pulumi.get(self, "is_failure_retried")

    @property
    @pulumi.getter(name="isRedirectionEnabled")
    def is_redirection_enabled(self) -> Optional[bool]:
        """
        (Updatable) If redirection enabled, then redirects will be allowed while accessing target URL.
        """
        return pulumi.get(self, "is_redirection_enabled")

    @property
    @pulumi.getter(name="networkConfiguration")
    def network_configuration(self) -> Optional['outputs.ConfigConfigurationNetworkConfiguration']:
        """
        (Updatable) Details of the network configuration.
        """
        return pulumi.get(self, "network_configuration")

    @property
    @pulumi.getter(name="reqAuthenticationDetails")
    def req_authentication_details(self) -> Optional['outputs.ConfigConfigurationReqAuthenticationDetails']:
        """
        (Updatable) Details for request HTTP authentication.
        """
        return pulumi.get(self, "req_authentication_details")

    @property
    @pulumi.getter(name="reqAuthenticationScheme")
    def req_authentication_scheme(self) -> Optional[str]:
        """
        (Updatable) Request http authentication scheme.
        """
        return pulumi.get(self, "req_authentication_scheme")

    @property
    @pulumi.getter(name="requestHeaders")
    def request_headers(self) -> Optional[Sequence['outputs.ConfigConfigurationRequestHeader']]:
        """
        (Updatable) List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "request_headers")

    @property
    @pulumi.getter(name="requestMethod")
    def request_method(self) -> Optional[str]:
        """
        (Updatable) Request HTTP method.
        """
        return pulumi.get(self, "request_method")

    @property
    @pulumi.getter(name="requestPostBody")
    def request_post_body(self) -> Optional[str]:
        """
        (Updatable) Request post body content.
        """
        return pulumi.get(self, "request_post_body")

    @property
    @pulumi.getter(name="requestQueryParams")
    def request_query_params(self) -> Optional[Sequence['outputs.ConfigConfigurationRequestQueryParam']]:
        """
        (Updatable) List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        """
        return pulumi.get(self, "request_query_params")

    @property
    @pulumi.getter(name="verifyResponseCodes")
    def verify_response_codes(self) -> Optional[Sequence[str]]:
        """
        (Updatable) Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        """
        return pulumi.get(self, "verify_response_codes")

    @property
    @pulumi.getter(name="verifyResponseContent")
    def verify_response_content(self) -> Optional[str]:
        """
        (Updatable) Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        """
        return pulumi.get(self, "verify_response_content")

    @property
    @pulumi.getter(name="verifyTexts")
    def verify_texts(self) -> Optional[Sequence['outputs.ConfigConfigurationVerifyText']]:
        """
        (Updatable) Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        return pulumi.get(self, "verify_texts")


@pulumi.output_type
class ConfigConfigurationDnsConfiguration(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "isOverrideDns":
            suggest = "is_override_dns"
        elif key == "overrideDnsIp":
            suggest = "override_dns_ip"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationDnsConfiguration. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationDnsConfiguration.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationDnsConfiguration.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 is_override_dns: Optional[bool] = None,
                 override_dns_ip: Optional[str] = None):
        """
        :param bool is_override_dns: (Updatable) If isOverrideDns is true, then dns will be overridden.
        :param str override_dns_ip: (Updatable) Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        if is_override_dns is not None:
            pulumi.set(__self__, "is_override_dns", is_override_dns)
        if override_dns_ip is not None:
            pulumi.set(__self__, "override_dns_ip", override_dns_ip)

    @property
    @pulumi.getter(name="isOverrideDns")
    def is_override_dns(self) -> Optional[bool]:
        """
        (Updatable) If isOverrideDns is true, then dns will be overridden.
        """
        return pulumi.get(self, "is_override_dns")

    @property
    @pulumi.getter(name="overrideDnsIp")
    def override_dns_ip(self) -> Optional[str]:
        """
        (Updatable) Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        return pulumi.get(self, "override_dns_ip")


@pulumi.output_type
class ConfigConfigurationNetworkConfiguration(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "numberOfHops":
            suggest = "number_of_hops"
        elif key == "probeMode":
            suggest = "probe_mode"
        elif key == "probePerHop":
            suggest = "probe_per_hop"
        elif key == "transmissionRate":
            suggest = "transmission_rate"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationNetworkConfiguration. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationNetworkConfiguration.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationNetworkConfiguration.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 number_of_hops: Optional[int] = None,
                 probe_mode: Optional[str] = None,
                 probe_per_hop: Optional[int] = None,
                 protocol: Optional[str] = None,
                 transmission_rate: Optional[int] = None):
        """
        :param int number_of_hops: (Updatable) Number of hops.
        :param str probe_mode: (Updatable) Type of probe mode when TCP protocol is selected.
        :param int probe_per_hop: (Updatable) Number of probes per hop.
        :param str protocol: (Updatable) Type of protocol.
        :param int transmission_rate: (Updatable) Number of probe packets sent out simultaneously.
        """
        if number_of_hops is not None:
            pulumi.set(__self__, "number_of_hops", number_of_hops)
        if probe_mode is not None:
            pulumi.set(__self__, "probe_mode", probe_mode)
        if probe_per_hop is not None:
            pulumi.set(__self__, "probe_per_hop", probe_per_hop)
        if protocol is not None:
            pulumi.set(__self__, "protocol", protocol)
        if transmission_rate is not None:
            pulumi.set(__self__, "transmission_rate", transmission_rate)

    @property
    @pulumi.getter(name="numberOfHops")
    def number_of_hops(self) -> Optional[int]:
        """
        (Updatable) Number of hops.
        """
        return pulumi.get(self, "number_of_hops")

    @property
    @pulumi.getter(name="probeMode")
    def probe_mode(self) -> Optional[str]:
        """
        (Updatable) Type of probe mode when TCP protocol is selected.
        """
        return pulumi.get(self, "probe_mode")

    @property
    @pulumi.getter(name="probePerHop")
    def probe_per_hop(self) -> Optional[int]:
        """
        (Updatable) Number of probes per hop.
        """
        return pulumi.get(self, "probe_per_hop")

    @property
    @pulumi.getter
    def protocol(self) -> Optional[str]:
        """
        (Updatable) Type of protocol.
        """
        return pulumi.get(self, "protocol")

    @property
    @pulumi.getter(name="transmissionRate")
    def transmission_rate(self) -> Optional[int]:
        """
        (Updatable) Number of probe packets sent out simultaneously.
        """
        return pulumi.get(self, "transmission_rate")


@pulumi.output_type
class ConfigConfigurationReqAuthenticationDetails(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "authHeaders":
            suggest = "auth_headers"
        elif key == "authRequestMethod":
            suggest = "auth_request_method"
        elif key == "authRequestPostBody":
            suggest = "auth_request_post_body"
        elif key == "authToken":
            suggest = "auth_token"
        elif key == "authUrl":
            suggest = "auth_url"
        elif key == "authUserName":
            suggest = "auth_user_name"
        elif key == "authUserPassword":
            suggest = "auth_user_password"
        elif key == "oauthScheme":
            suggest = "oauth_scheme"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationReqAuthenticationDetails. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationReqAuthenticationDetails.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationReqAuthenticationDetails.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 auth_headers: Optional[Sequence['outputs.ConfigConfigurationReqAuthenticationDetailsAuthHeader']] = None,
                 auth_request_method: Optional[str] = None,
                 auth_request_post_body: Optional[str] = None,
                 auth_token: Optional[str] = None,
                 auth_url: Optional[str] = None,
                 auth_user_name: Optional[str] = None,
                 auth_user_password: Optional[str] = None,
                 oauth_scheme: Optional[str] = None):
        """
        :param Sequence['ConfigConfigurationReqAuthenticationDetailsAuthHeaderArgs'] auth_headers: (Updatable) List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str auth_request_method: (Updatable) Request method.
        :param str auth_request_post_body: (Updatable) Request post body.
        :param str auth_token: (Updatable) Authentication token.
        :param str auth_url: (Updatable) URL to get authetication token.
        :param str auth_user_name: (Updatable) Username for authentication.
        :param str auth_user_password: (Updatable) User password for authentication.
        :param str oauth_scheme: (Updatable) Request http oauth scheme.
        """
        if auth_headers is not None:
            pulumi.set(__self__, "auth_headers", auth_headers)
        if auth_request_method is not None:
            pulumi.set(__self__, "auth_request_method", auth_request_method)
        if auth_request_post_body is not None:
            pulumi.set(__self__, "auth_request_post_body", auth_request_post_body)
        if auth_token is not None:
            pulumi.set(__self__, "auth_token", auth_token)
        if auth_url is not None:
            pulumi.set(__self__, "auth_url", auth_url)
        if auth_user_name is not None:
            pulumi.set(__self__, "auth_user_name", auth_user_name)
        if auth_user_password is not None:
            pulumi.set(__self__, "auth_user_password", auth_user_password)
        if oauth_scheme is not None:
            pulumi.set(__self__, "oauth_scheme", oauth_scheme)

    @property
    @pulumi.getter(name="authHeaders")
    def auth_headers(self) -> Optional[Sequence['outputs.ConfigConfigurationReqAuthenticationDetailsAuthHeader']]:
        """
        (Updatable) List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "auth_headers")

    @property
    @pulumi.getter(name="authRequestMethod")
    def auth_request_method(self) -> Optional[str]:
        """
        (Updatable) Request method.
        """
        return pulumi.get(self, "auth_request_method")

    @property
    @pulumi.getter(name="authRequestPostBody")
    def auth_request_post_body(self) -> Optional[str]:
        """
        (Updatable) Request post body.
        """
        return pulumi.get(self, "auth_request_post_body")

    @property
    @pulumi.getter(name="authToken")
    def auth_token(self) -> Optional[str]:
        """
        (Updatable) Authentication token.
        """
        return pulumi.get(self, "auth_token")

    @property
    @pulumi.getter(name="authUrl")
    def auth_url(self) -> Optional[str]:
        """
        (Updatable) URL to get authetication token.
        """
        return pulumi.get(self, "auth_url")

    @property
    @pulumi.getter(name="authUserName")
    def auth_user_name(self) -> Optional[str]:
        """
        (Updatable) Username for authentication.
        """
        return pulumi.get(self, "auth_user_name")

    @property
    @pulumi.getter(name="authUserPassword")
    def auth_user_password(self) -> Optional[str]:
        """
        (Updatable) User password for authentication.
        """
        return pulumi.get(self, "auth_user_password")

    @property
    @pulumi.getter(name="oauthScheme")
    def oauth_scheme(self) -> Optional[str]:
        """
        (Updatable) Request http oauth scheme.
        """
        return pulumi.get(self, "oauth_scheme")


@pulumi.output_type
class ConfigConfigurationReqAuthenticationDetailsAuthHeader(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "headerName":
            suggest = "header_name"
        elif key == "headerValue":
            suggest = "header_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationReqAuthenticationDetailsAuthHeader. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationReqAuthenticationDetailsAuthHeader.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationReqAuthenticationDetailsAuthHeader.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 header_name: Optional[str] = None,
                 header_value: Optional[str] = None):
        """
        :param str header_name: (Updatable) Name of the header.
        :param str header_value: (Updatable) Value of the header.
        """
        if header_name is not None:
            pulumi.set(__self__, "header_name", header_name)
        if header_value is not None:
            pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> Optional[str]:
        """
        (Updatable) Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> Optional[str]:
        """
        (Updatable) Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class ConfigConfigurationRequestHeader(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "headerName":
            suggest = "header_name"
        elif key == "headerValue":
            suggest = "header_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationRequestHeader. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationRequestHeader.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationRequestHeader.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 header_name: Optional[str] = None,
                 header_value: Optional[str] = None):
        """
        :param str header_name: (Updatable) Name of the header.
        :param str header_value: (Updatable) Value of the header.
        """
        if header_name is not None:
            pulumi.set(__self__, "header_name", header_name)
        if header_value is not None:
            pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> Optional[str]:
        """
        (Updatable) Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> Optional[str]:
        """
        (Updatable) Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class ConfigConfigurationRequestQueryParam(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "paramName":
            suggest = "param_name"
        elif key == "paramValue":
            suggest = "param_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigConfigurationRequestQueryParam. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigConfigurationRequestQueryParam.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigConfigurationRequestQueryParam.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 param_name: Optional[str] = None,
                 param_value: Optional[str] = None):
        """
        :param str param_name: (Updatable) Name of the parameter.
        :param str param_value: (Updatable) Value of the parameter.
        """
        if param_name is not None:
            pulumi.set(__self__, "param_name", param_name)
        if param_value is not None:
            pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> Optional[str]:
        """
        (Updatable) Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> Optional[str]:
        """
        (Updatable) Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class ConfigConfigurationVerifyText(dict):
    def __init__(__self__, *,
                 text: Optional[str] = None):
        """
        :param str text: (Updatable) Verification text in the response.
        """
        if text is not None:
            pulumi.set(__self__, "text", text)

    @property
    @pulumi.getter
    def text(self) -> Optional[str]:
        """
        (Updatable) Verification text in the response.
        """
        return pulumi.get(self, "text")


@pulumi.output_type
class ConfigMaintenanceWindowSchedule(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "timeEnded":
            suggest = "time_ended"
        elif key == "timeStarted":
            suggest = "time_started"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigMaintenanceWindowSchedule. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigMaintenanceWindowSchedule.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigMaintenanceWindowSchedule.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 time_ended: Optional[str] = None,
                 time_started: Optional[str] = None):
        """
        :param str time_ended: (Updatable) End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_started: (Updatable) Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        if time_ended is not None:
            pulumi.set(__self__, "time_ended", time_ended)
        if time_started is not None:
            pulumi.set(__self__, "time_started", time_started)

    @property
    @pulumi.getter(name="timeEnded")
    def time_ended(self) -> Optional[str]:
        """
        (Updatable) End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_ended")

    @property
    @pulumi.getter(name="timeStarted")
    def time_started(self) -> Optional[str]:
        """
        (Updatable) Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_started")


@pulumi.output_type
class ConfigScriptParameter(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "paramName":
            suggest = "param_name"
        elif key == "paramValue":
            suggest = "param_value"
        elif key == "isOverwritten":
            suggest = "is_overwritten"
        elif key == "isSecret":
            suggest = "is_secret"
        elif key == "monitorScriptParameters":
            suggest = "monitor_script_parameters"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigScriptParameter. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigScriptParameter.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigScriptParameter.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 param_name: str,
                 param_value: str,
                 is_overwritten: Optional[bool] = None,
                 is_secret: Optional[bool] = None,
                 monitor_script_parameters: Optional[Sequence['outputs.ConfigScriptParameterMonitorScriptParameter']] = None):
        """
        :param str param_name: (Updatable) Name of the parameter.
        :param str param_value: (Updatable) Value of the parameter.
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        :param Sequence['ConfigScriptParameterMonitorScriptParameterArgs'] monitor_script_parameters: Details of the script parameter that can be used to overwrite the parameter present in the script.
        """
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)
        if is_overwritten is not None:
            pulumi.set(__self__, "is_overwritten", is_overwritten)
        if is_secret is not None:
            pulumi.set(__self__, "is_secret", is_secret)
        if monitor_script_parameters is not None:
            pulumi.set(__self__, "monitor_script_parameters", monitor_script_parameters)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        (Updatable) Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        (Updatable) Value of the parameter.
        """
        return pulumi.get(self, "param_value")

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> Optional[bool]:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> Optional[bool]:
        """
        Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="monitorScriptParameters")
    def monitor_script_parameters(self) -> Optional[Sequence['outputs.ConfigScriptParameterMonitorScriptParameter']]:
        """
        Details of the script parameter that can be used to overwrite the parameter present in the script.
        """
        return pulumi.get(self, "monitor_script_parameters")


@pulumi.output_type
class ConfigScriptParameterMonitorScriptParameter(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "paramName":
            suggest = "param_name"
        elif key == "paramValue":
            suggest = "param_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ConfigScriptParameterMonitorScriptParameter. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ConfigScriptParameterMonitorScriptParameter.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ConfigScriptParameterMonitorScriptParameter.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 param_name: Optional[str] = None,
                 param_value: Optional[str] = None):
        """
        :param str param_name: (Updatable) Name of the parameter.
        :param str param_value: (Updatable) Value of the parameter.
        """
        if param_name is not None:
            pulumi.set(__self__, "param_name", param_name)
        if param_value is not None:
            pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> Optional[str]:
        """
        (Updatable) Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> Optional[str]:
        """
        (Updatable) Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class DedicatedVantagePointDvpStackDetails(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "dvpStackId":
            suggest = "dvp_stack_id"
        elif key == "dvpStackType":
            suggest = "dvp_stack_type"
        elif key == "dvpStreamId":
            suggest = "dvp_stream_id"
        elif key == "dvpVersion":
            suggest = "dvp_version"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in DedicatedVantagePointDvpStackDetails. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        DedicatedVantagePointDvpStackDetails.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        DedicatedVantagePointDvpStackDetails.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 dvp_stack_id: str,
                 dvp_stack_type: str,
                 dvp_stream_id: str,
                 dvp_version: str):
        """
        :param str dvp_stack_id: (Updatable) Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_stack_type: (Updatable) Type of stack.
        :param str dvp_stream_id: (Updatable) Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_version: (Updatable) Version of the dedicated vantage point.
        """
        pulumi.set(__self__, "dvp_stack_id", dvp_stack_id)
        pulumi.set(__self__, "dvp_stack_type", dvp_stack_type)
        pulumi.set(__self__, "dvp_stream_id", dvp_stream_id)
        pulumi.set(__self__, "dvp_version", dvp_version)

    @property
    @pulumi.getter(name="dvpStackId")
    def dvp_stack_id(self) -> str:
        """
        (Updatable) Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stack_id")

    @property
    @pulumi.getter(name="dvpStackType")
    def dvp_stack_type(self) -> str:
        """
        (Updatable) Type of stack.
        """
        return pulumi.get(self, "dvp_stack_type")

    @property
    @pulumi.getter(name="dvpStreamId")
    def dvp_stream_id(self) -> str:
        """
        (Updatable) Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stream_id")

    @property
    @pulumi.getter(name="dvpVersion")
    def dvp_version(self) -> str:
        """
        (Updatable) Version of the dedicated vantage point.
        """
        return pulumi.get(self, "dvp_version")


@pulumi.output_type
class DedicatedVantagePointMonitorStatusCountMap(dict):
    def __init__(__self__, *,
                 disabled: Optional[int] = None,
                 enabled: Optional[int] = None,
                 invalid: Optional[int] = None,
                 total: Optional[int] = None):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        if disabled is not None:
            pulumi.set(__self__, "disabled", disabled)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if invalid is not None:
            pulumi.set(__self__, "invalid", invalid)
        if total is not None:
            pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> Optional[int]:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> Optional[int]:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> Optional[int]:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> Optional[int]:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class ScriptMonitorStatusCountMap(dict):
    def __init__(__self__, *,
                 disabled: Optional[int] = None,
                 enabled: Optional[int] = None,
                 invalid: Optional[int] = None,
                 total: Optional[int] = None):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        if disabled is not None:
            pulumi.set(__self__, "disabled", disabled)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if invalid is not None:
            pulumi.set(__self__, "invalid", invalid)
        if total is not None:
            pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> Optional[int]:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> Optional[int]:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> Optional[int]:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> Optional[int]:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class ScriptParameter(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "paramName":
            suggest = "param_name"
        elif key == "isOverwritten":
            suggest = "is_overwritten"
        elif key == "isSecret":
            suggest = "is_secret"
        elif key == "paramValue":
            suggest = "param_value"
        elif key == "scriptParameters":
            suggest = "script_parameters"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ScriptParameter. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ScriptParameter.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ScriptParameter.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 param_name: str,
                 is_overwritten: Optional[bool] = None,
                 is_secret: Optional[bool] = None,
                 param_value: Optional[str] = None,
                 script_parameters: Optional[Sequence['outputs.ScriptParameterScriptParameter']] = None):
        """
        :param str param_name: (Updatable) Name of the parameter.
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: (Updatable) If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_value: (Updatable) Value of the parameter.
               
               
               ** IMPORTANT **
               Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        :param Sequence['ScriptParameterScriptParameterArgs'] script_parameters: Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        pulumi.set(__self__, "param_name", param_name)
        if is_overwritten is not None:
            pulumi.set(__self__, "is_overwritten", is_overwritten)
        if is_secret is not None:
            pulumi.set(__self__, "is_secret", is_secret)
        if param_value is not None:
            pulumi.set(__self__, "param_value", param_value)
        if script_parameters is not None:
            pulumi.set(__self__, "script_parameters", script_parameters)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        (Updatable) Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> Optional[bool]:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> Optional[bool]:
        """
        (Updatable) If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> Optional[str]:
        """
        (Updatable) Value of the parameter.


        ** IMPORTANT **
        Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        return pulumi.get(self, "param_value")

    @property
    @pulumi.getter(name="scriptParameters")
    def script_parameters(self) -> Optional[Sequence['outputs.ScriptParameterScriptParameter']]:
        """
        Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        return pulumi.get(self, "script_parameters")


@pulumi.output_type
class ScriptParameterScriptParameter(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "isSecret":
            suggest = "is_secret"
        elif key == "paramName":
            suggest = "param_name"
        elif key == "paramValue":
            suggest = "param_value"

        if suggest:
            pulumi.log.warn(f"Key '{key}' not found in ScriptParameterScriptParameter. Access the value via the '{suggest}' property getter instead.")

    def __getitem__(self, key: str) -> Any:
        ScriptParameterScriptParameter.__key_warning(key)
        return super().__getitem__(key)

    def get(self, key: str, default = None) -> Any:
        ScriptParameterScriptParameter.__key_warning(key)
        return super().get(key, default)

    def __init__(__self__, *,
                 is_secret: Optional[bool] = None,
                 param_name: Optional[str] = None,
                 param_value: Optional[str] = None):
        """
        :param bool is_secret: (Updatable) If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_name: (Updatable) Name of the parameter.
        :param str param_value: (Updatable) Value of the parameter.
               
               
               ** IMPORTANT **
               Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        if is_secret is not None:
            pulumi.set(__self__, "is_secret", is_secret)
        if param_name is not None:
            pulumi.set(__self__, "param_name", param_name)
        if param_value is not None:
            pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> Optional[bool]:
        """
        (Updatable) If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> Optional[str]:
        """
        (Updatable) Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> Optional[str]:
        """
        (Updatable) Value of the parameter.


        ** IMPORTANT **
        Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetDedicatedVantagePointDvpStackDetailResult(dict):
    def __init__(__self__, *,
                 dvp_stack_id: str,
                 dvp_stack_type: str,
                 dvp_stream_id: str,
                 dvp_version: str):
        """
        :param str dvp_stack_id: Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_stack_type: Type of stack.
        :param str dvp_stream_id: Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_version: Version of the dedicated vantage point.
        """
        pulumi.set(__self__, "dvp_stack_id", dvp_stack_id)
        pulumi.set(__self__, "dvp_stack_type", dvp_stack_type)
        pulumi.set(__self__, "dvp_stream_id", dvp_stream_id)
        pulumi.set(__self__, "dvp_version", dvp_version)

    @property
    @pulumi.getter(name="dvpStackId")
    def dvp_stack_id(self) -> str:
        """
        Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stack_id")

    @property
    @pulumi.getter(name="dvpStackType")
    def dvp_stack_type(self) -> str:
        """
        Type of stack.
        """
        return pulumi.get(self, "dvp_stack_type")

    @property
    @pulumi.getter(name="dvpStreamId")
    def dvp_stream_id(self) -> str:
        """
        Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stream_id")

    @property
    @pulumi.getter(name="dvpVersion")
    def dvp_version(self) -> str:
        """
        Version of the dedicated vantage point.
        """
        return pulumi.get(self, "dvp_version")


@pulumi.output_type
class GetDedicatedVantagePointMonitorStatusCountMapResult(dict):
    def __init__(__self__, *,
                 disabled: int,
                 enabled: int,
                 invalid: int,
                 total: int):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        pulumi.set(__self__, "disabled", disabled)
        pulumi.set(__self__, "enabled", enabled)
        pulumi.set(__self__, "invalid", invalid)
        pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> int:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> int:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> int:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> int:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class GetDedicatedVantagePointsDedicatedVantagePointCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetDedicatedVantagePointsDedicatedVantagePointCollectionItemResult(dict):
    def __init__(__self__, *,
                 apm_domain_id: str,
                 defined_tags: Mapping[str, Any],
                 display_name: str,
                 dvp_stack_details: Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemDvpStackDetailResult'],
                 freeform_tags: Mapping[str, Any],
                 id: str,
                 monitor_status_count_maps: Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemMonitorStatusCountMapResult'],
                 name: str,
                 region: str,
                 status: str,
                 time_created: str,
                 time_updated: str):
        """
        :param str apm_domain_id: The APM domain ID the request is intended for.
        :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        :param str display_name: A filter to return only the resources that match the entire display name.
        :param Sequence['GetDedicatedVantagePointsDedicatedVantagePointCollectionItemDvpStackDetailArgs'] dvp_stack_details: Details of a Dedicated Vantage Point (DVP) stack in Resource Manager.
        :param Mapping[str, Any] freeform_tags: Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        :param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated vantage point.
        :param Sequence['GetDedicatedVantagePointsDedicatedVantagePointCollectionItemMonitorStatusCountMapArgs'] monitor_status_count_maps: Details of the monitor count per state. Example: `{ "total" : 5, "enabled" : 3 , "disabled" : 2, "invalid" : 0 }`
        :param str name: A filter to return only the resources that match the entire name.
        :param str region: Name of the region.
        :param str status: A filter to return only the dedicated vantage points that match a given status.
        :param str time_created: The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_updated: The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        pulumi.set(__self__, "apm_domain_id", apm_domain_id)
        pulumi.set(__self__, "defined_tags", defined_tags)
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "dvp_stack_details", dvp_stack_details)
        pulumi.set(__self__, "freeform_tags", freeform_tags)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "monitor_status_count_maps", monitor_status_count_maps)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "region", region)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "time_created", time_created)
        pulumi.set(__self__, "time_updated", time_updated)

    @property
    @pulumi.getter(name="apmDomainId")
    def apm_domain_id(self) -> str:
        """
        The APM domain ID the request is intended for.
        """
        return pulumi.get(self, "apm_domain_id")

    @property
    @pulumi.getter(name="definedTags")
    def defined_tags(self) -> Mapping[str, Any]:
        """
        Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        """
        return pulumi.get(self, "defined_tags")

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        A filter to return only the resources that match the entire display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="dvpStackDetails")
    def dvp_stack_details(self) -> Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemDvpStackDetailResult']:
        """
        Details of a Dedicated Vantage Point (DVP) stack in Resource Manager.
        """
        return pulumi.get(self, "dvp_stack_details")

    @property
    @pulumi.getter(name="freeformTags")
    def freeform_tags(self) -> Mapping[str, Any]:
        """
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        """
        return pulumi.get(self, "freeform_tags")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated vantage point.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="monitorStatusCountMaps")
    def monitor_status_count_maps(self) -> Sequence['outputs.GetDedicatedVantagePointsDedicatedVantagePointCollectionItemMonitorStatusCountMapResult']:
        """
        Details of the monitor count per state. Example: `{ "total" : 5, "enabled" : 3 , "disabled" : 2, "invalid" : 0 }`
        """
        return pulumi.get(self, "monitor_status_count_maps")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A filter to return only the resources that match the entire name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def region(self) -> str:
        """
        Name of the region.
        """
        return pulumi.get(self, "region")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        A filter to return only the dedicated vantage points that match a given status.
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter(name="timeCreated")
    def time_created(self) -> str:
        """
        The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_created")

    @property
    @pulumi.getter(name="timeUpdated")
    def time_updated(self) -> str:
        """
        The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        return pulumi.get(self, "time_updated")


@pulumi.output_type
class GetDedicatedVantagePointsDedicatedVantagePointCollectionItemDvpStackDetailResult(dict):
    def __init__(__self__, *,
                 dvp_stack_id: str,
                 dvp_stack_type: str,
                 dvp_stream_id: str,
                 dvp_version: str):
        """
        :param str dvp_stack_id: Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_stack_type: Type of stack.
        :param str dvp_stream_id: Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        :param str dvp_version: Version of the dedicated vantage point.
        """
        pulumi.set(__self__, "dvp_stack_id", dvp_stack_id)
        pulumi.set(__self__, "dvp_stack_type", dvp_stack_type)
        pulumi.set(__self__, "dvp_stream_id", dvp_stream_id)
        pulumi.set(__self__, "dvp_version", dvp_version)

    @property
    @pulumi.getter(name="dvpStackId")
    def dvp_stack_id(self) -> str:
        """
        Stack [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stack_id")

    @property
    @pulumi.getter(name="dvpStackType")
    def dvp_stack_type(self) -> str:
        """
        Type of stack.
        """
        return pulumi.get(self, "dvp_stack_type")

    @property
    @pulumi.getter(name="dvpStreamId")
    def dvp_stream_id(self) -> str:
        """
        Stream [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Resource Manager stack for dedicated vantage point.
        """
        return pulumi.get(self, "dvp_stream_id")

    @property
    @pulumi.getter(name="dvpVersion")
    def dvp_version(self) -> str:
        """
        Version of the dedicated vantage point.
        """
        return pulumi.get(self, "dvp_version")


@pulumi.output_type
class GetDedicatedVantagePointsDedicatedVantagePointCollectionItemMonitorStatusCountMapResult(dict):
    def __init__(__self__, *,
                 disabled: int,
                 enabled: int,
                 invalid: int,
                 total: int):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        pulumi.set(__self__, "disabled", disabled)
        pulumi.set(__self__, "enabled", enabled)
        pulumi.set(__self__, "invalid", invalid)
        pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> int:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> int:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> int:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> int:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class GetDedicatedVantagePointsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: A filter to return only the resources that match the entire name.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A filter to return only the resources that match the entire name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


@pulumi.output_type
class GetMonitorAvailabilityConfigurationResult(dict):
    def __init__(__self__, *,
                 max_allowed_failures_per_interval: int,
                 min_allowed_runs_per_interval: int):
        """
        :param int max_allowed_failures_per_interval: Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        :param int min_allowed_runs_per_interval: Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        pulumi.set(__self__, "max_allowed_failures_per_interval", max_allowed_failures_per_interval)
        pulumi.set(__self__, "min_allowed_runs_per_interval", min_allowed_runs_per_interval)

    @property
    @pulumi.getter(name="maxAllowedFailuresPerInterval")
    def max_allowed_failures_per_interval(self) -> int:
        """
        Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        """
        return pulumi.get(self, "max_allowed_failures_per_interval")

    @property
    @pulumi.getter(name="minAllowedRunsPerInterval")
    def min_allowed_runs_per_interval(self) -> int:
        """
        Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        return pulumi.get(self, "min_allowed_runs_per_interval")


@pulumi.output_type
class GetMonitorConfigurationResult(dict):
    def __init__(__self__, *,
                 config_type: str,
                 dns_configurations: Sequence['outputs.GetMonitorConfigurationDnsConfigurationResult'],
                 is_certificate_validation_enabled: bool,
                 is_failure_retried: bool,
                 is_redirection_enabled: bool,
                 network_configurations: Sequence['outputs.GetMonitorConfigurationNetworkConfigurationResult'],
                 req_authentication_details: Sequence['outputs.GetMonitorConfigurationReqAuthenticationDetailResult'],
                 req_authentication_scheme: str,
                 request_headers: Sequence['outputs.GetMonitorConfigurationRequestHeaderResult'],
                 request_method: str,
                 request_post_body: str,
                 request_query_params: Sequence['outputs.GetMonitorConfigurationRequestQueryParamResult'],
                 verify_response_codes: Sequence[str],
                 verify_response_content: str,
                 verify_texts: Sequence['outputs.GetMonitorConfigurationVerifyTextResult']):
        """
        :param str config_type: Type of configuration.
        :param Sequence['GetMonitorConfigurationDnsConfigurationArgs'] dns_configurations: Dns settings.
        :param bool is_certificate_validation_enabled: If certificate validation is enabled, then the call will fail in case of certification errors.
        :param bool is_failure_retried: If isFailureRetried is enabled, then a failed call will be retried.
        :param bool is_redirection_enabled: If redirection enabled, then redirects will be allowed while accessing target URL.
        :param Sequence['GetMonitorConfigurationNetworkConfigurationArgs'] network_configurations: Details of the network configuration.
        :param Sequence['GetMonitorConfigurationReqAuthenticationDetailArgs'] req_authentication_details: Details for request HTTP authentication.
        :param str req_authentication_scheme: Request http authentication scheme.
        :param Sequence['GetMonitorConfigurationRequestHeaderArgs'] request_headers: List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str request_method: Request HTTP method.
        :param str request_post_body: Request post body content.
        :param Sequence['GetMonitorConfigurationRequestQueryParamArgs'] request_query_params: List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        :param Sequence[str] verify_response_codes: Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        :param str verify_response_content: Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        :param Sequence['GetMonitorConfigurationVerifyTextArgs'] verify_texts: Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        pulumi.set(__self__, "config_type", config_type)
        pulumi.set(__self__, "dns_configurations", dns_configurations)
        pulumi.set(__self__, "is_certificate_validation_enabled", is_certificate_validation_enabled)
        pulumi.set(__self__, "is_failure_retried", is_failure_retried)
        pulumi.set(__self__, "is_redirection_enabled", is_redirection_enabled)
        pulumi.set(__self__, "network_configurations", network_configurations)
        pulumi.set(__self__, "req_authentication_details", req_authentication_details)
        pulumi.set(__self__, "req_authentication_scheme", req_authentication_scheme)
        pulumi.set(__self__, "request_headers", request_headers)
        pulumi.set(__self__, "request_method", request_method)
        pulumi.set(__self__, "request_post_body", request_post_body)
        pulumi.set(__self__, "request_query_params", request_query_params)
        pulumi.set(__self__, "verify_response_codes", verify_response_codes)
        pulumi.set(__self__, "verify_response_content", verify_response_content)
        pulumi.set(__self__, "verify_texts", verify_texts)

    @property
    @pulumi.getter(name="configType")
    def config_type(self) -> str:
        """
        Type of configuration.
        """
        return pulumi.get(self, "config_type")

    @property
    @pulumi.getter(name="dnsConfigurations")
    def dns_configurations(self) -> Sequence['outputs.GetMonitorConfigurationDnsConfigurationResult']:
        """
        Dns settings.
        """
        return pulumi.get(self, "dns_configurations")

    @property
    @pulumi.getter(name="isCertificateValidationEnabled")
    def is_certificate_validation_enabled(self) -> bool:
        """
        If certificate validation is enabled, then the call will fail in case of certification errors.
        """
        return pulumi.get(self, "is_certificate_validation_enabled")

    @property
    @pulumi.getter(name="isFailureRetried")
    def is_failure_retried(self) -> bool:
        """
        If isFailureRetried is enabled, then a failed call will be retried.
        """
        return pulumi.get(self, "is_failure_retried")

    @property
    @pulumi.getter(name="isRedirectionEnabled")
    def is_redirection_enabled(self) -> bool:
        """
        If redirection enabled, then redirects will be allowed while accessing target URL.
        """
        return pulumi.get(self, "is_redirection_enabled")

    @property
    @pulumi.getter(name="networkConfigurations")
    def network_configurations(self) -> Sequence['outputs.GetMonitorConfigurationNetworkConfigurationResult']:
        """
        Details of the network configuration.
        """
        return pulumi.get(self, "network_configurations")

    @property
    @pulumi.getter(name="reqAuthenticationDetails")
    def req_authentication_details(self) -> Sequence['outputs.GetMonitorConfigurationReqAuthenticationDetailResult']:
        """
        Details for request HTTP authentication.
        """
        return pulumi.get(self, "req_authentication_details")

    @property
    @pulumi.getter(name="reqAuthenticationScheme")
    def req_authentication_scheme(self) -> str:
        """
        Request http authentication scheme.
        """
        return pulumi.get(self, "req_authentication_scheme")

    @property
    @pulumi.getter(name="requestHeaders")
    def request_headers(self) -> Sequence['outputs.GetMonitorConfigurationRequestHeaderResult']:
        """
        List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "request_headers")

    @property
    @pulumi.getter(name="requestMethod")
    def request_method(self) -> str:
        """
        Request HTTP method.
        """
        return pulumi.get(self, "request_method")

    @property
    @pulumi.getter(name="requestPostBody")
    def request_post_body(self) -> str:
        """
        Request post body content.
        """
        return pulumi.get(self, "request_post_body")

    @property
    @pulumi.getter(name="requestQueryParams")
    def request_query_params(self) -> Sequence['outputs.GetMonitorConfigurationRequestQueryParamResult']:
        """
        List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        """
        return pulumi.get(self, "request_query_params")

    @property
    @pulumi.getter(name="verifyResponseCodes")
    def verify_response_codes(self) -> Sequence[str]:
        """
        Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        """
        return pulumi.get(self, "verify_response_codes")

    @property
    @pulumi.getter(name="verifyResponseContent")
    def verify_response_content(self) -> str:
        """
        Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        """
        return pulumi.get(self, "verify_response_content")

    @property
    @pulumi.getter(name="verifyTexts")
    def verify_texts(self) -> Sequence['outputs.GetMonitorConfigurationVerifyTextResult']:
        """
        Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        return pulumi.get(self, "verify_texts")


@pulumi.output_type
class GetMonitorConfigurationDnsConfigurationResult(dict):
    def __init__(__self__, *,
                 is_override_dns: bool,
                 override_dns_ip: str):
        """
        :param bool is_override_dns: If isOverrideDns is true, then dns will be overridden.
        :param str override_dns_ip: Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        pulumi.set(__self__, "is_override_dns", is_override_dns)
        pulumi.set(__self__, "override_dns_ip", override_dns_ip)

    @property
    @pulumi.getter(name="isOverrideDns")
    def is_override_dns(self) -> bool:
        """
        If isOverrideDns is true, then dns will be overridden.
        """
        return pulumi.get(self, "is_override_dns")

    @property
    @pulumi.getter(name="overrideDnsIp")
    def override_dns_ip(self) -> str:
        """
        Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        return pulumi.get(self, "override_dns_ip")


@pulumi.output_type
class GetMonitorConfigurationNetworkConfigurationResult(dict):
    def __init__(__self__, *,
                 number_of_hops: int,
                 probe_mode: str,
                 probe_per_hop: int,
                 protocol: str,
                 transmission_rate: int):
        """
        :param int number_of_hops: Number of hops.
        :param str probe_mode: Type of probe mode when TCP protocol is selected.
        :param int probe_per_hop: Number of probes per hop.
        :param str protocol: Type of protocol.
        :param int transmission_rate: Number of probe packets sent out simultaneously.
        """
        pulumi.set(__self__, "number_of_hops", number_of_hops)
        pulumi.set(__self__, "probe_mode", probe_mode)
        pulumi.set(__self__, "probe_per_hop", probe_per_hop)
        pulumi.set(__self__, "protocol", protocol)
        pulumi.set(__self__, "transmission_rate", transmission_rate)

    @property
    @pulumi.getter(name="numberOfHops")
    def number_of_hops(self) -> int:
        """
        Number of hops.
        """
        return pulumi.get(self, "number_of_hops")

    @property
    @pulumi.getter(name="probeMode")
    def probe_mode(self) -> str:
        """
        Type of probe mode when TCP protocol is selected.
        """
        return pulumi.get(self, "probe_mode")

    @property
    @pulumi.getter(name="probePerHop")
    def probe_per_hop(self) -> int:
        """
        Number of probes per hop.
        """
        return pulumi.get(self, "probe_per_hop")

    @property
    @pulumi.getter
    def protocol(self) -> str:
        """
        Type of protocol.
        """
        return pulumi.get(self, "protocol")

    @property
    @pulumi.getter(name="transmissionRate")
    def transmission_rate(self) -> int:
        """
        Number of probe packets sent out simultaneously.
        """
        return pulumi.get(self, "transmission_rate")


@pulumi.output_type
class GetMonitorConfigurationReqAuthenticationDetailResult(dict):
    def __init__(__self__, *,
                 auth_headers: Sequence['outputs.GetMonitorConfigurationReqAuthenticationDetailAuthHeaderResult'],
                 auth_request_method: str,
                 auth_request_post_body: str,
                 auth_token: str,
                 auth_url: str,
                 auth_user_name: str,
                 auth_user_password: str,
                 oauth_scheme: str):
        """
        :param Sequence['GetMonitorConfigurationReqAuthenticationDetailAuthHeaderArgs'] auth_headers: List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str auth_request_method: Request method.
        :param str auth_request_post_body: Request post body.
        :param str auth_token: Authentication token.
        :param str auth_url: URL to get authetication token.
        :param str auth_user_name: Username for authentication.
        :param str auth_user_password: User password for authentication.
        :param str oauth_scheme: Request http oauth scheme.
        """
        pulumi.set(__self__, "auth_headers", auth_headers)
        pulumi.set(__self__, "auth_request_method", auth_request_method)
        pulumi.set(__self__, "auth_request_post_body", auth_request_post_body)
        pulumi.set(__self__, "auth_token", auth_token)
        pulumi.set(__self__, "auth_url", auth_url)
        pulumi.set(__self__, "auth_user_name", auth_user_name)
        pulumi.set(__self__, "auth_user_password", auth_user_password)
        pulumi.set(__self__, "oauth_scheme", oauth_scheme)

    @property
    @pulumi.getter(name="authHeaders")
    def auth_headers(self) -> Sequence['outputs.GetMonitorConfigurationReqAuthenticationDetailAuthHeaderResult']:
        """
        List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "auth_headers")

    @property
    @pulumi.getter(name="authRequestMethod")
    def auth_request_method(self) -> str:
        """
        Request method.
        """
        return pulumi.get(self, "auth_request_method")

    @property
    @pulumi.getter(name="authRequestPostBody")
    def auth_request_post_body(self) -> str:
        """
        Request post body.
        """
        return pulumi.get(self, "auth_request_post_body")

    @property
    @pulumi.getter(name="authToken")
    def auth_token(self) -> str:
        """
        Authentication token.
        """
        return pulumi.get(self, "auth_token")

    @property
    @pulumi.getter(name="authUrl")
    def auth_url(self) -> str:
        """
        URL to get authetication token.
        """
        return pulumi.get(self, "auth_url")

    @property
    @pulumi.getter(name="authUserName")
    def auth_user_name(self) -> str:
        """
        Username for authentication.
        """
        return pulumi.get(self, "auth_user_name")

    @property
    @pulumi.getter(name="authUserPassword")
    def auth_user_password(self) -> str:
        """
        User password for authentication.
        """
        return pulumi.get(self, "auth_user_password")

    @property
    @pulumi.getter(name="oauthScheme")
    def oauth_scheme(self) -> str:
        """
        Request http oauth scheme.
        """
        return pulumi.get(self, "oauth_scheme")


@pulumi.output_type
class GetMonitorConfigurationReqAuthenticationDetailAuthHeaderResult(dict):
    def __init__(__self__, *,
                 header_name: str,
                 header_value: str):
        """
        :param str header_name: Name of the header.
        :param str header_value: Value of the header.
        """
        pulumi.set(__self__, "header_name", header_name)
        pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> str:
        """
        Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> str:
        """
        Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class GetMonitorConfigurationRequestHeaderResult(dict):
    def __init__(__self__, *,
                 header_name: str,
                 header_value: str):
        """
        :param str header_name: Name of the header.
        :param str header_value: Value of the header.
        """
        pulumi.set(__self__, "header_name", header_name)
        pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> str:
        """
        Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> str:
        """
        Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class GetMonitorConfigurationRequestQueryParamResult(dict):
    def __init__(__self__, *,
                 param_name: str,
                 param_value: str):
        """
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetMonitorConfigurationVerifyTextResult(dict):
    def __init__(__self__, *,
                 text: str):
        """
        :param str text: Verification text in the response.
        """
        pulumi.set(__self__, "text", text)

    @property
    @pulumi.getter
    def text(self) -> str:
        """
        Verification text in the response.
        """
        return pulumi.get(self, "text")


@pulumi.output_type
class GetMonitorMaintenanceWindowScheduleResult(dict):
    def __init__(__self__, *,
                 time_ended: str,
                 time_started: str):
        """
        :param str time_ended: End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_started: Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        pulumi.set(__self__, "time_ended", time_ended)
        pulumi.set(__self__, "time_started", time_started)

    @property
    @pulumi.getter(name="timeEnded")
    def time_ended(self) -> str:
        """
        End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_ended")

    @property
    @pulumi.getter(name="timeStarted")
    def time_started(self) -> str:
        """
        Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_started")


@pulumi.output_type
class GetMonitorScriptParameterResult(dict):
    def __init__(__self__, *,
                 is_overwritten: bool,
                 is_secret: bool,
                 monitor_script_parameters: Sequence['outputs.GetMonitorScriptParameterMonitorScriptParameterResult'],
                 param_name: str,
                 param_value: str):
        """
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        :param Sequence['GetMonitorScriptParameterMonitorScriptParameterArgs'] monitor_script_parameters: Details of the script parameter that can be used to overwrite the parameter present in the script.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "is_overwritten", is_overwritten)
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "monitor_script_parameters", monitor_script_parameters)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> bool:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="monitorScriptParameters")
    def monitor_script_parameters(self) -> Sequence['outputs.GetMonitorScriptParameterMonitorScriptParameterResult']:
        """
        Details of the script parameter that can be used to overwrite the parameter present in the script.
        """
        return pulumi.get(self, "monitor_script_parameters")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetMonitorScriptParameterMonitorScriptParameterResult(dict):
    def __init__(__self__, *,
                 param_name: str,
                 param_value: str):
        """
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetMonitorsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: Name of the vantage point.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Name of the vantage point.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


@pulumi.output_type
class GetMonitorsMonitorCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetMonitorsMonitorCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemResult(dict):
    def __init__(__self__, *,
                 apm_domain_id: str,
                 availability_configurations: Sequence['outputs.GetMonitorsMonitorCollectionItemAvailabilityConfigurationResult'],
                 batch_interval_in_seconds: int,
                 configurations: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationResult'],
                 defined_tags: Mapping[str, Any],
                 display_name: str,
                 freeform_tags: Mapping[str, Any],
                 id: str,
                 is_run_now: bool,
                 is_run_once: bool,
                 maintenance_window_schedules: Sequence['outputs.GetMonitorsMonitorCollectionItemMaintenanceWindowScheduleResult'],
                 monitor_type: str,
                 repeat_interval_in_seconds: int,
                 scheduling_policy: str,
                 script_id: str,
                 script_name: str,
                 script_parameters: Sequence['outputs.GetMonitorsMonitorCollectionItemScriptParameterResult'],
                 status: str,
                 target: str,
                 time_created: str,
                 time_updated: str,
                 timeout_in_seconds: int,
                 vantage_point_count: int,
                 vantage_points: Sequence[str]):
        """
        :param str apm_domain_id: The APM domain ID the request is intended for.
        :param Sequence['GetMonitorsMonitorCollectionItemAvailabilityConfigurationArgs'] availability_configurations: Monitor availability configuration details.
        :param int batch_interval_in_seconds: Time interval between 2 runs in round robin batch mode (*SchedulingPolicy - BATCHED_ROUND_ROBIN).
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationArgs'] configurations: Details of monitor configuration.
        :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        :param str display_name: A filter to return only the resources that match the entire display name.
        :param Mapping[str, Any] freeform_tags: Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        :param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the monitor.
        :param bool is_run_now: If isRunNow is enabled, then the monitor will run now.
        :param bool is_run_once: If runOnce is enabled, then the monitor will run once.
        :param Sequence['GetMonitorsMonitorCollectionItemMaintenanceWindowScheduleArgs'] maintenance_window_schedules: Details used to schedule maintenance window.
        :param str monitor_type: A filter to return only monitors that match the given monitor type. Supported values are SCRIPTED_BROWSER, BROWSER, SCRIPTED_REST and REST.
        :param int repeat_interval_in_seconds: 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.
        :param str scheduling_policy: Scheduling policy on Vantage points.
        :param str script_id: A filter to return only monitors using scriptId.
        :param str script_name: Name of the script.
        :param Sequence['GetMonitorsMonitorCollectionItemScriptParameterArgs'] script_parameters: List of script parameters. Example: `[{"monitorScriptParameter": {"paramName": "userid", "paramValue":"testuser"}, "isSecret": false, "isOverwritten": false}]`
        :param str status: A filter to return only monitors that match the status given.
        :param str target: Specify the endpoint on which to run the monitor. For BROWSER and REST 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.
        :param str time_created: The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_updated: The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        :param int timeout_in_seconds: 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.
        :param int vantage_point_count: Number of vantage points where monitor is running.
        :param Sequence[str] vantage_points: List of public and dedicated vantage points where the monitor is running.
        """
        pulumi.set(__self__, "apm_domain_id", apm_domain_id)
        pulumi.set(__self__, "availability_configurations", availability_configurations)
        pulumi.set(__self__, "batch_interval_in_seconds", batch_interval_in_seconds)
        pulumi.set(__self__, "configurations", configurations)
        pulumi.set(__self__, "defined_tags", defined_tags)
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "freeform_tags", freeform_tags)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "is_run_now", is_run_now)
        pulumi.set(__self__, "is_run_once", is_run_once)
        pulumi.set(__self__, "maintenance_window_schedules", maintenance_window_schedules)
        pulumi.set(__self__, "monitor_type", monitor_type)
        pulumi.set(__self__, "repeat_interval_in_seconds", repeat_interval_in_seconds)
        pulumi.set(__self__, "scheduling_policy", scheduling_policy)
        pulumi.set(__self__, "script_id", script_id)
        pulumi.set(__self__, "script_name", script_name)
        pulumi.set(__self__, "script_parameters", script_parameters)
        pulumi.set(__self__, "status", status)
        pulumi.set(__self__, "target", target)
        pulumi.set(__self__, "time_created", time_created)
        pulumi.set(__self__, "time_updated", time_updated)
        pulumi.set(__self__, "timeout_in_seconds", timeout_in_seconds)
        pulumi.set(__self__, "vantage_point_count", vantage_point_count)
        pulumi.set(__self__, "vantage_points", vantage_points)

    @property
    @pulumi.getter(name="apmDomainId")
    def apm_domain_id(self) -> str:
        """
        The APM domain ID the request is intended for.
        """
        return pulumi.get(self, "apm_domain_id")

    @property
    @pulumi.getter(name="availabilityConfigurations")
    def availability_configurations(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemAvailabilityConfigurationResult']:
        """
        Monitor availability configuration details.
        """
        return pulumi.get(self, "availability_configurations")

    @property
    @pulumi.getter(name="batchIntervalInSeconds")
    def batch_interval_in_seconds(self) -> int:
        """
        Time interval between 2 runs in round robin batch mode (*SchedulingPolicy - BATCHED_ROUND_ROBIN).
        """
        return pulumi.get(self, "batch_interval_in_seconds")

    @property
    @pulumi.getter
    def configurations(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationResult']:
        """
        Details of monitor configuration.
        """
        return pulumi.get(self, "configurations")

    @property
    @pulumi.getter(name="definedTags")
    def defined_tags(self) -> Mapping[str, Any]:
        """
        Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        """
        return pulumi.get(self, "defined_tags")

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        A filter to return only the resources that match the entire display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="freeformTags")
    def freeform_tags(self) -> Mapping[str, Any]:
        """
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        """
        return pulumi.get(self, "freeform_tags")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the monitor.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="isRunNow")
    def is_run_now(self) -> bool:
        """
        If isRunNow is enabled, then the monitor will run now.
        """
        return pulumi.get(self, "is_run_now")

    @property
    @pulumi.getter(name="isRunOnce")
    def is_run_once(self) -> bool:
        """
        If runOnce is enabled, then the monitor will run once.
        """
        return pulumi.get(self, "is_run_once")

    @property
    @pulumi.getter(name="maintenanceWindowSchedules")
    def maintenance_window_schedules(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemMaintenanceWindowScheduleResult']:
        """
        Details used to schedule maintenance window.
        """
        return pulumi.get(self, "maintenance_window_schedules")

    @property
    @pulumi.getter(name="monitorType")
    def monitor_type(self) -> str:
        """
        A filter to return only monitors that match the given monitor type. Supported values are SCRIPTED_BROWSER, BROWSER, SCRIPTED_REST and REST.
        """
        return pulumi.get(self, "monitor_type")

    @property
    @pulumi.getter(name="repeatIntervalInSeconds")
    def repeat_interval_in_seconds(self) -> int:
        """
        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.
        """
        return pulumi.get(self, "repeat_interval_in_seconds")

    @property
    @pulumi.getter(name="schedulingPolicy")
    def scheduling_policy(self) -> str:
        """
        Scheduling policy on Vantage points.
        """
        return pulumi.get(self, "scheduling_policy")

    @property
    @pulumi.getter(name="scriptId")
    def script_id(self) -> str:
        """
        A filter to return only monitors using scriptId.
        """
        return pulumi.get(self, "script_id")

    @property
    @pulumi.getter(name="scriptName")
    def script_name(self) -> str:
        """
        Name of the script.
        """
        return pulumi.get(self, "script_name")

    @property
    @pulumi.getter(name="scriptParameters")
    def script_parameters(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemScriptParameterResult']:
        """
        List of script parameters. Example: `[{"monitorScriptParameter": {"paramName": "userid", "paramValue":"testuser"}, "isSecret": false, "isOverwritten": false}]`
        """
        return pulumi.get(self, "script_parameters")

    @property
    @pulumi.getter
    def status(self) -> str:
        """
        A filter to return only monitors that match the status given.
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter
    def target(self) -> str:
        """
        Specify the endpoint on which to run the monitor. For BROWSER and REST 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.
        """
        return pulumi.get(self, "target")

    @property
    @pulumi.getter(name="timeCreated")
    def time_created(self) -> str:
        """
        The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_created")

    @property
    @pulumi.getter(name="timeUpdated")
    def time_updated(self) -> str:
        """
        The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        return pulumi.get(self, "time_updated")

    @property
    @pulumi.getter(name="timeoutInSeconds")
    def timeout_in_seconds(self) -> int:
        """
        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.
        """
        return pulumi.get(self, "timeout_in_seconds")

    @property
    @pulumi.getter(name="vantagePointCount")
    def vantage_point_count(self) -> int:
        """
        Number of vantage points where monitor is running.
        """
        return pulumi.get(self, "vantage_point_count")

    @property
    @pulumi.getter(name="vantagePoints")
    def vantage_points(self) -> Sequence[str]:
        """
        List of public and dedicated vantage points where the monitor is running.
        """
        return pulumi.get(self, "vantage_points")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemAvailabilityConfigurationResult(dict):
    def __init__(__self__, *,
                 max_allowed_failures_per_interval: int,
                 min_allowed_runs_per_interval: int):
        """
        :param int max_allowed_failures_per_interval: Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        :param int min_allowed_runs_per_interval: Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        pulumi.set(__self__, "max_allowed_failures_per_interval", max_allowed_failures_per_interval)
        pulumi.set(__self__, "min_allowed_runs_per_interval", min_allowed_runs_per_interval)

    @property
    @pulumi.getter(name="maxAllowedFailuresPerInterval")
    def max_allowed_failures_per_interval(self) -> int:
        """
        Intervals with failed runs more than this value will be classified as UNAVAILABLE.
        """
        return pulumi.get(self, "max_allowed_failures_per_interval")

    @property
    @pulumi.getter(name="minAllowedRunsPerInterval")
    def min_allowed_runs_per_interval(self) -> int:
        """
        Intervals with runs less than this value will be classified as UNKNOWN and excluded from the availability calculations.
        """
        return pulumi.get(self, "min_allowed_runs_per_interval")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationResult(dict):
    def __init__(__self__, *,
                 config_type: str,
                 dns_configurations: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationDnsConfigurationResult'],
                 is_certificate_validation_enabled: bool,
                 is_failure_retried: bool,
                 is_redirection_enabled: bool,
                 network_configurations: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationNetworkConfigurationResult'],
                 req_authentication_details: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailResult'],
                 req_authentication_scheme: str,
                 request_headers: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationRequestHeaderResult'],
                 request_method: str,
                 request_post_body: str,
                 request_query_params: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationRequestQueryParamResult'],
                 verify_response_codes: Sequence[str],
                 verify_response_content: str,
                 verify_texts: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationVerifyTextResult']):
        """
        :param str config_type: Type of configuration.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationDnsConfigurationArgs'] dns_configurations: Dns settings.
        :param bool is_certificate_validation_enabled: If certificate validation is enabled, then the call will fail in case of certification errors.
        :param bool is_failure_retried: If isFailureRetried is enabled, then a failed call will be retried.
        :param bool is_redirection_enabled: If redirection enabled, then redirects will be allowed while accessing target URL.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationNetworkConfigurationArgs'] network_configurations: Details of the network configuration.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailArgs'] req_authentication_details: Details for request HTTP authentication.
        :param str req_authentication_scheme: Request http authentication scheme.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationRequestHeaderArgs'] request_headers: List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str request_method: Request HTTP method.
        :param str request_post_body: Request post body content.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationRequestQueryParamArgs'] request_query_params: List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        :param Sequence[str] verify_response_codes: Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        :param str verify_response_content: Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationVerifyTextArgs'] verify_texts: Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        pulumi.set(__self__, "config_type", config_type)
        pulumi.set(__self__, "dns_configurations", dns_configurations)
        pulumi.set(__self__, "is_certificate_validation_enabled", is_certificate_validation_enabled)
        pulumi.set(__self__, "is_failure_retried", is_failure_retried)
        pulumi.set(__self__, "is_redirection_enabled", is_redirection_enabled)
        pulumi.set(__self__, "network_configurations", network_configurations)
        pulumi.set(__self__, "req_authentication_details", req_authentication_details)
        pulumi.set(__self__, "req_authentication_scheme", req_authentication_scheme)
        pulumi.set(__self__, "request_headers", request_headers)
        pulumi.set(__self__, "request_method", request_method)
        pulumi.set(__self__, "request_post_body", request_post_body)
        pulumi.set(__self__, "request_query_params", request_query_params)
        pulumi.set(__self__, "verify_response_codes", verify_response_codes)
        pulumi.set(__self__, "verify_response_content", verify_response_content)
        pulumi.set(__self__, "verify_texts", verify_texts)

    @property
    @pulumi.getter(name="configType")
    def config_type(self) -> str:
        """
        Type of configuration.
        """
        return pulumi.get(self, "config_type")

    @property
    @pulumi.getter(name="dnsConfigurations")
    def dns_configurations(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationDnsConfigurationResult']:
        """
        Dns settings.
        """
        return pulumi.get(self, "dns_configurations")

    @property
    @pulumi.getter(name="isCertificateValidationEnabled")
    def is_certificate_validation_enabled(self) -> bool:
        """
        If certificate validation is enabled, then the call will fail in case of certification errors.
        """
        return pulumi.get(self, "is_certificate_validation_enabled")

    @property
    @pulumi.getter(name="isFailureRetried")
    def is_failure_retried(self) -> bool:
        """
        If isFailureRetried is enabled, then a failed call will be retried.
        """
        return pulumi.get(self, "is_failure_retried")

    @property
    @pulumi.getter(name="isRedirectionEnabled")
    def is_redirection_enabled(self) -> bool:
        """
        If redirection enabled, then redirects will be allowed while accessing target URL.
        """
        return pulumi.get(self, "is_redirection_enabled")

    @property
    @pulumi.getter(name="networkConfigurations")
    def network_configurations(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationNetworkConfigurationResult']:
        """
        Details of the network configuration.
        """
        return pulumi.get(self, "network_configurations")

    @property
    @pulumi.getter(name="reqAuthenticationDetails")
    def req_authentication_details(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailResult']:
        """
        Details for request HTTP authentication.
        """
        return pulumi.get(self, "req_authentication_details")

    @property
    @pulumi.getter(name="reqAuthenticationScheme")
    def req_authentication_scheme(self) -> str:
        """
        Request http authentication scheme.
        """
        return pulumi.get(self, "req_authentication_scheme")

    @property
    @pulumi.getter(name="requestHeaders")
    def request_headers(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationRequestHeaderResult']:
        """
        List of request headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "request_headers")

    @property
    @pulumi.getter(name="requestMethod")
    def request_method(self) -> str:
        """
        Request HTTP method.
        """
        return pulumi.get(self, "request_method")

    @property
    @pulumi.getter(name="requestPostBody")
    def request_post_body(self) -> str:
        """
        Request post body content.
        """
        return pulumi.get(self, "request_post_body")

    @property
    @pulumi.getter(name="requestQueryParams")
    def request_query_params(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationRequestQueryParamResult']:
        """
        List of request query params. Example: `[{"paramName": "sortOrder", "paramValue": "asc"}]`
        """
        return pulumi.get(self, "request_query_params")

    @property
    @pulumi.getter(name="verifyResponseCodes")
    def verify_response_codes(self) -> Sequence[str]:
        """
        Expected HTTP response codes. For status code range, set values such as 2xx, 3xx.
        """
        return pulumi.get(self, "verify_response_codes")

    @property
    @pulumi.getter(name="verifyResponseContent")
    def verify_response_content(self) -> str:
        """
        Verify response content against regular expression based string. If response content does not match the verifyResponseContent value, then it will be considered a failure.
        """
        return pulumi.get(self, "verify_response_content")

    @property
    @pulumi.getter(name="verifyTexts")
    def verify_texts(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationVerifyTextResult']:
        """
        Verifies all the search strings present in the response. If any search string is not present in the response, then it will be considered as a failure.
        """
        return pulumi.get(self, "verify_texts")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationDnsConfigurationResult(dict):
    def __init__(__self__, *,
                 is_override_dns: bool,
                 override_dns_ip: str):
        """
        :param bool is_override_dns: If isOverrideDns is true, then dns will be overridden.
        :param str override_dns_ip: Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        pulumi.set(__self__, "is_override_dns", is_override_dns)
        pulumi.set(__self__, "override_dns_ip", override_dns_ip)

    @property
    @pulumi.getter(name="isOverrideDns")
    def is_override_dns(self) -> bool:
        """
        If isOverrideDns is true, then dns will be overridden.
        """
        return pulumi.get(self, "is_override_dns")

    @property
    @pulumi.getter(name="overrideDnsIp")
    def override_dns_ip(self) -> str:
        """
        Override dns ip value. This value will be honored only if *ref-isOverrideDns is set to true.
        """
        return pulumi.get(self, "override_dns_ip")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationNetworkConfigurationResult(dict):
    def __init__(__self__, *,
                 number_of_hops: int,
                 probe_mode: str,
                 probe_per_hop: int,
                 protocol: str,
                 transmission_rate: int):
        """
        :param int number_of_hops: Number of hops.
        :param str probe_mode: Type of probe mode when TCP protocol is selected.
        :param int probe_per_hop: Number of probes per hop.
        :param str protocol: Type of protocol.
        :param int transmission_rate: Number of probe packets sent out simultaneously.
        """
        pulumi.set(__self__, "number_of_hops", number_of_hops)
        pulumi.set(__self__, "probe_mode", probe_mode)
        pulumi.set(__self__, "probe_per_hop", probe_per_hop)
        pulumi.set(__self__, "protocol", protocol)
        pulumi.set(__self__, "transmission_rate", transmission_rate)

    @property
    @pulumi.getter(name="numberOfHops")
    def number_of_hops(self) -> int:
        """
        Number of hops.
        """
        return pulumi.get(self, "number_of_hops")

    @property
    @pulumi.getter(name="probeMode")
    def probe_mode(self) -> str:
        """
        Type of probe mode when TCP protocol is selected.
        """
        return pulumi.get(self, "probe_mode")

    @property
    @pulumi.getter(name="probePerHop")
    def probe_per_hop(self) -> int:
        """
        Number of probes per hop.
        """
        return pulumi.get(self, "probe_per_hop")

    @property
    @pulumi.getter
    def protocol(self) -> str:
        """
        Type of protocol.
        """
        return pulumi.get(self, "protocol")

    @property
    @pulumi.getter(name="transmissionRate")
    def transmission_rate(self) -> int:
        """
        Number of probe packets sent out simultaneously.
        """
        return pulumi.get(self, "transmission_rate")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailResult(dict):
    def __init__(__self__, *,
                 auth_headers: Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailAuthHeaderResult'],
                 auth_request_method: str,
                 auth_request_post_body: str,
                 auth_token: str,
                 auth_url: str,
                 auth_user_name: str,
                 auth_user_password: str,
                 oauth_scheme: str):
        """
        :param Sequence['GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailAuthHeaderArgs'] auth_headers: List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        :param str auth_request_method: Request method.
        :param str auth_request_post_body: Request post body.
        :param str auth_token: Authentication token.
        :param str auth_url: URL to get authetication token.
        :param str auth_user_name: Username for authentication.
        :param str auth_user_password: User password for authentication.
        :param str oauth_scheme: Request http oauth scheme.
        """
        pulumi.set(__self__, "auth_headers", auth_headers)
        pulumi.set(__self__, "auth_request_method", auth_request_method)
        pulumi.set(__self__, "auth_request_post_body", auth_request_post_body)
        pulumi.set(__self__, "auth_token", auth_token)
        pulumi.set(__self__, "auth_url", auth_url)
        pulumi.set(__self__, "auth_user_name", auth_user_name)
        pulumi.set(__self__, "auth_user_password", auth_user_password)
        pulumi.set(__self__, "oauth_scheme", oauth_scheme)

    @property
    @pulumi.getter(name="authHeaders")
    def auth_headers(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailAuthHeaderResult']:
        """
        List of authentication headers. Example: `[{"headerName": "content-type", "headerValue":"json"}]`
        """
        return pulumi.get(self, "auth_headers")

    @property
    @pulumi.getter(name="authRequestMethod")
    def auth_request_method(self) -> str:
        """
        Request method.
        """
        return pulumi.get(self, "auth_request_method")

    @property
    @pulumi.getter(name="authRequestPostBody")
    def auth_request_post_body(self) -> str:
        """
        Request post body.
        """
        return pulumi.get(self, "auth_request_post_body")

    @property
    @pulumi.getter(name="authToken")
    def auth_token(self) -> str:
        """
        Authentication token.
        """
        return pulumi.get(self, "auth_token")

    @property
    @pulumi.getter(name="authUrl")
    def auth_url(self) -> str:
        """
        URL to get authetication token.
        """
        return pulumi.get(self, "auth_url")

    @property
    @pulumi.getter(name="authUserName")
    def auth_user_name(self) -> str:
        """
        Username for authentication.
        """
        return pulumi.get(self, "auth_user_name")

    @property
    @pulumi.getter(name="authUserPassword")
    def auth_user_password(self) -> str:
        """
        User password for authentication.
        """
        return pulumi.get(self, "auth_user_password")

    @property
    @pulumi.getter(name="oauthScheme")
    def oauth_scheme(self) -> str:
        """
        Request http oauth scheme.
        """
        return pulumi.get(self, "oauth_scheme")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationReqAuthenticationDetailAuthHeaderResult(dict):
    def __init__(__self__, *,
                 header_name: str,
                 header_value: str):
        """
        :param str header_name: Name of the header.
        :param str header_value: Value of the header.
        """
        pulumi.set(__self__, "header_name", header_name)
        pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> str:
        """
        Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> str:
        """
        Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationRequestHeaderResult(dict):
    def __init__(__self__, *,
                 header_name: str,
                 header_value: str):
        """
        :param str header_name: Name of the header.
        :param str header_value: Value of the header.
        """
        pulumi.set(__self__, "header_name", header_name)
        pulumi.set(__self__, "header_value", header_value)

    @property
    @pulumi.getter(name="headerName")
    def header_name(self) -> str:
        """
        Name of the header.
        """
        return pulumi.get(self, "header_name")

    @property
    @pulumi.getter(name="headerValue")
    def header_value(self) -> str:
        """
        Value of the header.
        """
        return pulumi.get(self, "header_value")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationRequestQueryParamResult(dict):
    def __init__(__self__, *,
                 param_name: str,
                 param_value: str):
        """
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemConfigurationVerifyTextResult(dict):
    def __init__(__self__, *,
                 text: str):
        """
        :param str text: Verification text in the response.
        """
        pulumi.set(__self__, "text", text)

    @property
    @pulumi.getter
    def text(self) -> str:
        """
        Verification text in the response.
        """
        return pulumi.get(self, "text")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemMaintenanceWindowScheduleResult(dict):
    def __init__(__self__, *,
                 time_ended: str,
                 time_started: str):
        """
        :param str time_ended: End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_started: Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        pulumi.set(__self__, "time_ended", time_ended)
        pulumi.set(__self__, "time_started", time_started)

    @property
    @pulumi.getter(name="timeEnded")
    def time_ended(self) -> str:
        """
        End time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_ended")

    @property
    @pulumi.getter(name="timeStarted")
    def time_started(self) -> str:
        """
        Start time for the maintenance window, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_started")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemScriptParameterResult(dict):
    def __init__(__self__, *,
                 is_overwritten: bool,
                 is_secret: bool,
                 monitor_script_parameters: Sequence['outputs.GetMonitorsMonitorCollectionItemScriptParameterMonitorScriptParameterResult'],
                 param_name: str,
                 param_value: str):
        """
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        :param Sequence['GetMonitorsMonitorCollectionItemScriptParameterMonitorScriptParameterArgs'] monitor_script_parameters: Details of the script parameter that can be used to overwrite the parameter present in the script.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "is_overwritten", is_overwritten)
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "monitor_script_parameters", monitor_script_parameters)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> bool:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        Describes if  the parameter value is secret and should be kept confidential. isSecret is specified in either CreateScript or UpdateScript API.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="monitorScriptParameters")
    def monitor_script_parameters(self) -> Sequence['outputs.GetMonitorsMonitorCollectionItemScriptParameterMonitorScriptParameterResult']:
        """
        Details of the script parameter that can be used to overwrite the parameter present in the script.
        """
        return pulumi.get(self, "monitor_script_parameters")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetMonitorsMonitorCollectionItemScriptParameterMonitorScriptParameterResult(dict):
    def __init__(__self__, *,
                 param_name: str,
                 param_value: str):
        """
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetResultResultDataSetResult(dict):
    def __init__(__self__, *,
                 byte_content: str,
                 name: str,
                 string_content: str,
                 timestamp: str):
        """
        :param str byte_content: Data content in byte format. Example: Zip or Screenshot.
        :param str name: Name of the data.
        :param str string_content: Data content in string format. Example: HAR.
        :param str timestamp: The time when the data was generated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        pulumi.set(__self__, "byte_content", byte_content)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "string_content", string_content)
        pulumi.set(__self__, "timestamp", timestamp)

    @property
    @pulumi.getter(name="byteContent")
    def byte_content(self) -> str:
        """
        Data content in byte format. Example: Zip or Screenshot.
        """
        return pulumi.get(self, "byte_content")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        Name of the data.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="stringContent")
    def string_content(self) -> str:
        """
        Data content in string format. Example: HAR.
        """
        return pulumi.get(self, "string_content")

    @property
    @pulumi.getter
    def timestamp(self) -> str:
        """
        The time when the data was generated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        return pulumi.get(self, "timestamp")


@pulumi.output_type
class GetScriptMonitorStatusCountMapResult(dict):
    def __init__(__self__, *,
                 disabled: int,
                 enabled: int,
                 invalid: int,
                 total: int):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        pulumi.set(__self__, "disabled", disabled)
        pulumi.set(__self__, "enabled", enabled)
        pulumi.set(__self__, "invalid", invalid)
        pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> int:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> int:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> int:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> int:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class GetScriptParameterResult(dict):
    def __init__(__self__, *,
                 is_overwritten: bool,
                 is_secret: bool,
                 param_name: str,
                 param_value: str,
                 script_parameters: Sequence['outputs.GetScriptParameterScriptParameterResult']):
        """
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        :param Sequence['GetScriptParameterScriptParameterArgs'] script_parameters: Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        pulumi.set(__self__, "is_overwritten", is_overwritten)
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)
        pulumi.set(__self__, "script_parameters", script_parameters)

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> bool:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")

    @property
    @pulumi.getter(name="scriptParameters")
    def script_parameters(self) -> Sequence['outputs.GetScriptParameterScriptParameterResult']:
        """
        Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        return pulumi.get(self, "script_parameters")


@pulumi.output_type
class GetScriptParameterScriptParameterResult(dict):
    def __init__(__self__, *,
                 is_secret: bool,
                 param_name: str,
                 param_value: str):
        """
        :param bool is_secret: If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetScriptsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


@pulumi.output_type
class GetScriptsScriptCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetScriptsScriptCollectionItemResult']):
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetScriptsScriptCollectionItemResult']:
        return pulumi.get(self, "items")


@pulumi.output_type
class GetScriptsScriptCollectionItemResult(dict):
    def __init__(__self__, *,
                 apm_domain_id: str,
                 content: str,
                 content_file_name: str,
                 content_size_in_bytes: int,
                 content_type: str,
                 defined_tags: Mapping[str, Any],
                 display_name: str,
                 freeform_tags: Mapping[str, Any],
                 id: str,
                 monitor_status_count_maps: Sequence['outputs.GetScriptsScriptCollectionItemMonitorStatusCountMapResult'],
                 parameters: Sequence['outputs.GetScriptsScriptCollectionItemParameterResult'],
                 time_created: str,
                 time_updated: str,
                 time_uploaded: str):
        """
        :param str apm_domain_id: The APM domain ID the request is intended for.
        :param str content: The content of the script. It may contain custom-defined tags that can be used for setting dynamic parameters. The format to set dynamic parameters is: `<ORAP><ON>param name</ON><OV>param value</OV><OS>isParamValueSecret(true/false)</OS></ORAP>`. Param value and isParamValueSecret are optional, the default value for isParamValueSecret is false. Examples: With mandatory param name : `<ORAP><ON>param name</ON></ORAP>` With parameter name and value : `<ORAP><ON>param name</ON><OV>param value</OV></ORAP>` Note that the content is valid if it matches the given content type. For example, if the content type is SIDE, then the content should be in Side script format. If the content type is JS, then the content should be in JavaScript format.
        :param str content_file_name: File name of the uploaded script content.
        :param int content_size_in_bytes: Size of the script content.
        :param str content_type: A filter to return only resources that match the content type given.
        :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        :param str display_name: A filter to return only the resources that match the entire display name.
        :param Mapping[str, Any] freeform_tags: Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        :param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) 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.
        :param Sequence['GetScriptsScriptCollectionItemMonitorStatusCountMapArgs'] monitor_status_count_maps: Details of the monitor count per state. Example: `{ "total" : 5, "enabled" : 3 , "disabled" : 2, "invalid" : 0 }`
        :param Sequence['GetScriptsScriptCollectionItemParameterArgs'] parameters: List of script parameters. Example: `[{"scriptParameter": {"paramName": "userid", "paramValue":"testuser", "isSecret": false}, "isOverwritten": false}]`
        :param str time_created: The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        :param str time_updated: The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        :param str time_uploaded: The time the script was uploaded.
        """
        pulumi.set(__self__, "apm_domain_id", apm_domain_id)
        pulumi.set(__self__, "content", content)
        pulumi.set(__self__, "content_file_name", content_file_name)
        pulumi.set(__self__, "content_size_in_bytes", content_size_in_bytes)
        pulumi.set(__self__, "content_type", content_type)
        pulumi.set(__self__, "defined_tags", defined_tags)
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "freeform_tags", freeform_tags)
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "monitor_status_count_maps", monitor_status_count_maps)
        pulumi.set(__self__, "parameters", parameters)
        pulumi.set(__self__, "time_created", time_created)
        pulumi.set(__self__, "time_updated", time_updated)
        pulumi.set(__self__, "time_uploaded", time_uploaded)

    @property
    @pulumi.getter(name="apmDomainId")
    def apm_domain_id(self) -> str:
        """
        The APM domain ID the request is intended for.
        """
        return pulumi.get(self, "apm_domain_id")

    @property
    @pulumi.getter
    def content(self) -> str:
        """
        The content of the script. It may contain custom-defined tags that can be used for setting dynamic parameters. The format to set dynamic parameters is: `<ORAP><ON>param name</ON><OV>param value</OV><OS>isParamValueSecret(true/false)</OS></ORAP>`. Param value and isParamValueSecret are optional, the default value for isParamValueSecret is false. Examples: With mandatory param name : `<ORAP><ON>param name</ON></ORAP>` With parameter name and value : `<ORAP><ON>param name</ON><OV>param value</OV></ORAP>` Note that the content is valid if it matches the given content type. For example, if the content type is SIDE, then the content should be in Side script format. If the content type is JS, then the content should be in JavaScript format.
        """
        return pulumi.get(self, "content")

    @property
    @pulumi.getter(name="contentFileName")
    def content_file_name(self) -> str:
        """
        File name of the uploaded script content.
        """
        return pulumi.get(self, "content_file_name")

    @property
    @pulumi.getter(name="contentSizeInBytes")
    def content_size_in_bytes(self) -> int:
        """
        Size of the script content.
        """
        return pulumi.get(self, "content_size_in_bytes")

    @property
    @pulumi.getter(name="contentType")
    def content_type(self) -> str:
        """
        A filter to return only resources that match the content type given.
        """
        return pulumi.get(self, "content_type")

    @property
    @pulumi.getter(name="definedTags")
    def defined_tags(self) -> Mapping[str, Any]:
        """
        Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
        """
        return pulumi.get(self, "defined_tags")

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        A filter to return only the resources that match the entire display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter(name="freeformTags")
    def freeform_tags(self) -> Mapping[str, Any]:
        """
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
        """
        return pulumi.get(self, "freeform_tags")

    @property
    @pulumi.getter
    def id(self) -> str:
        """
        The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) 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.
        """
        return pulumi.get(self, "id")

    @property
    @pulumi.getter(name="monitorStatusCountMaps")
    def monitor_status_count_maps(self) -> Sequence['outputs.GetScriptsScriptCollectionItemMonitorStatusCountMapResult']:
        """
        Details of the monitor count per state. Example: `{ "total" : 5, "enabled" : 3 , "disabled" : 2, "invalid" : 0 }`
        """
        return pulumi.get(self, "monitor_status_count_maps")

    @property
    @pulumi.getter
    def parameters(self) -> Sequence['outputs.GetScriptsScriptCollectionItemParameterResult']:
        """
        List of script parameters. Example: `[{"scriptParameter": {"paramName": "userid", "paramValue":"testuser", "isSecret": false}, "isOverwritten": false}]`
        """
        return pulumi.get(self, "parameters")

    @property
    @pulumi.getter(name="timeCreated")
    def time_created(self) -> str:
        """
        The time the resource was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-12T22:47:12.613Z`
        """
        return pulumi.get(self, "time_created")

    @property
    @pulumi.getter(name="timeUpdated")
    def time_updated(self) -> str:
        """
        The time the resource was updated, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. Example: `2020-02-13T22:47:12.613Z`
        """
        return pulumi.get(self, "time_updated")

    @property
    @pulumi.getter(name="timeUploaded")
    def time_uploaded(self) -> str:
        """
        The time the script was uploaded.
        """
        return pulumi.get(self, "time_uploaded")


@pulumi.output_type
class GetScriptsScriptCollectionItemMonitorStatusCountMapResult(dict):
    def __init__(__self__, *,
                 disabled: int,
                 enabled: int,
                 invalid: int,
                 total: int):
        """
        :param int disabled: Number of disabled monitors using the script.
        :param int enabled: Number of enabled monitors using the script.
        :param int invalid: Number of invalid monitors using the script.
        :param int total: Total number of monitors using the script.
        """
        pulumi.set(__self__, "disabled", disabled)
        pulumi.set(__self__, "enabled", enabled)
        pulumi.set(__self__, "invalid", invalid)
        pulumi.set(__self__, "total", total)

    @property
    @pulumi.getter
    def disabled(self) -> int:
        """
        Number of disabled monitors using the script.
        """
        return pulumi.get(self, "disabled")

    @property
    @pulumi.getter
    def enabled(self) -> int:
        """
        Number of enabled monitors using the script.
        """
        return pulumi.get(self, "enabled")

    @property
    @pulumi.getter
    def invalid(self) -> int:
        """
        Number of invalid monitors using the script.
        """
        return pulumi.get(self, "invalid")

    @property
    @pulumi.getter
    def total(self) -> int:
        """
        Total number of monitors using the script.
        """
        return pulumi.get(self, "total")


@pulumi.output_type
class GetScriptsScriptCollectionItemParameterResult(dict):
    def __init__(__self__, *,
                 is_overwritten: bool,
                 is_secret: bool,
                 param_name: str,
                 param_value: str,
                 script_parameters: Sequence['outputs.GetScriptsScriptCollectionItemParameterScriptParameterResult']):
        """
        :param bool is_overwritten: If parameter value is default or overwritten.
        :param bool is_secret: If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        :param Sequence['GetScriptsScriptCollectionItemParameterScriptParameterArgs'] script_parameters: Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        pulumi.set(__self__, "is_overwritten", is_overwritten)
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)
        pulumi.set(__self__, "script_parameters", script_parameters)

    @property
    @pulumi.getter(name="isOverwritten")
    def is_overwritten(self) -> bool:
        """
        If parameter value is default or overwritten.
        """
        return pulumi.get(self, "is_overwritten")

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")

    @property
    @pulumi.getter(name="scriptParameters")
    def script_parameters(self) -> Sequence['outputs.GetScriptsScriptCollectionItemParameterScriptParameterResult']:
        """
        Details of the script parameters, paramName must be from the script content and these details can be used to overwrite the default parameter present in the script content.
        """
        return pulumi.get(self, "script_parameters")


@pulumi.output_type
class GetScriptsScriptCollectionItemParameterScriptParameterResult(dict):
    def __init__(__self__, *,
                 is_secret: bool,
                 param_name: str,
                 param_value: str):
        """
        :param bool is_secret: If the parameter value is secret and should be kept confidential, then set isSecret to true.
        :param str param_name: Name of the parameter.
        :param str param_value: Value of the parameter.
        """
        pulumi.set(__self__, "is_secret", is_secret)
        pulumi.set(__self__, "param_name", param_name)
        pulumi.set(__self__, "param_value", param_value)

    @property
    @pulumi.getter(name="isSecret")
    def is_secret(self) -> bool:
        """
        If the parameter value is secret and should be kept confidential, then set isSecret to true.
        """
        return pulumi.get(self, "is_secret")

    @property
    @pulumi.getter(name="paramName")
    def param_name(self) -> str:
        """
        Name of the parameter.
        """
        return pulumi.get(self, "param_name")

    @property
    @pulumi.getter(name="paramValue")
    def param_value(self) -> str:
        """
        Value of the parameter.
        """
        return pulumi.get(self, "param_value")


@pulumi.output_type
class GetVantagePointItemResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 geos: Sequence['outputs.GetVantagePointItemGeoResult'],
                 name: str):
        """
        :param str display_name: A filter to return only the resources that match the entire display name.
        :param Sequence['GetVantagePointItemGeoArgs'] geos: Geographic summary of a vantage point.
        :param str name: A filter to return only the resources that match the entire name.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "geos", geos)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        A filter to return only the resources that match the entire display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter
    def geos(self) -> Sequence['outputs.GetVantagePointItemGeoResult']:
        """
        Geographic summary of a vantage point.
        """
        return pulumi.get(self, "geos")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A filter to return only the resources that match the entire name.
        """
        return pulumi.get(self, "name")


@pulumi.output_type
class GetVantagePointItemGeoResult(dict):
    def __init__(__self__, *,
                 admin_div_code: str,
                 city_name: str,
                 country_code: str,
                 country_name: str,
                 latitude: float,
                 longitude: float):
        """
        :param str admin_div_code: The ISO 3166-2 code for this location's first-level administrative division, either a US state or Canadian province. Only included for locations in the US or Canada. For a list of codes, see Country Codes.
        :param str city_name: Common English-language name for the city.
        :param str country_code: The ISO 3166-1 alpha-2 country code. For a list of codes, see Country Codes.
        :param str country_name: The common English-language name for the country.
        :param float latitude: Degrees north of the Equator.
        :param float longitude: Degrees east of the prime meridian.
        """
        pulumi.set(__self__, "admin_div_code", admin_div_code)
        pulumi.set(__self__, "city_name", city_name)
        pulumi.set(__self__, "country_code", country_code)
        pulumi.set(__self__, "country_name", country_name)
        pulumi.set(__self__, "latitude", latitude)
        pulumi.set(__self__, "longitude", longitude)

    @property
    @pulumi.getter(name="adminDivCode")
    def admin_div_code(self) -> str:
        """
        The ISO 3166-2 code for this location's first-level administrative division, either a US state or Canadian province. Only included for locations in the US or Canada. For a list of codes, see Country Codes.
        """
        return pulumi.get(self, "admin_div_code")

    @property
    @pulumi.getter(name="cityName")
    def city_name(self) -> str:
        """
        Common English-language name for the city.
        """
        return pulumi.get(self, "city_name")

    @property
    @pulumi.getter(name="countryCode")
    def country_code(self) -> str:
        """
        The ISO 3166-1 alpha-2 country code. For a list of codes, see Country Codes.
        """
        return pulumi.get(self, "country_code")

    @property
    @pulumi.getter(name="countryName")
    def country_name(self) -> str:
        """
        The common English-language name for the country.
        """
        return pulumi.get(self, "country_name")

    @property
    @pulumi.getter
    def latitude(self) -> float:
        """
        Degrees north of the Equator.
        """
        return pulumi.get(self, "latitude")

    @property
    @pulumi.getter
    def longitude(self) -> float:
        """
        Degrees east of the prime meridian.
        """
        return pulumi.get(self, "longitude")


@pulumi.output_type
class GetVantagePointsFilterResult(dict):
    def __init__(__self__, *,
                 name: str,
                 values: Sequence[str],
                 regex: Optional[bool] = None):
        """
        :param str name: A filter to return only the resources that match the entire name.
        """
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "values", values)
        if regex is not None:
            pulumi.set(__self__, "regex", regex)

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A filter to return only the resources that match the entire name.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter
    def values(self) -> Sequence[str]:
        return pulumi.get(self, "values")

    @property
    @pulumi.getter
    def regex(self) -> Optional[bool]:
        return pulumi.get(self, "regex")


@pulumi.output_type
class GetVantagePointsPublicVantagePointCollectionResult(dict):
    def __init__(__self__, *,
                 items: Sequence['outputs.GetVantagePointsPublicVantagePointCollectionItemResult']):
        """
        :param Sequence['GetVantagePointsPublicVantagePointCollectionItemArgs'] items: List of PublicVantagePointSummary items.
        """
        pulumi.set(__self__, "items", items)

    @property
    @pulumi.getter
    def items(self) -> Sequence['outputs.GetVantagePointsPublicVantagePointCollectionItemResult']:
        """
        List of PublicVantagePointSummary items.
        """
        return pulumi.get(self, "items")


@pulumi.output_type
class GetVantagePointsPublicVantagePointCollectionItemResult(dict):
    def __init__(__self__, *,
                 display_name: str,
                 geos: Sequence['outputs.GetVantagePointsPublicVantagePointCollectionItemGeoResult'],
                 name: str):
        """
        :param str display_name: A filter to return only the resources that match the entire display name.
        :param Sequence['GetVantagePointsPublicVantagePointCollectionItemGeoArgs'] geos: Geographic summary of a vantage point.
        :param str name: A filter to return only the resources that match the entire name.
        """
        pulumi.set(__self__, "display_name", display_name)
        pulumi.set(__self__, "geos", geos)
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter(name="displayName")
    def display_name(self) -> str:
        """
        A filter to return only the resources that match the entire display name.
        """
        return pulumi.get(self, "display_name")

    @property
    @pulumi.getter
    def geos(self) -> Sequence['outputs.GetVantagePointsPublicVantagePointCollectionItemGeoResult']:
        """
        Geographic summary of a vantage point.
        """
        return pulumi.get(self, "geos")

    @property
    @pulumi.getter
    def name(self) -> str:
        """
        A filter to return only the resources that match the entire name.
        """
        return pulumi.get(self, "name")


@pulumi.output_type
class GetVantagePointsPublicVantagePointCollectionItemGeoResult(dict):
    def __init__(__self__, *,
                 admin_div_code: str,
                 city_name: str,
                 country_code: str,
                 country_name: str,
                 latitude: float,
                 longitude: float):
        """
        :param str admin_div_code: The ISO 3166-2 code for this location's first-level administrative division, either a US state or Canadian province. Only included for locations in the US or Canada. For a list of codes, see Country Codes.
        :param str city_name: Common English-language name for the city.
        :param str country_code: The ISO 3166-1 alpha-2 country code. For a list of codes, see Country Codes.
        :param str country_name: The common English-language name for the country.
        :param float latitude: Degrees north of the Equator.
        :param float longitude: Degrees east of the prime meridian.
        """
        pulumi.set(__self__, "admin_div_code", admin_div_code)
        pulumi.set(__self__, "city_name", city_name)
        pulumi.set(__self__, "country_code", country_code)
        pulumi.set(__self__, "country_name", country_name)
        pulumi.set(__self__, "latitude", latitude)
        pulumi.set(__self__, "longitude", longitude)

    @property
    @pulumi.getter(name="adminDivCode")
    def admin_div_code(self) -> str:
        """
        The ISO 3166-2 code for this location's first-level administrative division, either a US state or Canadian province. Only included for locations in the US or Canada. For a list of codes, see Country Codes.
        """
        return pulumi.get(self, "admin_div_code")

    @property
    @pulumi.getter(name="cityName")
    def city_name(self) -> str:
        """
        Common English-language name for the city.
        """
        return pulumi.get(self, "city_name")

    @property
    @pulumi.getter(name="countryCode")
    def country_code(self) -> str:
        """
        The ISO 3166-1 alpha-2 country code. For a list of codes, see Country Codes.
        """
        return pulumi.get(self, "country_code")

    @property
    @pulumi.getter(name="countryName")
    def country_name(self) -> str:
        """
        The common English-language name for the country.
        """
        return pulumi.get(self, "country_name")

    @property
    @pulumi.getter
    def latitude(self) -> float:
        """
        Degrees north of the Equator.
        """
        return pulumi.get(self, "latitude")

    @property
    @pulumi.getter
    def longitude(self) -> float:
        """
        Degrees east of the prime meridian.
        """
        return pulumi.get(self, "longitude")


