# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'DomainAdmin',
    'DomainBilling',
    'DomainOwner',
    'DomainTech',
]

@pulumi.output_type
class DomainAdmin(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "familyName":
            suggest = "family_name"
        elif key == "givenName":
            suggest = "given_name"
        elif key == "streetAddr":
            suggest = "street_addr"
        elif key == "dataObfuscated":
            suggest = "data_obfuscated"
        elif key == "extraParameters":
            suggest = "extra_parameters"
        elif key == "mailObfuscated":
            suggest = "mail_obfuscated"

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

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

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

    def __init__(__self__, *,
                 city: _builtins.str,
                 country: _builtins.str,
                 email: _builtins.str,
                 family_name: _builtins.str,
                 given_name: _builtins.str,
                 phone: _builtins.str,
                 street_addr: _builtins.str,
                 type: _builtins.str,
                 zip: _builtins.str,
                 data_obfuscated: Optional[_builtins.bool] = None,
                 extra_parameters: Optional[Mapping[str, _builtins.str]] = None,
                 mail_obfuscated: Optional[_builtins.bool] = None,
                 organisation: Optional[_builtins.str] = None,
                 state: Optional[_builtins.str] = None):
        """
        :param _builtins.str city: City for the contact
        :param _builtins.str country: The two letter country code for the contact
        :param _builtins.str email: Contact email address
        :param _builtins.str family_name: Family name of the contact
        :param _builtins.str given_name: Given name of the contact
        :param _builtins.str phone: Phone number for the contact
        :param _builtins.str street_addr: Street Address of the contact
        :param _builtins.str type: One of 'person', 'company', 'association', 'public body', or 'reseller'
        :param _builtins.str zip: Postal Code/Zipcode of the contact
        :param _builtins.bool data_obfuscated: Whether or not to obfuscate contact data in WHOIS
        :param Mapping[str, _builtins.str] extra_parameters: Extra parameters, needed for some jurisdictions
        :param _builtins.bool mail_obfuscated: Whether or not to obfuscate contact email in WHOIS
        :param _builtins.str organisation: The legal name of the organisation. Required for types other than person
        :param _builtins.str state: The state code for the contact
        """
        pulumi.set(__self__, "city", city)
        pulumi.set(__self__, "country", country)
        pulumi.set(__self__, "email", email)
        pulumi.set(__self__, "family_name", family_name)
        pulumi.set(__self__, "given_name", given_name)
        pulumi.set(__self__, "phone", phone)
        pulumi.set(__self__, "street_addr", street_addr)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "zip", zip)
        if data_obfuscated is not None:
            pulumi.set(__self__, "data_obfuscated", data_obfuscated)
        if extra_parameters is not None:
            pulumi.set(__self__, "extra_parameters", extra_parameters)
        if mail_obfuscated is not None:
            pulumi.set(__self__, "mail_obfuscated", mail_obfuscated)
        if organisation is not None:
            pulumi.set(__self__, "organisation", organisation)
        if state is not None:
            pulumi.set(__self__, "state", state)

    @_builtins.property
    @pulumi.getter
    def city(self) -> _builtins.str:
        """
        City for the contact
        """
        return pulumi.get(self, "city")

    @_builtins.property
    @pulumi.getter
    def country(self) -> _builtins.str:
        """
        The two letter country code for the contact
        """
        return pulumi.get(self, "country")

    @_builtins.property
    @pulumi.getter
    def email(self) -> _builtins.str:
        """
        Contact email address
        """
        return pulumi.get(self, "email")

    @_builtins.property
    @pulumi.getter(name="familyName")
    def family_name(self) -> _builtins.str:
        """
        Family name of the contact
        """
        return pulumi.get(self, "family_name")

    @_builtins.property
    @pulumi.getter(name="givenName")
    def given_name(self) -> _builtins.str:
        """
        Given name of the contact
        """
        return pulumi.get(self, "given_name")

    @_builtins.property
    @pulumi.getter
    def phone(self) -> _builtins.str:
        """
        Phone number for the contact
        """
        return pulumi.get(self, "phone")

    @_builtins.property
    @pulumi.getter(name="streetAddr")
    def street_addr(self) -> _builtins.str:
        """
        Street Address of the contact
        """
        return pulumi.get(self, "street_addr")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        """
        One of 'person', 'company', 'association', 'public body', or 'reseller'
        """
        return pulumi.get(self, "type")

    @_builtins.property
    @pulumi.getter
    def zip(self) -> _builtins.str:
        """
        Postal Code/Zipcode of the contact
        """
        return pulumi.get(self, "zip")

    @_builtins.property
    @pulumi.getter(name="dataObfuscated")
    def data_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact data in WHOIS
        """
        return pulumi.get(self, "data_obfuscated")

    @_builtins.property
    @pulumi.getter(name="extraParameters")
    def extra_parameters(self) -> Optional[Mapping[str, _builtins.str]]:
        """
        Extra parameters, needed for some jurisdictions
        """
        return pulumi.get(self, "extra_parameters")

    @_builtins.property
    @pulumi.getter(name="mailObfuscated")
    def mail_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact email in WHOIS
        """
        return pulumi.get(self, "mail_obfuscated")

    @_builtins.property
    @pulumi.getter
    def organisation(self) -> Optional[_builtins.str]:
        """
        The legal name of the organisation. Required for types other than person
        """
        return pulumi.get(self, "organisation")

    @_builtins.property
    @pulumi.getter
    def state(self) -> Optional[_builtins.str]:
        """
        The state code for the contact
        """
        return pulumi.get(self, "state")


