# 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 warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from . import _utilities

__all__ = ['GtmDomainArgs', 'GtmDomain']

@pulumi.input_type
class GtmDomainArgs:
    def __init__(__self__, *,
                 type: pulumi.Input[str],
                 cname_coalescing_enabled: Optional[pulumi.Input[bool]] = None,
                 comment: Optional[pulumi.Input[str]] = None,
                 contract: Optional[pulumi.Input[str]] = None,
                 default_error_penalty: Optional[pulumi.Input[int]] = None,
                 default_ssl_client_certificate: Optional[pulumi.Input[str]] = None,
                 default_ssl_client_private_key: Optional[pulumi.Input[str]] = None,
                 default_timeout_penalty: Optional[pulumi.Input[int]] = None,
                 email_notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 end_user_mapping_enabled: Optional[pulumi.Input[bool]] = None,
                 group: Optional[pulumi.Input[str]] = None,
                 load_feedback: Optional[pulumi.Input[bool]] = None,
                 load_imbalance_percentage: Optional[pulumi.Input[float]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 wait_on_complete: Optional[pulumi.Input[bool]] = None):
        """
        The set of arguments for constructing a GtmDomain resource.
        """
        pulumi.set(__self__, "type", type)
        if cname_coalescing_enabled is not None:
            pulumi.set(__self__, "cname_coalescing_enabled", cname_coalescing_enabled)
        if comment is not None:
            pulumi.set(__self__, "comment", comment)
        if contract is not None:
            pulumi.set(__self__, "contract", contract)
        if default_error_penalty is not None:
            pulumi.set(__self__, "default_error_penalty", default_error_penalty)
        if default_ssl_client_certificate is not None:
            pulumi.set(__self__, "default_ssl_client_certificate", default_ssl_client_certificate)
        if default_ssl_client_private_key is not None:
            pulumi.set(__self__, "default_ssl_client_private_key", default_ssl_client_private_key)
        if default_timeout_penalty is not None:
            pulumi.set(__self__, "default_timeout_penalty", default_timeout_penalty)
        if email_notification_lists is not None:
            pulumi.set(__self__, "email_notification_lists", email_notification_lists)
        if end_user_mapping_enabled is not None:
            pulumi.set(__self__, "end_user_mapping_enabled", end_user_mapping_enabled)
        if group is not None:
            pulumi.set(__self__, "group", group)
        if load_feedback is not None:
            pulumi.set(__self__, "load_feedback", load_feedback)
        if load_imbalance_percentage is not None:
            pulumi.set(__self__, "load_imbalance_percentage", load_imbalance_percentage)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if wait_on_complete is not None:
            pulumi.set(__self__, "wait_on_complete", wait_on_complete)

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

    @type.setter
    def type(self, value: pulumi.Input[str]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter(name="cnameCoalescingEnabled")
    def cname_coalescing_enabled(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "cname_coalescing_enabled")

    @cname_coalescing_enabled.setter
    def cname_coalescing_enabled(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "cname_coalescing_enabled", value)

    @property
    @pulumi.getter
    def comment(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "comment")

    @comment.setter
    def comment(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "comment", value)

    @property
    @pulumi.getter
    def contract(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "contract")

    @contract.setter
    def contract(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "contract", value)

    @property
    @pulumi.getter(name="defaultErrorPenalty")
    def default_error_penalty(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "default_error_penalty")

    @default_error_penalty.setter
    def default_error_penalty(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "default_error_penalty", value)

    @property
    @pulumi.getter(name="defaultSslClientCertificate")
    def default_ssl_client_certificate(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "default_ssl_client_certificate")

    @default_ssl_client_certificate.setter
    def default_ssl_client_certificate(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "default_ssl_client_certificate", value)

    @property
    @pulumi.getter(name="defaultSslClientPrivateKey")
    def default_ssl_client_private_key(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "default_ssl_client_private_key")

    @default_ssl_client_private_key.setter
    def default_ssl_client_private_key(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "default_ssl_client_private_key", value)

    @property
    @pulumi.getter(name="defaultTimeoutPenalty")
    def default_timeout_penalty(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "default_timeout_penalty")

    @default_timeout_penalty.setter
    def default_timeout_penalty(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "default_timeout_penalty", value)

    @property
    @pulumi.getter(name="emailNotificationLists")
    def email_notification_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        return pulumi.get(self, "email_notification_lists")

    @email_notification_lists.setter
    def email_notification_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "email_notification_lists", value)

    @property
    @pulumi.getter(name="endUserMappingEnabled")
    def end_user_mapping_enabled(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "end_user_mapping_enabled")

    @end_user_mapping_enabled.setter
    def end_user_mapping_enabled(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "end_user_mapping_enabled", value)

    @property
    @pulumi.getter
    def group(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "group")

    @group.setter
    def group(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "group", value)

    @property
    @pulumi.getter(name="loadFeedback")
    def load_feedback(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "load_feedback")

    @load_feedback.setter
    def load_feedback(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "load_feedback", value)

    @property
    @pulumi.getter(name="loadImbalancePercentage")
    def load_imbalance_percentage(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "load_imbalance_percentage")

    @load_imbalance_percentage.setter
    def load_imbalance_percentage(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "load_imbalance_percentage", value)

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

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="waitOnComplete")
    def wait_on_complete(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "wait_on_complete")

    @wait_on_complete.setter
    def wait_on_complete(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "wait_on_complete", value)