@pulumi.output_type
class DomainBilling(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "familyName":
            suggest = "family_name"
        elif key == "givenName":
            suggest = "given_name"
        elif key == "streetAddr":
            suggest = "street_addr"
        elif key == "dataObfuscated":
            suggest = "data_obfuscated"
        elif key == "extraParameters":
            suggest = "extra_parameters"
        elif key == "mailObfuscated":
            suggest = "mail_obfuscated"

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

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

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

    def __init__(__self__, *,
                 city: _builtins.str,
                 country: _builtins.str,
                 email: _builtins.str,
                 family_name: _builtins.str,
                 given_name: _builtins.str,
                 phone: _builtins.str,
                 street_addr: _builtins.str,
                 type: _builtins.str,
                 zip: _builtins.str,
                 data_obfuscated: Optional[_builtins.bool] = None,
                 extra_parameters: Optional[Mapping[str, _builtins.str]] = None,
                 mail_obfuscated: Optional[_builtins.bool] = None,
                 organisation: Optional[_builtins.str] = None,
                 state: Optional[_builtins.str] = None):
        """
        :param _builtins.str city: City for the contact
        :param _builtins.str country: The two letter country code for the contact
        :param _builtins.str email: Contact email address
        :param _builtins.str family_name: Family name of the contact
        :param _builtins.str given_name: Given name of the contact
        :param _builtins.str phone: Phone number for the contact
        :param _builtins.str street_addr: Street Address of the contact
        :param _builtins.str type: One of 'person', 'company', 'association', 'public body', or 'reseller'
        :param _builtins.str zip: Postal Code/Zipcode of the contact
        :param _builtins.bool data_obfuscated: Whether or not to obfuscate contact data in WHOIS
        :param Mapping[str, _builtins.str] extra_parameters: Extra parameters, needed for some jurisdictions
        :param _builtins.bool mail_obfuscated: Whether or not to obfuscate contact email in WHOIS
        :param _builtins.str organisation: The legal name of the organisation. Required for types other than person
        :param _builtins.str state: The state code for the contact
        """
        pulumi.set(__self__, "city", city)
        pulumi.set(__self__, "country", country)
        pulumi.set(__self__, "email", email)
        pulumi.set(__self__, "family_name", family_name)
        pulumi.set(__self__, "given_name", given_name)
        pulumi.set(__self__, "phone", phone)
        pulumi.set(__self__, "street_addr", street_addr)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "zip", zip)
        if data_obfuscated is not None:
            pulumi.set(__self__, "data_obfuscated", data_obfuscated)
        if extra_parameters is not None:
            pulumi.set(__self__, "extra_parameters", extra_parameters)
        if mail_obfuscated is not None:
            pulumi.set(__self__, "mail_obfuscated", mail_obfuscated)
        if organisation is not None:
            pulumi.set(__self__, "organisation", organisation)
        if state is not None:
            pulumi.set(__self__, "state", state)

    @_builtins.property
    @pulumi.getter
    def city(self) -> _builtins.str:
        """
        City for the contact
        """
        return pulumi.get(self, "city")

    @_builtins.property
    @pulumi.getter
    def country(self) -> _builtins.str:
        """
        The two letter country code for the contact
        """
        return pulumi.get(self, "country")

    @_builtins.property
    @pulumi.getter
    def email(self) -> _builtins.str:
        """
        Contact email address
        """
        return pulumi.get(self, "email")

    @_builtins.property
    @pulumi.getter(name="familyName")
    def family_name(self) -> _builtins.str:
        """
        Family name of the contact
        """
        return pulumi.get(self, "family_name")

    @_builtins.property
    @pulumi.getter(name="givenName")
    def given_name(self) -> _builtins.str:
        """
        Given name of the contact
        """
        return pulumi.get(self, "given_name")

    @_builtins.property
    @pulumi.getter
    def phone(self) -> _builtins.str:
        """
        Phone number for the contact
        """
        return pulumi.get(self, "phone")

    @_builtins.property
    @pulumi.getter(name="streetAddr")
    def street_addr(self) -> _builtins.str:
        """
        Street Address of the contact
        """
        return pulumi.get(self, "street_addr")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        """
        One of 'person', 'company', 'association', 'public body', or 'reseller'
        """
        return pulumi.get(self, "type")

    @_builtins.property
    @pulumi.getter
    def zip(self) -> _builtins.str:
        """
        Postal Code/Zipcode of the contact
        """
        return pulumi.get(self, "zip")

    @_builtins.property
    @pulumi.getter(name="dataObfuscated")
    def data_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact data in WHOIS
        """
        return pulumi.get(self, "data_obfuscated")

    @_builtins.property
    @pulumi.getter(name="extraParameters")
    def extra_parameters(self) -> Optional[Mapping[str, _builtins.str]]:
        """
        Extra parameters, needed for some jurisdictions
        """
        return pulumi.get(self, "extra_parameters")

    @_builtins.property
    @pulumi.getter(name="mailObfuscated")
    def mail_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact email in WHOIS
        """
        return pulumi.get(self, "mail_obfuscated")

    @_builtins.property
    @pulumi.getter
    def organisation(self) -> Optional[_builtins.str]:
        """
        The legal name of the organisation. Required for types other than person
        """
        return pulumi.get(self, "organisation")

    @_builtins.property
    @pulumi.getter
    def state(self) -> Optional[_builtins.str]:
        """
        The state code for the contact
        """
        return pulumi.get(self, "state")


@pulumi.output_type
class DomainOwner(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "familyName":
            suggest = "family_name"
        elif key == "givenName":
            suggest = "given_name"
        elif key == "streetAddr":
            suggest = "street_addr"
        elif key == "dataObfuscated":
            suggest = "data_obfuscated"
        elif key == "extraParameters":
            suggest = "extra_parameters"
        elif key == "mailObfuscated":
            suggest = "mail_obfuscated"

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

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

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

    def __init__(__self__, *,
                 city: _builtins.str,
                 country: _builtins.str,
                 email: _builtins.str,
                 family_name: _builtins.str,
                 given_name: _builtins.str,
                 phone: _builtins.str,
                 street_addr: _builtins.str,
                 type: _builtins.str,
                 zip: _builtins.str,
                 data_obfuscated: Optional[_builtins.bool] = None,
                 extra_parameters: Optional[Mapping[str, _builtins.str]] = None,
                 mail_obfuscated: Optional[_builtins.bool] = None,
                 organisation: Optional[_builtins.str] = None,
                 state: Optional[_builtins.str] = None):
        """
        :param _builtins.str city: City for the contact
        :param _builtins.str country: The two letter country code for the contact
        :param _builtins.str email: Contact email address
        :param _builtins.str family_name: Family name of the contact
        :param _builtins.str given_name: Given name of the contact
        :param _builtins.str phone: Phone number for the contact
        :param _builtins.str street_addr: Street Address of the contact
        :param _builtins.str type: One of 'person', 'company', 'association', 'public body', or 'reseller'
        :param _builtins.str zip: Postal Code/Zipcode of the contact
        :param _builtins.bool data_obfuscated: Whether or not to obfuscate contact data in WHOIS
        :param Mapping[str, _builtins.str] extra_parameters: Extra parameters, needed for some jurisdictions
        :param _builtins.bool mail_obfuscated: Whether or not to obfuscate contact email in WHOIS
        :param _builtins.str organisation: The legal name of the organisation. Required for types other than person
        :param _builtins.str state: The state code for the contact
        """
        pulumi.set(__self__, "city", city)
        pulumi.set(__self__, "country", country)
        pulumi.set(__self__, "email", email)
        pulumi.set(__self__, "family_name", family_name)
        pulumi.set(__self__, "given_name", given_name)
        pulumi.set(__self__, "phone", phone)
        pulumi.set(__self__, "street_addr", street_addr)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "zip", zip)
        if data_obfuscated is not None:
            pulumi.set(__self__, "data_obfuscated", data_obfuscated)
        if extra_parameters is not None:
            pulumi.set(__self__, "extra_parameters", extra_parameters)
        if mail_obfuscated is not None:
            pulumi.set(__self__, "mail_obfuscated", mail_obfuscated)
        if organisation is not None:
            pulumi.set(__self__, "organisation", organisation)
        if state is not None:
            pulumi.set(__self__, "state", state)

    @_builtins.property
    @pulumi.getter
    def city(self) -> _builtins.str:
        """
        City for the contact
        """
        return pulumi.get(self, "city")

    @_builtins.property
    @pulumi.getter
    def country(self) -> _builtins.str:
        """
        The two letter country code for the contact
        """
        return pulumi.get(self, "country")

    @_builtins.property
    @pulumi.getter
    def email(self) -> _builtins.str:
        """
        Contact email address
        """
        return pulumi.get(self, "email")

    @_builtins.property
    @pulumi.getter(name="familyName")
    def family_name(self) -> _builtins.str:
        """
        Family name of the contact
        """
        return pulumi.get(self, "family_name")

    @_builtins.property
    @pulumi.getter(name="givenName")
    def given_name(self) -> _builtins.str:
        """
        Given name of the contact
        """
        return pulumi.get(self, "given_name")

    @_builtins.property
    @pulumi.getter
    def phone(self) -> _builtins.str:
        """
        Phone number for the contact
        """
        return pulumi.get(self, "phone")

    @_builtins.property
    @pulumi.getter(name="streetAddr")
    def street_addr(self) -> _builtins.str:
        """
        Street Address of the contact
        """
        return pulumi.get(self, "street_addr")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        """
        One of 'person', 'company', 'association', 'public body', or 'reseller'
        """
        return pulumi.get(self, "type")

    @_builtins.property
    @pulumi.getter
    def zip(self) -> _builtins.str:
        """
        Postal Code/Zipcode of the contact
        """
        return pulumi.get(self, "zip")

    @_builtins.property
    @pulumi.getter(name="dataObfuscated")
    def data_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact data in WHOIS
        """
        return pulumi.get(self, "data_obfuscated")

    @_builtins.property
    @pulumi.getter(name="extraParameters")
    def extra_parameters(self) -> Optional[Mapping[str, _builtins.str]]:
        """
        Extra parameters, needed for some jurisdictions
        """
        return pulumi.get(self, "extra_parameters")

    @_builtins.property
    @pulumi.getter(name="mailObfuscated")
    def mail_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact email in WHOIS
        """
        return pulumi.get(self, "mail_obfuscated")

    @_builtins.property
    @pulumi.getter
    def organisation(self) -> Optional[_builtins.str]:
        """
        The legal name of the organisation. Required for types other than person
        """
        return pulumi.get(self, "organisation")

    @_builtins.property
    @pulumi.getter
    def state(self) -> Optional[_builtins.str]:
        """
        The state code for the contact
        """
        return pulumi.get(self, "state")