@pulumi.input_type
class _GtmDomainState:
    def __init__(__self__, *,
                 cname_coalescing_enabled: Optional[pulumi.Input[bool]] = None,
                 comment: Optional[pulumi.Input[str]] = None,
                 contract: Optional[pulumi.Input[str]] = None,
                 default_error_penalty: Optional[pulumi.Input[int]] = None,
                 default_health_max: Optional[pulumi.Input[float]] = None,
                 default_health_multiplier: Optional[pulumi.Input[float]] = None,
                 default_health_threshold: Optional[pulumi.Input[float]] = None,
                 default_max_unreachable_penalty: Optional[pulumi.Input[int]] = None,
                 default_ssl_client_certificate: Optional[pulumi.Input[str]] = None,
                 default_ssl_client_private_key: Optional[pulumi.Input[str]] = None,
                 default_timeout_penalty: Optional[pulumi.Input[int]] = None,
                 default_unreachable_threshold: Optional[pulumi.Input[float]] = None,
                 email_notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 end_user_mapping_enabled: Optional[pulumi.Input[bool]] = None,
                 group: Optional[pulumi.Input[str]] = None,
                 load_feedback: Optional[pulumi.Input[bool]] = None,
                 load_imbalance_percentage: Optional[pulumi.Input[float]] = None,
                 map_update_interval: Optional[pulumi.Input[int]] = None,
                 max_properties: Optional[pulumi.Input[int]] = None,
                 max_resources: Optional[pulumi.Input[int]] = None,
                 max_test_timeout: Optional[pulumi.Input[float]] = None,
                 max_ttl: Optional[pulumi.Input[int]] = None,
                 min_pingable_region_fraction: Optional[pulumi.Input[float]] = None,
                 min_test_interval: Optional[pulumi.Input[int]] = None,
                 min_ttl: Optional[pulumi.Input[int]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 ping_interval: Optional[pulumi.Input[int]] = None,
                 ping_packet_size: Optional[pulumi.Input[int]] = None,
                 round_robin_prefix: Optional[pulumi.Input[str]] = None,
                 servermonitor_liveness_count: Optional[pulumi.Input[int]] = None,
                 servermonitor_load_count: Optional[pulumi.Input[int]] = None,
                 servermonitor_pool: Optional[pulumi.Input[str]] = None,
                 type: Optional[pulumi.Input[str]] = None,
                 wait_on_complete: Optional[pulumi.Input[bool]] = None):
        """
        Input properties used for looking up and filtering GtmDomain resources.
        """
        if cname_coalescing_enabled is not None:
            pulumi.set(__self__, "cname_coalescing_enabled", cname_coalescing_enabled)
        if comment is not None:
            pulumi.set(__self__, "comment", comment)
        if contract is not None:
            pulumi.set(__self__, "contract", contract)
        if default_error_penalty is not None:
            pulumi.set(__self__, "default_error_penalty", default_error_penalty)
        if default_health_max is not None:
            pulumi.set(__self__, "default_health_max", default_health_max)
        if default_health_multiplier is not None:
            pulumi.set(__self__, "default_health_multiplier", default_health_multiplier)
        if default_health_threshold is not None:
            pulumi.set(__self__, "default_health_threshold", default_health_threshold)
        if default_max_unreachable_penalty is not None:
            pulumi.set(__self__, "default_max_unreachable_penalty", default_max_unreachable_penalty)
        if default_ssl_client_certificate is not None:
            pulumi.set(__self__, "default_ssl_client_certificate", default_ssl_client_certificate)
        if default_ssl_client_private_key is not None:
            pulumi.set(__self__, "default_ssl_client_private_key", default_ssl_client_private_key)
        if default_timeout_penalty is not None:
            pulumi.set(__self__, "default_timeout_penalty", default_timeout_penalty)
        if default_unreachable_threshold is not None:
            pulumi.set(__self__, "default_unreachable_threshold", default_unreachable_threshold)
        if email_notification_lists is not None:
            pulumi.set(__self__, "email_notification_lists", email_notification_lists)
        if end_user_mapping_enabled is not None:
            pulumi.set(__self__, "end_user_mapping_enabled", end_user_mapping_enabled)
        if group is not None:
            pulumi.set(__self__, "group", group)
        if load_feedback is not None:
            pulumi.set(__self__, "load_feedback", load_feedback)
        if load_imbalance_percentage is not None:
            pulumi.set(__self__, "load_imbalance_percentage", load_imbalance_percentage)
        if map_update_interval is not None:
            pulumi.set(__self__, "map_update_interval", map_update_interval)
        if max_properties is not None:
            pulumi.set(__self__, "max_properties", max_properties)
        if max_resources is not None:
            pulumi.set(__self__, "max_resources", max_resources)
        if max_test_timeout is not None:
            pulumi.set(__self__, "max_test_timeout", max_test_timeout)
        if max_ttl is not None:
            pulumi.set(__self__, "max_ttl", max_ttl)
        if min_pingable_region_fraction is not None:
            pulumi.set(__self__, "min_pingable_region_fraction", min_pingable_region_fraction)
        if min_test_interval is not None:
            pulumi.set(__self__, "min_test_interval", min_test_interval)
        if min_ttl is not None:
            pulumi.set(__self__, "min_ttl", min_ttl)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if ping_interval is not None:
            pulumi.set(__self__, "ping_interval", ping_interval)
        if ping_packet_size is not None:
            pulumi.set(__self__, "ping_packet_size", ping_packet_size)
        if round_robin_prefix is not None:
            pulumi.set(__self__, "round_robin_prefix", round_robin_prefix)
        if servermonitor_liveness_count is not None:
            pulumi.set(__self__, "servermonitor_liveness_count", servermonitor_liveness_count)
        if servermonitor_load_count is not None:
            pulumi.set(__self__, "servermonitor_load_count", servermonitor_load_count)
        if servermonitor_pool is not None:
            pulumi.set(__self__, "servermonitor_pool", servermonitor_pool)
        if type is not None:
            pulumi.set(__self__, "type", type)
        if wait_on_complete is not None:
            pulumi.set(__self__, "wait_on_complete", wait_on_complete)

    @property
    @pulumi.getter(name="cnameCoalescingEnabled")
    def cname_coalescing_enabled(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "cname_coalescing_enabled")

    @cname_coalescing_enabled.setter
    def cname_coalescing_enabled(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "cname_coalescing_enabled", value)

    @property
    @pulumi.getter
    def comment(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "comment")

    @comment.setter
    def comment(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "comment", value)

    @property
    @pulumi.getter
    def contract(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "contract")

    @contract.setter
    def contract(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "contract", value)

    @property
    @pulumi.getter(name="defaultErrorPenalty")
    def default_error_penalty(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "default_error_penalty")

    @default_error_penalty.setter
    def default_error_penalty(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "default_error_penalty", value)

    @property
    @pulumi.getter(name="defaultHealthMax")
    def default_health_max(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "default_health_max")

    @default_health_max.setter
    def default_health_max(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "default_health_max", value)

    @property
    @pulumi.getter(name="defaultHealthMultiplier")
    def default_health_multiplier(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "default_health_multiplier")

    @default_health_multiplier.setter
    def default_health_multiplier(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "default_health_multiplier", value)

    @property
    @pulumi.getter(name="defaultHealthThreshold")
    def default_health_threshold(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "default_health_threshold")

    @default_health_threshold.setter
    def default_health_threshold(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "default_health_threshold", value)

    @property
    @pulumi.getter(name="defaultMaxUnreachablePenalty")
    def default_max_unreachable_penalty(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "default_max_unreachable_penalty")

    @default_max_unreachable_penalty.setter
    def default_max_unreachable_penalty(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "default_max_unreachable_penalty", value)

    @property
    @pulumi.getter(name="defaultSslClientCertificate")
    def default_ssl_client_certificate(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "default_ssl_client_certificate")

    @default_ssl_client_certificate.setter
    def default_ssl_client_certificate(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "default_ssl_client_certificate", value)

    @property
    @pulumi.getter(name="defaultSslClientPrivateKey")
    def default_ssl_client_private_key(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "default_ssl_client_private_key")

    @default_ssl_client_private_key.setter
    def default_ssl_client_private_key(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "default_ssl_client_private_key", value)

    @property
    @pulumi.getter(name="defaultTimeoutPenalty")
    def default_timeout_penalty(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "default_timeout_penalty")

    @default_timeout_penalty.setter
    def default_timeout_penalty(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "default_timeout_penalty", value)

    @property
    @pulumi.getter(name="defaultUnreachableThreshold")
    def default_unreachable_threshold(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "default_unreachable_threshold")

    @default_unreachable_threshold.setter
    def default_unreachable_threshold(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "default_unreachable_threshold", value)

    @property
    @pulumi.getter(name="emailNotificationLists")
    def email_notification_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        return pulumi.get(self, "email_notification_lists")

    @email_notification_lists.setter
    def email_notification_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "email_notification_lists", value)

    @property
    @pulumi.getter(name="endUserMappingEnabled")
    def end_user_mapping_enabled(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "end_user_mapping_enabled")

    @end_user_mapping_enabled.setter
    def end_user_mapping_enabled(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "end_user_mapping_enabled", value)

    @property
    @pulumi.getter
    def group(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "group")

    @group.setter
    def group(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "group", value)

    @property
    @pulumi.getter(name="loadFeedback")
    def load_feedback(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "load_feedback")

    @load_feedback.setter
    def load_feedback(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "load_feedback", value)

    @property
    @pulumi.getter(name="loadImbalancePercentage")
    def load_imbalance_percentage(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "load_imbalance_percentage")

    @load_imbalance_percentage.setter
    def load_imbalance_percentage(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "load_imbalance_percentage", value)

    @property
    @pulumi.getter(name="mapUpdateInterval")
    def map_update_interval(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "map_update_interval")

    @map_update_interval.setter
    def map_update_interval(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "map_update_interval", value)

    @property
    @pulumi.getter(name="maxProperties")
    def max_properties(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_properties")

    @max_properties.setter
    def max_properties(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_properties", value)

    @property
    @pulumi.getter(name="maxResources")
    def max_resources(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_resources")

    @max_resources.setter
    def max_resources(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_resources", value)

    @property
    @pulumi.getter(name="maxTestTimeout")
    def max_test_timeout(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "max_test_timeout")

    @max_test_timeout.setter
    def max_test_timeout(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "max_test_timeout", value)

    @property
    @pulumi.getter(name="maxTtl")
    def max_ttl(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "max_ttl")

    @max_ttl.setter
    def max_ttl(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "max_ttl", value)

    @property
    @pulumi.getter(name="minPingableRegionFraction")
    def min_pingable_region_fraction(self) -> Optional[pulumi.Input[float]]:
        return pulumi.get(self, "min_pingable_region_fraction")

    @min_pingable_region_fraction.setter
    def min_pingable_region_fraction(self, value: Optional[pulumi.Input[float]]):
        pulumi.set(self, "min_pingable_region_fraction", value)

    @property
    @pulumi.getter(name="minTestInterval")
    def min_test_interval(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "min_test_interval")

    @min_test_interval.setter
    def min_test_interval(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "min_test_interval", value)

    @property
    @pulumi.getter(name="minTtl")
    def min_ttl(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "min_ttl")

    @min_ttl.setter
    def min_ttl(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "min_ttl", value)

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

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="pingInterval")
    def ping_interval(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "ping_interval")

    @ping_interval.setter
    def ping_interval(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "ping_interval", value)

    @property
    @pulumi.getter(name="pingPacketSize")
    def ping_packet_size(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "ping_packet_size")

    @ping_packet_size.setter
    def ping_packet_size(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "ping_packet_size", value)

    @property
    @pulumi.getter(name="roundRobinPrefix")
    def round_robin_prefix(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "round_robin_prefix")

    @round_robin_prefix.setter
    def round_robin_prefix(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "round_robin_prefix", value)

    @property
    @pulumi.getter(name="servermonitorLivenessCount")
    def servermonitor_liveness_count(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "servermonitor_liveness_count")

    @servermonitor_liveness_count.setter
    def servermonitor_liveness_count(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "servermonitor_liveness_count", value)

    @property
    @pulumi.getter(name="servermonitorLoadCount")
    def servermonitor_load_count(self) -> Optional[pulumi.Input[int]]:
        return pulumi.get(self, "servermonitor_load_count")

    @servermonitor_load_count.setter
    def servermonitor_load_count(self, value: Optional[pulumi.Input[int]]):
        pulumi.set(self, "servermonitor_load_count", value)

    @property
    @pulumi.getter(name="servermonitorPool")
    def servermonitor_pool(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "servermonitor_pool")

    @servermonitor_pool.setter
    def servermonitor_pool(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "servermonitor_pool", value)

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[str]]:
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter(name="waitOnComplete")
    def wait_on_complete(self) -> Optional[pulumi.Input[bool]]:
        return pulumi.get(self, "wait_on_complete")

    @wait_on_complete.setter
    def wait_on_complete(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "wait_on_complete", value)


class GtmDomain(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 cname_coalescing_enabled: Optional[pulumi.Input[bool]] = None,
                 comment: Optional[pulumi.Input[str]] = None,
                 contract: Optional[pulumi.Input[str]] = None,
                 default_error_penalty: Optional[pulumi.Input[int]] = None,
                 default_ssl_client_certificate: Optional[pulumi.Input[str]] = None,
                 default_ssl_client_private_key: Optional[pulumi.Input[str]] = None,
                 default_timeout_penalty: Optional[pulumi.Input[int]] = None,
                 email_notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 end_user_mapping_enabled: Optional[pulumi.Input[bool]] = None,
                 group: Optional[pulumi.Input[str]] = None,
                 load_feedback: Optional[pulumi.Input[bool]] = None,
                 load_imbalance_percentage: Optional[pulumi.Input[float]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 type: Optional[pulumi.Input[str]] = None,
                 wait_on_complete: Optional[pulumi.Input[bool]] = None,
                 __props__=None):
        """
        Use the `GtmDomain` resource to create, configure, and import a GTM Domain, which is a basic building block of a traffic management configuration.

        > **Note** Import requires an ID with this format: `existing_domain_name`.

        ## Example Usage

        Basic usage:

        ```python
        import pulumi
        import pulumi_akamai as akamai

        demodomain = akamai.GtmDomain("demodomain",
            comment="some comment",
            contract="XXX",
            group="100",
            type="basic")
        ```
        ## Argument reference

        This resource supports these arguments:

        * `contract` - (Required) If creating a domain, the contract ID.
        * `group` - (Required) If creating a domain, the currently selected group ID.
        * `name` - (Required) The DNS name for a collection of GTM Properties.
        * `type` - (Required) Th type of GTM domain. Options include `failover-only`, `static`, `weighted`, `basic`, or `full`.
        * `wait_on_complete` - (Optional) A boolean that, if set to `true`, waits for transaction to complete.
        * `comment` - (Optional) A descriptive note about changes to the domain. The maximum is 4000 characters.
        * `email_notification_list` - (Optional) A list of email addresses to notify when a change is made to the domain.
        * `default_timeout_penalty` - (Optional) Specifies the timeout penalty score. Default is `25`.
        * `load_imbalance_percentage` - (Optional) Indicates the percentage of load imbalance factor (LIF) for the domain.
        * `default_ssl_client_private_key` - (Optional) Specifies a Base64-encoded private key that corresponds with the TLS certificate for HTTPS, SMTPS, POPS, and TCPS liveness tests.
        * `default_error_penalty` - (Optional) Specifies the download penalty score. The default is `75`. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score.
        * `cname_coalescing_enabled` - (Optional) A boolean that if set to `true`, GTM collapses CNAME redirections in DNS answers when it knows the target of the CNAME.
        * `load_feedback` - (Optional) A boolean indicating whether one or more measurements of load (resources) are defined by you and supplied by each data center in real time to balance load.
        * `default_ssl_client_certificate` - (Optional) Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS).
        * `end_user_mapping_enabled` - (Optional) A boolean indicating whether whether the GTM Domain is using end user client subnet mapping.

        ## Attribute reference

        This resource returns these computed attributes in the state file:

        * `default_unreachable_threshold`
        * `min_pingable_region_fraction`
        * `servermonitor_liveness_count`
        * `round_robin_prefix`
        * `servermonitor_load_count`
        * `ping_interval`
        * `max_ttl`
        * `default_health_max`
        * `map_update_interval`
        * `max_properties`
        * `max_resources`
        * `default_error_penalty`
        * `max_test_timeout`
        * `default_health_multiplier`
        * `servermonitor_pool`
        * `min_ttl`
        * `default_max_unreachable_penalty`
        * `default_health_threshold`
        * `min_test_interval`
        * `ping_packet_size`

        ## Schema reference

        You can download the GTM Domain backing schema from the [Global Traffic Management API](https://developer.akamai.com/api/web_performance/global_traffic_management/v1.html#domain) page.

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: GtmDomainArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Use the `GtmDomain` resource to create, configure, and import a GTM Domain, which is a basic building block of a traffic management configuration.

        > **Note** Import requires an ID with this format: `existing_domain_name`.

        ## Example Usage

        Basic usage:

        ```python
        import pulumi
        import pulumi_akamai as akamai

        demodomain = akamai.GtmDomain("demodomain",
            comment="some comment",
            contract="XXX",
            group="100",
            type="basic")
        ```
        ## Argument reference

        This resource supports these arguments:

        * `contract` - (Required) If creating a domain, the contract ID.
        * `group` - (Required) If creating a domain, the currently selected group ID.
        * `name` - (Required) The DNS name for a collection of GTM Properties.
        * `type` - (Required) Th type of GTM domain. Options include `failover-only`, `static`, `weighted`, `basic`, or `full`.
        * `wait_on_complete` - (Optional) A boolean that, if set to `true`, waits for transaction to complete.
        * `comment` - (Optional) A descriptive note about changes to the domain. The maximum is 4000 characters.
        * `email_notification_list` - (Optional) A list of email addresses to notify when a change is made to the domain.
        * `default_timeout_penalty` - (Optional) Specifies the timeout penalty score. Default is `25`.
        * `load_imbalance_percentage` - (Optional) Indicates the percentage of load imbalance factor (LIF) for the domain.
        * `default_ssl_client_private_key` - (Optional) Specifies a Base64-encoded private key that corresponds with the TLS certificate for HTTPS, SMTPS, POPS, and TCPS liveness tests.
        * `default_error_penalty` - (Optional) Specifies the download penalty score. The default is `75`. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score.
        * `cname_coalescing_enabled` - (Optional) A boolean that if set to `true`, GTM collapses CNAME redirections in DNS answers when it knows the target of the CNAME.
        * `load_feedback` - (Optional) A boolean indicating whether one or more measurements of load (resources) are defined by you and supplied by each data center in real time to balance load.
        * `default_ssl_client_certificate` - (Optional) Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS).
        * `end_user_mapping_enabled` - (Optional) A boolean indicating whether whether the GTM Domain is using end user client subnet mapping.

        ## Attribute reference

        This resource returns these computed attributes in the state file:

        * `default_unreachable_threshold`
        * `min_pingable_region_fraction`
        * `servermonitor_liveness_count`
        * `round_robin_prefix`
        * `servermonitor_load_count`
        * `ping_interval`
        * `max_ttl`
        * `default_health_max`
        * `map_update_interval`
        * `max_properties`
        * `max_resources`
        * `default_error_penalty`
        * `max_test_timeout`
        * `default_health_multiplier`
        * `servermonitor_pool`
        * `min_ttl`
        * `default_max_unreachable_penalty`
        * `default_health_threshold`
        * `min_test_interval`
        * `ping_packet_size`

        ## Schema reference

        You can download the GTM Domain backing schema from the [Global Traffic Management API](https://developer.akamai.com/api/web_performance/global_traffic_management/v1.html#domain) page.

        :param str resource_name: The name of the resource.
        :param GtmDomainArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(GtmDomainArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 cname_coalescing_enabled: Optional[pulumi.Input[bool]] = None,
                 comment: Optional[pulumi.Input[str]] = None,
                 contract: Optional[pulumi.Input[str]] = None,
                 default_error_penalty: Optional[pulumi.Input[int]] = None,
                 default_ssl_client_certificate: Optional[pulumi.Input[str]] = None,
                 default_ssl_client_private_key: Optional[pulumi.Input[str]] = None,
                 default_timeout_penalty: Optional[pulumi.Input[int]] = None,
                 email_notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 end_user_mapping_enabled: Optional[pulumi.Input[bool]] = None,
                 group: Optional[pulumi.Input[str]] = None,
                 load_feedback: Optional[pulumi.Input[bool]] = None,
                 load_imbalance_percentage: Optional[pulumi.Input[float]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 type: Optional[pulumi.Input[str]] = None,
                 wait_on_complete: Optional[pulumi.Input[bool]] = None,
                 __props__=None):
        if opts is None:
            opts = pulumi.ResourceOptions()
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.version is None:
            opts.version = _utilities.get_version()
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = GtmDomainArgs.__new__(GtmDomainArgs)

            __props__.__dict__["cname_coalescing_enabled"] = cname_coalescing_enabled
            __props__.__dict__["comment"] = comment
            __props__.__dict__["contract"] = contract
            __props__.__dict__["default_error_penalty"] = default_error_penalty
            __props__.__dict__["default_ssl_client_certificate"] = default_ssl_client_certificate
            __props__.__dict__["default_ssl_client_private_key"] = default_ssl_client_private_key
            __props__.__dict__["default_timeout_penalty"] = default_timeout_penalty
            __props__.__dict__["email_notification_lists"] = email_notification_lists
            __props__.__dict__["end_user_mapping_enabled"] = end_user_mapping_enabled
            __props__.__dict__["group"] = group
            __props__.__dict__["load_feedback"] = load_feedback
            __props__.__dict__["load_imbalance_percentage"] = load_imbalance_percentage
            __props__.__dict__["name"] = name
            if type is None and not opts.urn:
                raise TypeError("Missing required property 'type'")
            __props__.__dict__["type"] = type
            __props__.__dict__["wait_on_complete"] = wait_on_complete
            __props__.__dict__["default_health_max"] = None
            __props__.__dict__["default_health_multiplier"] = None
            __props__.__dict__["default_health_threshold"] = None
            __props__.__dict__["default_max_unreachable_penalty"] = None
            __props__.__dict__["default_unreachable_threshold"] = None
            __props__.__dict__["map_update_interval"] = None
            __props__.__dict__["max_properties"] = None
            __props__.__dict__["max_resources"] = None
            __props__.__dict__["max_test_timeout"] = None
            __props__.__dict__["max_ttl"] = None
            __props__.__dict__["min_pingable_region_fraction"] = None
            __props__.__dict__["min_test_interval"] = None
            __props__.__dict__["min_ttl"] = None
            __props__.__dict__["ping_interval"] = None
            __props__.__dict__["ping_packet_size"] = None
            __props__.__dict__["round_robin_prefix"] = None
            __props__.__dict__["servermonitor_liveness_count"] = None
            __props__.__dict__["servermonitor_load_count"] = None
            __props__.__dict__["servermonitor_pool"] = None
        alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="akamai:trafficmanagement/gtmDomain:GtmDomain")])
        opts = pulumi.ResourceOptions.merge(opts, alias_opts)
        super(GtmDomain, __self__).__init__(
            'akamai:index/gtmDomain:GtmDomain',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            cname_coalescing_enabled: Optional[pulumi.Input[bool]] = None,
            comment: Optional[pulumi.Input[str]] = None,
            contract: Optional[pulumi.Input[str]] = None,
            default_error_penalty: Optional[pulumi.Input[int]] = None,
            default_health_max: Optional[pulumi.Input[float]] = None,
            default_health_multiplier: Optional[pulumi.Input[float]] = None,
            default_health_threshold: Optional[pulumi.Input[float]] = None,
            default_max_unreachable_penalty: Optional[pulumi.Input[int]] = None,
            default_ssl_client_certificate: Optional[pulumi.Input[str]] = None,
            default_ssl_client_private_key: Optional[pulumi.Input[str]] = None,
            default_timeout_penalty: Optional[pulumi.Input[int]] = None,
            default_unreachable_threshold: Optional[pulumi.Input[float]] = None,
            email_notification_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            end_user_mapping_enabled: Optional[pulumi.Input[bool]] = None,
            group: Optional[pulumi.Input[str]] = None,
            load_feedback: Optional[pulumi.Input[bool]] = None,
            load_imbalance_percentage: Optional[pulumi.Input[float]] = None,
            map_update_interval: Optional[pulumi.Input[int]] = None,
            max_properties: Optional[pulumi.Input[int]] = None,
            max_resources: Optional[pulumi.Input[int]] = None,
            max_test_timeout: Optional[pulumi.Input[float]] = None,
            max_ttl: Optional[pulumi.Input[int]] = None,
            min_pingable_region_fraction: Optional[pulumi.Input[float]] = None,
            min_test_interval: Optional[pulumi.Input[int]] = None,
            min_ttl: Optional[pulumi.Input[int]] = None,
            name: Optional[pulumi.Input[str]] = None,
            ping_interval: Optional[pulumi.Input[int]] = None,
            ping_packet_size: Optional[pulumi.Input[int]] = None,
            round_robin_prefix: Optional[pulumi.Input[str]] = None,
            servermonitor_liveness_count: Optional[pulumi.Input[int]] = None,
            servermonitor_load_count: Optional[pulumi.Input[int]] = None,
            servermonitor_pool: Optional[pulumi.Input[str]] = None,
            type: Optional[pulumi.Input[str]] = None,
            wait_on_complete: Optional[pulumi.Input[bool]] = None) -> 'GtmDomain':
        """
        Get an existing GtmDomain resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _GtmDomainState.__new__(_GtmDomainState)

        __props__.__dict__["cname_coalescing_enabled"] = cname_coalescing_enabled
        __props__.__dict__["comment"] = comment
        __props__.__dict__["contract"] = contract
        __props__.__dict__["default_error_penalty"] = default_error_penalty
        __props__.__dict__["default_health_max"] = default_health_max
        __props__.__dict__["default_health_multiplier"] = default_health_multiplier
        __props__.__dict__["default_health_threshold"] = default_health_threshold
        __props__.__dict__["default_max_unreachable_penalty"] = default_max_unreachable_penalty
        __props__.__dict__["default_ssl_client_certificate"] = default_ssl_client_certificate
        __props__.__dict__["default_ssl_client_private_key"] = default_ssl_client_private_key
        __props__.__dict__["default_timeout_penalty"] = default_timeout_penalty
        __props__.__dict__["default_unreachable_threshold"] = default_unreachable_threshold
        __props__.__dict__["email_notification_lists"] = email_notification_lists
        __props__.__dict__["end_user_mapping_enabled"] = end_user_mapping_enabled
        __props__.__dict__["group"] = group
        __props__.__dict__["load_feedback"] = load_feedback
        __props__.__dict__["load_imbalance_percentage"] = load_imbalance_percentage
        __props__.__dict__["map_update_interval"] = map_update_interval
        __props__.__dict__["max_properties"] = max_properties
        __props__.__dict__["max_resources"] = max_resources
        __props__.__dict__["max_test_timeout"] = max_test_timeout
        __props__.__dict__["max_ttl"] = max_ttl
        __props__.__dict__["min_pingable_region_fraction"] = min_pingable_region_fraction
        __props__.__dict__["min_test_interval"] = min_test_interval
        __props__.__dict__["min_ttl"] = min_ttl
        __props__.__dict__["name"] = name
        __props__.__dict__["ping_interval"] = ping_interval
        __props__.__dict__["ping_packet_size"] = ping_packet_size
        __props__.__dict__["round_robin_prefix"] = round_robin_prefix
        __props__.__dict__["servermonitor_liveness_count"] = servermonitor_liveness_count
        __props__.__dict__["servermonitor_load_count"] = servermonitor_load_count
        __props__.__dict__["servermonitor_pool"] = servermonitor_pool
        __props__.__dict__["type"] = type
        __props__.__dict__["wait_on_complete"] = wait_on_complete
        return GtmDomain(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="cnameCoalescingEnabled")
    def cname_coalescing_enabled(self) -> pulumi.Output[Optional[bool]]:
        return pulumi.get(self, "cname_coalescing_enabled")

    @property
    @pulumi.getter
    def comment(self) -> pulumi.Output[Optional[str]]:
        return pulumi.get(self, "comment")

    @property
    @pulumi.getter
    def contract(self) -> pulumi.Output[Optional[str]]:
        return pulumi.get(self, "contract")

    @property
    @pulumi.getter(name="defaultErrorPenalty")
    def default_error_penalty(self) -> pulumi.Output[Optional[int]]:
        return pulumi.get(self, "default_error_penalty")

    @property
    @pulumi.getter(name="defaultHealthMax")
    def default_health_max(self) -> pulumi.Output[float]:
        return pulumi.get(self, "default_health_max")

    @property
    @pulumi.getter(name="defaultHealthMultiplier")
    def default_health_multiplier(self) -> pulumi.Output[float]:
        return pulumi.get(self, "default_health_multiplier")

    @property
    @pulumi.getter(name="defaultHealthThreshold")
    def default_health_threshold(self) -> pulumi.Output[float]:
        return pulumi.get(self, "default_health_threshold")

    @property
    @pulumi.getter(name="defaultMaxUnreachablePenalty")
    def default_max_unreachable_penalty(self) -> pulumi.Output[int]:
        return pulumi.get(self, "default_max_unreachable_penalty")

    @property
    @pulumi.getter(name="defaultSslClientCertificate")
    def default_ssl_client_certificate(self) -> pulumi.Output[Optional[str]]:
        return pulumi.get(self, "default_ssl_client_certificate")

    @property
    @pulumi.getter(name="defaultSslClientPrivateKey")
    def default_ssl_client_private_key(self) -> pulumi.Output[Optional[str]]:
        return pulumi.get(self, "default_ssl_client_private_key")

    @property
    @pulumi.getter(name="defaultTimeoutPenalty")
    def default_timeout_penalty(self) -> pulumi.Output[Optional[int]]:
        return pulumi.get(self, "default_timeout_penalty")

    @property
    @pulumi.getter(name="defaultUnreachableThreshold")
    def default_unreachable_threshold(self) -> pulumi.Output[float]:
        return pulumi.get(self, "default_unreachable_threshold")

    @property
    @pulumi.getter(name="emailNotificationLists")
    def email_notification_lists(self) -> pulumi.Output[Optional[Sequence[str]]]:
        return pulumi.get(self, "email_notification_lists")

    @property
    @pulumi.getter(name="endUserMappingEnabled")
    def end_user_mapping_enabled(self) -> pulumi.Output[Optional[bool]]:
        return pulumi.get(self, "end_user_mapping_enabled")

    @property
    @pulumi.getter
    def group(self) -> pulumi.Output[Optional[str]]:
        return pulumi.get(self, "group")

    @property
    @pulumi.getter(name="loadFeedback")
    def load_feedback(self) -> pulumi.Output[Optional[bool]]:
        return pulumi.get(self, "load_feedback")

    @property
    @pulumi.getter(name="loadImbalancePercentage")
    def load_imbalance_percentage(self) -> pulumi.Output[Optional[float]]:
        return pulumi.get(self, "load_imbalance_percentage")

    @property
    @pulumi.getter(name="mapUpdateInterval")
    def map_update_interval(self) -> pulumi.Output[int]:
        return pulumi.get(self, "map_update_interval")

    @property
    @pulumi.getter(name="maxProperties")
    def max_properties(self) -> pulumi.Output[int]:
        return pulumi.get(self, "max_properties")

    @property
    @pulumi.getter(name="maxResources")
    def max_resources(self) -> pulumi.Output[int]:
        return pulumi.get(self, "max_resources")

    @property
    @pulumi.getter(name="maxTestTimeout")
    def max_test_timeout(self) -> pulumi.Output[float]:
        return pulumi.get(self, "max_test_timeout")

    @property
    @pulumi.getter(name="maxTtl")
    def max_ttl(self) -> pulumi.Output[int]:
        return pulumi.get(self, "max_ttl")

    @property
    @pulumi.getter(name="minPingableRegionFraction")
    def min_pingable_region_fraction(self) -> pulumi.Output[float]:
        return pulumi.get(self, "min_pingable_region_fraction")

    @property
    @pulumi.getter(name="minTestInterval")
    def min_test_interval(self) -> pulumi.Output[int]:
        return pulumi.get(self, "min_test_interval")

    @property
    @pulumi.getter(name="minTtl")
    def min_ttl(self) -> pulumi.Output[int]:
        return pulumi.get(self, "min_ttl")

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

    @property
    @pulumi.getter(name="pingInterval")
    def ping_interval(self) -> pulumi.Output[int]:
        return pulumi.get(self, "ping_interval")

    @property
    @pulumi.getter(name="pingPacketSize")
    def ping_packet_size(self) -> pulumi.Output[int]:
        return pulumi.get(self, "ping_packet_size")

    @property
    @pulumi.getter(name="roundRobinPrefix")
    def round_robin_prefix(self) -> pulumi.Output[str]:
        return pulumi.get(self, "round_robin_prefix")

    @property
    @pulumi.getter(name="servermonitorLivenessCount")
    def servermonitor_liveness_count(self) -> pulumi.Output[int]:
        return pulumi.get(self, "servermonitor_liveness_count")

    @property
    @pulumi.getter(name="servermonitorLoadCount")
    def servermonitor_load_count(self) -> pulumi.Output[int]:
        return pulumi.get(self, "servermonitor_load_count")

    @property
    @pulumi.getter(name="servermonitorPool")
    def servermonitor_pool(self) -> pulumi.Output[str]:
        return pulumi.get(self, "servermonitor_pool")

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

    @property
    @pulumi.getter(name="waitOnComplete")
    def wait_on_complete(self) -> pulumi.Output[Optional[bool]]:
        return pulumi.get(self, "wait_on_complete")