@pulumi.output_type
class DomainTech(dict):
    @staticmethod
    def __key_warning(key: str):
        suggest = None
        if key == "familyName":
            suggest = "family_name"
        elif key == "givenName":
            suggest = "given_name"
        elif key == "streetAddr":
            suggest = "street_addr"
        elif key == "dataObfuscated":
            suggest = "data_obfuscated"
        elif key == "extraParameters":
            suggest = "extra_parameters"
        elif key == "mailObfuscated":
            suggest = "mail_obfuscated"

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

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

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

    def __init__(__self__, *,
                 city: _builtins.str,
                 country: _builtins.str,
                 email: _builtins.str,
                 family_name: _builtins.str,
                 given_name: _builtins.str,
                 phone: _builtins.str,
                 street_addr: _builtins.str,
                 type: _builtins.str,
                 zip: _builtins.str,
                 data_obfuscated: Optional[_builtins.bool] = None,
                 extra_parameters: Optional[Mapping[str, _builtins.str]] = None,
                 mail_obfuscated: Optional[_builtins.bool] = None,
                 organisation: Optional[_builtins.str] = None,
                 state: Optional[_builtins.str] = None):
        """
        :param _builtins.str city: City for the contact
        :param _builtins.str country: The two letter country code for the contact
        :param _builtins.str email: Contact email address
        :param _builtins.str family_name: Family name of the contact
        :param _builtins.str given_name: Given name of the contact
        :param _builtins.str phone: Phone number for the contact
        :param _builtins.str street_addr: Street Address of the contact
        :param _builtins.str type: One of 'person', 'company', 'association', 'public body', or 'reseller'
        :param _builtins.str zip: Postal Code/Zipcode of the contact
        :param _builtins.bool data_obfuscated: Whether or not to obfuscate contact data in WHOIS
        :param Mapping[str, _builtins.str] extra_parameters: Extra parameters, needed for some jurisdictions
        :param _builtins.bool mail_obfuscated: Whether or not to obfuscate contact email in WHOIS
        :param _builtins.str organisation: The legal name of the organisation. Required for types other than person
        :param _builtins.str state: The state code for the contact
        """
        pulumi.set(__self__, "city", city)
        pulumi.set(__self__, "country", country)
        pulumi.set(__self__, "email", email)
        pulumi.set(__self__, "family_name", family_name)
        pulumi.set(__self__, "given_name", given_name)
        pulumi.set(__self__, "phone", phone)
        pulumi.set(__self__, "street_addr", street_addr)
        pulumi.set(__self__, "type", type)
        pulumi.set(__self__, "zip", zip)
        if data_obfuscated is not None:
            pulumi.set(__self__, "data_obfuscated", data_obfuscated)
        if extra_parameters is not None:
            pulumi.set(__self__, "extra_parameters", extra_parameters)
        if mail_obfuscated is not None:
            pulumi.set(__self__, "mail_obfuscated", mail_obfuscated)
        if organisation is not None:
            pulumi.set(__self__, "organisation", organisation)
        if state is not None:
            pulumi.set(__self__, "state", state)

    @_builtins.property
    @pulumi.getter
    def city(self) -> _builtins.str:
        """
        City for the contact
        """
        return pulumi.get(self, "city")

    @_builtins.property
    @pulumi.getter
    def country(self) -> _builtins.str:
        """
        The two letter country code for the contact
        """
        return pulumi.get(self, "country")

    @_builtins.property
    @pulumi.getter
    def email(self) -> _builtins.str:
        """
        Contact email address
        """
        return pulumi.get(self, "email")

    @_builtins.property
    @pulumi.getter(name="familyName")
    def family_name(self) -> _builtins.str:
        """
        Family name of the contact
        """
        return pulumi.get(self, "family_name")

    @_builtins.property
    @pulumi.getter(name="givenName")
    def given_name(self) -> _builtins.str:
        """
        Given name of the contact
        """
        return pulumi.get(self, "given_name")

    @_builtins.property
    @pulumi.getter
    def phone(self) -> _builtins.str:
        """
        Phone number for the contact
        """
        return pulumi.get(self, "phone")

    @_builtins.property
    @pulumi.getter(name="streetAddr")
    def street_addr(self) -> _builtins.str:
        """
        Street Address of the contact
        """
        return pulumi.get(self, "street_addr")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        """
        One of 'person', 'company', 'association', 'public body', or 'reseller'
        """
        return pulumi.get(self, "type")

    @_builtins.property
    @pulumi.getter
    def zip(self) -> _builtins.str:
        """
        Postal Code/Zipcode of the contact
        """
        return pulumi.get(self, "zip")

    @_builtins.property
    @pulumi.getter(name="dataObfuscated")
    def data_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact data in WHOIS
        """
        return pulumi.get(self, "data_obfuscated")

    @_builtins.property
    @pulumi.getter(name="extraParameters")
    def extra_parameters(self) -> Optional[Mapping[str, _builtins.str]]:
        """
        Extra parameters, needed for some jurisdictions
        """
        return pulumi.get(self, "extra_parameters")

    @_builtins.property
    @pulumi.getter(name="mailObfuscated")
    def mail_obfuscated(self) -> Optional[_builtins.bool]:
        """
        Whether or not to obfuscate contact email in WHOIS
        """
        return pulumi.get(self, "mail_obfuscated")

    @_builtins.property
    @pulumi.getter
    def organisation(self) -> Optional[_builtins.str]:
        """
        The legal name of the organisation. Required for types other than person
        """
        return pulumi.get(self, "organisation")

    @_builtins.property
    @pulumi.getter
    def state(self) -> Optional[_builtins.str]:
        """
        The state code for the contact
        """
        return pulumi.get(self, "state")


