# 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 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
from . import outputs
from ._inputs import *

__all__ = ['TeamArgs', 'Team']

@pulumi.input_type
class TeamArgs:
    def __init__(__self__, *,
                 account_manage_account_settings: Optional[pulumi.Input[bool]] = None,
                 account_manage_apikeys: Optional[pulumi.Input[bool]] = None,
                 account_manage_ip_whitelist: Optional[pulumi.Input[bool]] = None,
                 account_manage_payment_methods: Optional[pulumi.Input[bool]] = None,
                 account_manage_plan: Optional[pulumi.Input[bool]] = None,
                 account_manage_teams: Optional[pulumi.Input[bool]] = None,
                 account_manage_users: Optional[pulumi.Input[bool]] = None,
                 account_view_activity_log: Optional[pulumi.Input[bool]] = None,
                 account_view_invoices: Optional[pulumi.Input[bool]] = None,
                 data_manage_datafeeds: Optional[pulumi.Input[bool]] = None,
                 data_manage_datasources: Optional[pulumi.Input[bool]] = None,
                 data_push_to_datafeeds: Optional[pulumi.Input[bool]] = None,
                 dns_manage_zones: Optional[pulumi.Input[bool]] = None,
                 dns_records_allows: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]] = None,
                 dns_records_denies: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]] = None,
                 dns_view_zones: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allow_by_default: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 dns_zones_denies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 ip_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]] = None,
                 monitoring_create_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_delete_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_lists: Optional[pulumi.Input[bool]] = None,
                 monitoring_update_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_view_jobs: Optional[pulumi.Input[bool]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 security_manage_active_directory: Optional[pulumi.Input[bool]] = None,
                 security_manage_global2fa: Optional[pulumi.Input[bool]] = None):
        """
        The set of arguments for constructing a Team resource.
        :param pulumi.Input[bool] account_manage_account_settings: Whether the team can modify account settings.
        :param pulumi.Input[bool] account_manage_apikeys: Whether the team can modify account apikeys.
        :param pulumi.Input[bool] account_manage_ip_whitelist: Whether the team can manage ip whitelist.
        :param pulumi.Input[bool] account_manage_payment_methods: Whether the team can modify account payment methods.
        :param pulumi.Input[bool] account_manage_plan: No longer in use.
        :param pulumi.Input[bool] account_manage_teams: Whether the team can modify other teams in the account.
        :param pulumi.Input[bool] account_manage_users: Whether the team can modify account users.
        :param pulumi.Input[bool] account_view_activity_log: Whether the team can view activity logs.
        :param pulumi.Input[bool] account_view_invoices: Whether the team can view invoices.
        :param pulumi.Input[bool] data_manage_datafeeds: Whether the team can modify data feeds.
        :param pulumi.Input[bool] data_manage_datasources: Whether the team can modify data sources.
        :param pulumi.Input[bool] data_push_to_datafeeds: Whether the team can publish to data feeds.
        :param pulumi.Input[bool] dns_manage_zones: Whether the team can modify the accounts zones.
        :param pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]] dns_records_allows: List of records that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]] dns_records_denies: List of records that the team may not access.
        :param pulumi.Input[bool] dns_view_zones: Whether the team can view the accounts zones.
        :param pulumi.Input[bool] dns_zones_allow_by_default: If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_allows: List of zones that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_denies: List of zones that the team may not access.
        :param pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]] ip_whitelists: Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        :param pulumi.Input[bool] monitoring_create_jobs: Whether the user can create monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_delete_jobs: Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_manage_jobs: Whether the user can create, update, and delete monitoring jobs.
        :param pulumi.Input[bool] monitoring_manage_lists: Whether the team can modify notification lists.
        :param pulumi.Input[bool] monitoring_update_jobs: Whether the user can update monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_view_jobs: Whether the team can view monitoring jobs.
        :param pulumi.Input[str] name: The free form name of the team.
        :param pulumi.Input[bool] security_manage_active_directory: Whether the team can manage global active directory.
               Only relevant for the DDI product.
        :param pulumi.Input[bool] security_manage_global2fa: Whether the team can manage global two factor authentication.
        """
        if account_manage_account_settings is not None:
            pulumi.set(__self__, "account_manage_account_settings", account_manage_account_settings)
        if account_manage_apikeys is not None:
            pulumi.set(__self__, "account_manage_apikeys", account_manage_apikeys)
        if account_manage_ip_whitelist is not None:
            pulumi.set(__self__, "account_manage_ip_whitelist", account_manage_ip_whitelist)
        if account_manage_payment_methods is not None:
            pulumi.set(__self__, "account_manage_payment_methods", account_manage_payment_methods)
        if account_manage_plan is not None:
            warnings.warn("""obsolete, should no longer be used""", DeprecationWarning)
            pulumi.log.warn("""account_manage_plan is deprecated: obsolete, should no longer be used""")
        if account_manage_plan is not None:
            pulumi.set(__self__, "account_manage_plan", account_manage_plan)
        if account_manage_teams is not None:
            pulumi.set(__self__, "account_manage_teams", account_manage_teams)
        if account_manage_users is not None:
            pulumi.set(__self__, "account_manage_users", account_manage_users)
        if account_view_activity_log is not None:
            pulumi.set(__self__, "account_view_activity_log", account_view_activity_log)
        if account_view_invoices is not None:
            pulumi.set(__self__, "account_view_invoices", account_view_invoices)
        if data_manage_datafeeds is not None:
            pulumi.set(__self__, "data_manage_datafeeds", data_manage_datafeeds)
        if data_manage_datasources is not None:
            pulumi.set(__self__, "data_manage_datasources", data_manage_datasources)
        if data_push_to_datafeeds is not None:
            pulumi.set(__self__, "data_push_to_datafeeds", data_push_to_datafeeds)
        if dns_manage_zones is not None:
            pulumi.set(__self__, "dns_manage_zones", dns_manage_zones)
        if dns_records_allows is not None:
            pulumi.set(__self__, "dns_records_allows", dns_records_allows)
        if dns_records_denies is not None:
            pulumi.set(__self__, "dns_records_denies", dns_records_denies)
        if dns_view_zones is not None:
            pulumi.set(__self__, "dns_view_zones", dns_view_zones)
        if dns_zones_allow_by_default is not None:
            pulumi.set(__self__, "dns_zones_allow_by_default", dns_zones_allow_by_default)
        if dns_zones_allows is not None:
            pulumi.set(__self__, "dns_zones_allows", dns_zones_allows)
        if dns_zones_denies is not None:
            pulumi.set(__self__, "dns_zones_denies", dns_zones_denies)
        if ip_whitelists is not None:
            pulumi.set(__self__, "ip_whitelists", ip_whitelists)
        if monitoring_create_jobs is not None:
            pulumi.set(__self__, "monitoring_create_jobs", monitoring_create_jobs)
        if monitoring_delete_jobs is not None:
            pulumi.set(__self__, "monitoring_delete_jobs", monitoring_delete_jobs)
        if monitoring_manage_jobs is not None:
            pulumi.set(__self__, "monitoring_manage_jobs", monitoring_manage_jobs)
        if monitoring_manage_lists is not None:
            pulumi.set(__self__, "monitoring_manage_lists", monitoring_manage_lists)
        if monitoring_update_jobs is not None:
            pulumi.set(__self__, "monitoring_update_jobs", monitoring_update_jobs)
        if monitoring_view_jobs is not None:
            pulumi.set(__self__, "monitoring_view_jobs", monitoring_view_jobs)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if security_manage_active_directory is not None:
            pulumi.set(__self__, "security_manage_active_directory", security_manage_active_directory)
        if security_manage_global2fa is not None:
            pulumi.set(__self__, "security_manage_global2fa", security_manage_global2fa)

    @property
    @pulumi.getter(name="accountManageAccountSettings")
    def account_manage_account_settings(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account settings.
        """
        return pulumi.get(self, "account_manage_account_settings")

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

    @property
    @pulumi.getter(name="accountManageApikeys")
    def account_manage_apikeys(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account apikeys.
        """
        return pulumi.get(self, "account_manage_apikeys")

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

    @property
    @pulumi.getter(name="accountManageIpWhitelist")
    def account_manage_ip_whitelist(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage ip whitelist.
        """
        return pulumi.get(self, "account_manage_ip_whitelist")

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

    @property
    @pulumi.getter(name="accountManagePaymentMethods")
    def account_manage_payment_methods(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account payment methods.
        """
        return pulumi.get(self, "account_manage_payment_methods")

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

    @property
    @pulumi.getter(name="accountManagePlan")
    @_utilities.deprecated("""obsolete, should no longer be used""")
    def account_manage_plan(self) -> Optional[pulumi.Input[bool]]:
        """
        No longer in use.
        """
        return pulumi.get(self, "account_manage_plan")

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

    @property
    @pulumi.getter(name="accountManageTeams")
    def account_manage_teams(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify other teams in the account.
        """
        return pulumi.get(self, "account_manage_teams")

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

    @property
    @pulumi.getter(name="accountManageUsers")
    def account_manage_users(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account users.
        """
        return pulumi.get(self, "account_manage_users")

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

    @property
    @pulumi.getter(name="accountViewActivityLog")
    def account_view_activity_log(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view activity logs.
        """
        return pulumi.get(self, "account_view_activity_log")

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

    @property
    @pulumi.getter(name="accountViewInvoices")
    def account_view_invoices(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view invoices.
        """
        return pulumi.get(self, "account_view_invoices")

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

    @property
    @pulumi.getter(name="dataManageDatafeeds")
    def data_manage_datafeeds(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify data feeds.
        """
        return pulumi.get(self, "data_manage_datafeeds")

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

    @property
    @pulumi.getter(name="dataManageDatasources")
    def data_manage_datasources(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify data sources.
        """
        return pulumi.get(self, "data_manage_datasources")

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

    @property
    @pulumi.getter(name="dataPushToDatafeeds")
    def data_push_to_datafeeds(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can publish to data feeds.
        """
        return pulumi.get(self, "data_push_to_datafeeds")

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

    @property
    @pulumi.getter(name="dnsManageZones")
    def dns_manage_zones(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify the accounts zones.
        """
        return pulumi.get(self, "dns_manage_zones")

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

    @property
    @pulumi.getter(name="dnsRecordsAllows")
    def dns_records_allows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]]:
        """
        List of records that the team may access.
        """
        return pulumi.get(self, "dns_records_allows")

    @dns_records_allows.setter
    def dns_records_allows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]]):
        pulumi.set(self, "dns_records_allows", value)

    @property
    @pulumi.getter(name="dnsRecordsDenies")
    def dns_records_denies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]]:
        """
        List of records that the team may not access.
        """
        return pulumi.get(self, "dns_records_denies")

    @dns_records_denies.setter
    def dns_records_denies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]]):
        pulumi.set(self, "dns_records_denies", value)

    @property
    @pulumi.getter(name="dnsViewZones")
    def dns_view_zones(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view the accounts zones.
        """
        return pulumi.get(self, "dns_view_zones")

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

    @property
    @pulumi.getter(name="dnsZonesAllowByDefault")
    def dns_zones_allow_by_default(self) -> Optional[pulumi.Input[bool]]:
        """
        If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        """
        return pulumi.get(self, "dns_zones_allow_by_default")

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

    @property
    @pulumi.getter(name="dnsZonesAllows")
    def dns_zones_allows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of zones that the team may access.
        """
        return pulumi.get(self, "dns_zones_allows")

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

    @property
    @pulumi.getter(name="dnsZonesDenies")
    def dns_zones_denies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of zones that the team may not access.
        """
        return pulumi.get(self, "dns_zones_denies")

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

    @property
    @pulumi.getter(name="ipWhitelists")
    def ip_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]]:
        """
        Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        """
        return pulumi.get(self, "ip_whitelists")

    @ip_whitelists.setter
    def ip_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]]):
        pulumi.set(self, "ip_whitelists", value)

    @property
    @pulumi.getter(name="monitoringCreateJobs")
    def monitoring_create_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can create monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_create_jobs")

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

    @property
    @pulumi.getter(name="monitoringDeleteJobs")
    def monitoring_delete_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_delete_jobs")

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

    @property
    @pulumi.getter(name="monitoringManageJobs")
    def monitoring_manage_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can create, update, and delete monitoring jobs.
        """
        return pulumi.get(self, "monitoring_manage_jobs")

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

    @property
    @pulumi.getter(name="monitoringManageLists")
    def monitoring_manage_lists(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify notification lists.
        """
        return pulumi.get(self, "monitoring_manage_lists")

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

    @property
    @pulumi.getter(name="monitoringUpdateJobs")
    def monitoring_update_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can update monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_update_jobs")

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

    @property
    @pulumi.getter(name="monitoringViewJobs")
    def monitoring_view_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view monitoring jobs.
        """
        return pulumi.get(self, "monitoring_view_jobs")

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        The free form name of the team.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter(name="securityManageActiveDirectory")
    def security_manage_active_directory(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage global active directory.
        Only relevant for the DDI product.
        """
        return pulumi.get(self, "security_manage_active_directory")

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

    @property
    @pulumi.getter(name="securityManageGlobal2fa")
    def security_manage_global2fa(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage global two factor authentication.
        """
        return pulumi.get(self, "security_manage_global2fa")

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


@pulumi.input_type
class _TeamState:
    def __init__(__self__, *,
                 account_manage_account_settings: Optional[pulumi.Input[bool]] = None,
                 account_manage_apikeys: Optional[pulumi.Input[bool]] = None,
                 account_manage_ip_whitelist: Optional[pulumi.Input[bool]] = None,
                 account_manage_payment_methods: Optional[pulumi.Input[bool]] = None,
                 account_manage_plan: Optional[pulumi.Input[bool]] = None,
                 account_manage_teams: Optional[pulumi.Input[bool]] = None,
                 account_manage_users: Optional[pulumi.Input[bool]] = None,
                 account_view_activity_log: Optional[pulumi.Input[bool]] = None,
                 account_view_invoices: Optional[pulumi.Input[bool]] = None,
                 data_manage_datafeeds: Optional[pulumi.Input[bool]] = None,
                 data_manage_datasources: Optional[pulumi.Input[bool]] = None,
                 data_push_to_datafeeds: Optional[pulumi.Input[bool]] = None,
                 dns_manage_zones: Optional[pulumi.Input[bool]] = None,
                 dns_records_allows: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]] = None,
                 dns_records_denies: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]] = None,
                 dns_view_zones: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allow_by_default: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 dns_zones_denies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 ip_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]] = None,
                 monitoring_create_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_delete_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_lists: Optional[pulumi.Input[bool]] = None,
                 monitoring_update_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_view_jobs: Optional[pulumi.Input[bool]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 security_manage_active_directory: Optional[pulumi.Input[bool]] = None,
                 security_manage_global2fa: Optional[pulumi.Input[bool]] = None):
        """
        Input properties used for looking up and filtering Team resources.
        :param pulumi.Input[bool] account_manage_account_settings: Whether the team can modify account settings.
        :param pulumi.Input[bool] account_manage_apikeys: Whether the team can modify account apikeys.
        :param pulumi.Input[bool] account_manage_ip_whitelist: Whether the team can manage ip whitelist.
        :param pulumi.Input[bool] account_manage_payment_methods: Whether the team can modify account payment methods.
        :param pulumi.Input[bool] account_manage_plan: No longer in use.
        :param pulumi.Input[bool] account_manage_teams: Whether the team can modify other teams in the account.
        :param pulumi.Input[bool] account_manage_users: Whether the team can modify account users.
        :param pulumi.Input[bool] account_view_activity_log: Whether the team can view activity logs.
        :param pulumi.Input[bool] account_view_invoices: Whether the team can view invoices.
        :param pulumi.Input[bool] data_manage_datafeeds: Whether the team can modify data feeds.
        :param pulumi.Input[bool] data_manage_datasources: Whether the team can modify data sources.
        :param pulumi.Input[bool] data_push_to_datafeeds: Whether the team can publish to data feeds.
        :param pulumi.Input[bool] dns_manage_zones: Whether the team can modify the accounts zones.
        :param pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]] dns_records_allows: List of records that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]] dns_records_denies: List of records that the team may not access.
        :param pulumi.Input[bool] dns_view_zones: Whether the team can view the accounts zones.
        :param pulumi.Input[bool] dns_zones_allow_by_default: If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_allows: List of zones that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_denies: List of zones that the team may not access.
        :param pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]] ip_whitelists: Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        :param pulumi.Input[bool] monitoring_create_jobs: Whether the user can create monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_delete_jobs: Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_manage_jobs: Whether the user can create, update, and delete monitoring jobs.
        :param pulumi.Input[bool] monitoring_manage_lists: Whether the team can modify notification lists.
        :param pulumi.Input[bool] monitoring_update_jobs: Whether the user can update monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_view_jobs: Whether the team can view monitoring jobs.
        :param pulumi.Input[str] name: The free form name of the team.
        :param pulumi.Input[bool] security_manage_active_directory: Whether the team can manage global active directory.
               Only relevant for the DDI product.
        :param pulumi.Input[bool] security_manage_global2fa: Whether the team can manage global two factor authentication.
        """
        if account_manage_account_settings is not None:
            pulumi.set(__self__, "account_manage_account_settings", account_manage_account_settings)
        if account_manage_apikeys is not None:
            pulumi.set(__self__, "account_manage_apikeys", account_manage_apikeys)
        if account_manage_ip_whitelist is not None:
            pulumi.set(__self__, "account_manage_ip_whitelist", account_manage_ip_whitelist)
        if account_manage_payment_methods is not None:
            pulumi.set(__self__, "account_manage_payment_methods", account_manage_payment_methods)
        if account_manage_plan is not None:
            warnings.warn("""obsolete, should no longer be used""", DeprecationWarning)
            pulumi.log.warn("""account_manage_plan is deprecated: obsolete, should no longer be used""")
        if account_manage_plan is not None:
            pulumi.set(__self__, "account_manage_plan", account_manage_plan)
        if account_manage_teams is not None:
            pulumi.set(__self__, "account_manage_teams", account_manage_teams)
        if account_manage_users is not None:
            pulumi.set(__self__, "account_manage_users", account_manage_users)
        if account_view_activity_log is not None:
            pulumi.set(__self__, "account_view_activity_log", account_view_activity_log)
        if account_view_invoices is not None:
            pulumi.set(__self__, "account_view_invoices", account_view_invoices)
        if data_manage_datafeeds is not None:
            pulumi.set(__self__, "data_manage_datafeeds", data_manage_datafeeds)
        if data_manage_datasources is not None:
            pulumi.set(__self__, "data_manage_datasources", data_manage_datasources)
        if data_push_to_datafeeds is not None:
            pulumi.set(__self__, "data_push_to_datafeeds", data_push_to_datafeeds)
        if dns_manage_zones is not None:
            pulumi.set(__self__, "dns_manage_zones", dns_manage_zones)
        if dns_records_allows is not None:
            pulumi.set(__self__, "dns_records_allows", dns_records_allows)
        if dns_records_denies is not None:
            pulumi.set(__self__, "dns_records_denies", dns_records_denies)
        if dns_view_zones is not None:
            pulumi.set(__self__, "dns_view_zones", dns_view_zones)
        if dns_zones_allow_by_default is not None:
            pulumi.set(__self__, "dns_zones_allow_by_default", dns_zones_allow_by_default)
        if dns_zones_allows is not None:
            pulumi.set(__self__, "dns_zones_allows", dns_zones_allows)
        if dns_zones_denies is not None:
            pulumi.set(__self__, "dns_zones_denies", dns_zones_denies)
        if ip_whitelists is not None:
            pulumi.set(__self__, "ip_whitelists", ip_whitelists)
        if monitoring_create_jobs is not None:
            pulumi.set(__self__, "monitoring_create_jobs", monitoring_create_jobs)
        if monitoring_delete_jobs is not None:
            pulumi.set(__self__, "monitoring_delete_jobs", monitoring_delete_jobs)
        if monitoring_manage_jobs is not None:
            pulumi.set(__self__, "monitoring_manage_jobs", monitoring_manage_jobs)
        if monitoring_manage_lists is not None:
            pulumi.set(__self__, "monitoring_manage_lists", monitoring_manage_lists)
        if monitoring_update_jobs is not None:
            pulumi.set(__self__, "monitoring_update_jobs", monitoring_update_jobs)
        if monitoring_view_jobs is not None:
            pulumi.set(__self__, "monitoring_view_jobs", monitoring_view_jobs)
        if name is not None:
            pulumi.set(__self__, "name", name)
        if security_manage_active_directory is not None:
            pulumi.set(__self__, "security_manage_active_directory", security_manage_active_directory)
        if security_manage_global2fa is not None:
            pulumi.set(__self__, "security_manage_global2fa", security_manage_global2fa)

    @property
    @pulumi.getter(name="accountManageAccountSettings")
    def account_manage_account_settings(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account settings.
        """
        return pulumi.get(self, "account_manage_account_settings")

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

    @property
    @pulumi.getter(name="accountManageApikeys")
    def account_manage_apikeys(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account apikeys.
        """
        return pulumi.get(self, "account_manage_apikeys")

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

    @property
    @pulumi.getter(name="accountManageIpWhitelist")
    def account_manage_ip_whitelist(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage ip whitelist.
        """
        return pulumi.get(self, "account_manage_ip_whitelist")

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

    @property
    @pulumi.getter(name="accountManagePaymentMethods")
    def account_manage_payment_methods(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account payment methods.
        """
        return pulumi.get(self, "account_manage_payment_methods")

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

    @property
    @pulumi.getter(name="accountManagePlan")
    @_utilities.deprecated("""obsolete, should no longer be used""")
    def account_manage_plan(self) -> Optional[pulumi.Input[bool]]:
        """
        No longer in use.
        """
        return pulumi.get(self, "account_manage_plan")

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

    @property
    @pulumi.getter(name="accountManageTeams")
    def account_manage_teams(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify other teams in the account.
        """
        return pulumi.get(self, "account_manage_teams")

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

    @property
    @pulumi.getter(name="accountManageUsers")
    def account_manage_users(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify account users.
        """
        return pulumi.get(self, "account_manage_users")

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

    @property
    @pulumi.getter(name="accountViewActivityLog")
    def account_view_activity_log(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view activity logs.
        """
        return pulumi.get(self, "account_view_activity_log")

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

    @property
    @pulumi.getter(name="accountViewInvoices")
    def account_view_invoices(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view invoices.
        """
        return pulumi.get(self, "account_view_invoices")

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

    @property
    @pulumi.getter(name="dataManageDatafeeds")
    def data_manage_datafeeds(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify data feeds.
        """
        return pulumi.get(self, "data_manage_datafeeds")

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

    @property
    @pulumi.getter(name="dataManageDatasources")
    def data_manage_datasources(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify data sources.
        """
        return pulumi.get(self, "data_manage_datasources")

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

    @property
    @pulumi.getter(name="dataPushToDatafeeds")
    def data_push_to_datafeeds(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can publish to data feeds.
        """
        return pulumi.get(self, "data_push_to_datafeeds")

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

    @property
    @pulumi.getter(name="dnsManageZones")
    def dns_manage_zones(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify the accounts zones.
        """
        return pulumi.get(self, "dns_manage_zones")

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

    @property
    @pulumi.getter(name="dnsRecordsAllows")
    def dns_records_allows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]]:
        """
        List of records that the team may access.
        """
        return pulumi.get(self, "dns_records_allows")

    @dns_records_allows.setter
    def dns_records_allows(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsAllowArgs']]]]):
        pulumi.set(self, "dns_records_allows", value)

    @property
    @pulumi.getter(name="dnsRecordsDenies")
    def dns_records_denies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]]:
        """
        List of records that the team may not access.
        """
        return pulumi.get(self, "dns_records_denies")

    @dns_records_denies.setter
    def dns_records_denies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamDnsRecordsDenyArgs']]]]):
        pulumi.set(self, "dns_records_denies", value)

    @property
    @pulumi.getter(name="dnsViewZones")
    def dns_view_zones(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view the accounts zones.
        """
        return pulumi.get(self, "dns_view_zones")

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

    @property
    @pulumi.getter(name="dnsZonesAllowByDefault")
    def dns_zones_allow_by_default(self) -> Optional[pulumi.Input[bool]]:
        """
        If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        """
        return pulumi.get(self, "dns_zones_allow_by_default")

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

    @property
    @pulumi.getter(name="dnsZonesAllows")
    def dns_zones_allows(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of zones that the team may access.
        """
        return pulumi.get(self, "dns_zones_allows")

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

    @property
    @pulumi.getter(name="dnsZonesDenies")
    def dns_zones_denies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        List of zones that the team may not access.
        """
        return pulumi.get(self, "dns_zones_denies")

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

    @property
    @pulumi.getter(name="ipWhitelists")
    def ip_whitelists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]]:
        """
        Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        """
        return pulumi.get(self, "ip_whitelists")

    @ip_whitelists.setter
    def ip_whitelists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['TeamIpWhitelistArgs']]]]):
        pulumi.set(self, "ip_whitelists", value)

    @property
    @pulumi.getter(name="monitoringCreateJobs")
    def monitoring_create_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can create monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_create_jobs")

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

    @property
    @pulumi.getter(name="monitoringDeleteJobs")
    def monitoring_delete_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_delete_jobs")

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

    @property
    @pulumi.getter(name="monitoringManageJobs")
    def monitoring_manage_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can create, update, and delete monitoring jobs.
        """
        return pulumi.get(self, "monitoring_manage_jobs")

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

    @property
    @pulumi.getter(name="monitoringManageLists")
    def monitoring_manage_lists(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can modify notification lists.
        """
        return pulumi.get(self, "monitoring_manage_lists")

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

    @property
    @pulumi.getter(name="monitoringUpdateJobs")
    def monitoring_update_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the user can update monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_update_jobs")

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

    @property
    @pulumi.getter(name="monitoringViewJobs")
    def monitoring_view_jobs(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can view monitoring jobs.
        """
        return pulumi.get(self, "monitoring_view_jobs")

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

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        The free form name of the team.
        """
        return pulumi.get(self, "name")

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

    @property
    @pulumi.getter(name="securityManageActiveDirectory")
    def security_manage_active_directory(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage global active directory.
        Only relevant for the DDI product.
        """
        return pulumi.get(self, "security_manage_active_directory")

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

    @property
    @pulumi.getter(name="securityManageGlobal2fa")
    def security_manage_global2fa(self) -> Optional[pulumi.Input[bool]]:
        """
        Whether the team can manage global two factor authentication.
        """
        return pulumi.get(self, "security_manage_global2fa")

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


class Team(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 account_manage_account_settings: Optional[pulumi.Input[bool]] = None,
                 account_manage_apikeys: Optional[pulumi.Input[bool]] = None,
                 account_manage_ip_whitelist: Optional[pulumi.Input[bool]] = None,
                 account_manage_payment_methods: Optional[pulumi.Input[bool]] = None,
                 account_manage_plan: Optional[pulumi.Input[bool]] = None,
                 account_manage_teams: Optional[pulumi.Input[bool]] = None,
                 account_manage_users: Optional[pulumi.Input[bool]] = None,
                 account_view_activity_log: Optional[pulumi.Input[bool]] = None,
                 account_view_invoices: Optional[pulumi.Input[bool]] = None,
                 data_manage_datafeeds: Optional[pulumi.Input[bool]] = None,
                 data_manage_datasources: Optional[pulumi.Input[bool]] = None,
                 data_push_to_datafeeds: Optional[pulumi.Input[bool]] = None,
                 dns_manage_zones: Optional[pulumi.Input[bool]] = None,
                 dns_records_allows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsAllowArgs', 'TeamDnsRecordsAllowArgsDict']]]]] = None,
                 dns_records_denies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsDenyArgs', 'TeamDnsRecordsDenyArgsDict']]]]] = None,
                 dns_view_zones: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allow_by_default: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 dns_zones_denies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 ip_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamIpWhitelistArgs', 'TeamIpWhitelistArgsDict']]]]] = None,
                 monitoring_create_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_delete_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_lists: Optional[pulumi.Input[bool]] = None,
                 monitoring_update_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_view_jobs: Optional[pulumi.Input[bool]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 security_manage_active_directory: Optional[pulumi.Input[bool]] = None,
                 security_manage_global2fa: Optional[pulumi.Input[bool]] = None,
                 __props__=None):
        """
        Provides a NS1 Team resource. This can be used to create, modify, and delete
        teams. The credentials used must have the `manage_teams` permission set.

        ## Example Usage

        ```python
        import pulumi
        import pulumi_ns1 as ns1

        # Create a new NS1 Team
        example = ns1.Team("example",
            name="Example team",
            ip_whitelists=[
                {
                    "name": "whitelist-1",
                    "values": [
                        "1.1.1.1",
                        "2.2.2.2",
                    ],
                },
                {
                    "name": "whitelist-2",
                    "values": [
                        "3.3.3.3",
                        "4.4.4.4",
                    ],
                },
            ],
            dns_view_zones=False,
            account_manage_users=False)
        # Another team
        example2 = ns1.Team("example2",
            name="another team",
            dns_view_zones=True,
            dns_zones_allow_by_default=True,
            dns_zones_allows=["mytest.zone"],
            dns_zones_denies=["myother.zone"],
            dns_records_allows=[{
                "domain": "terraform.example.io",
                "include_subdomains": False,
                "zone": "example.io",
                "type": "A",
            }],
            data_manage_datasources=True)
        ```

        ## NS1 Documentation

        [Team Api Docs](https://ns1.com/api#team)

        ## Import

        ```sh
        $ pulumi import ns1:index/team:Team <name> <team_id>`
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[bool] account_manage_account_settings: Whether the team can modify account settings.
        :param pulumi.Input[bool] account_manage_apikeys: Whether the team can modify account apikeys.
        :param pulumi.Input[bool] account_manage_ip_whitelist: Whether the team can manage ip whitelist.
        :param pulumi.Input[bool] account_manage_payment_methods: Whether the team can modify account payment methods.
        :param pulumi.Input[bool] account_manage_plan: No longer in use.
        :param pulumi.Input[bool] account_manage_teams: Whether the team can modify other teams in the account.
        :param pulumi.Input[bool] account_manage_users: Whether the team can modify account users.
        :param pulumi.Input[bool] account_view_activity_log: Whether the team can view activity logs.
        :param pulumi.Input[bool] account_view_invoices: Whether the team can view invoices.
        :param pulumi.Input[bool] data_manage_datafeeds: Whether the team can modify data feeds.
        :param pulumi.Input[bool] data_manage_datasources: Whether the team can modify data sources.
        :param pulumi.Input[bool] data_push_to_datafeeds: Whether the team can publish to data feeds.
        :param pulumi.Input[bool] dns_manage_zones: Whether the team can modify the accounts zones.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsAllowArgs', 'TeamDnsRecordsAllowArgsDict']]]] dns_records_allows: List of records that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsDenyArgs', 'TeamDnsRecordsDenyArgsDict']]]] dns_records_denies: List of records that the team may not access.
        :param pulumi.Input[bool] dns_view_zones: Whether the team can view the accounts zones.
        :param pulumi.Input[bool] dns_zones_allow_by_default: If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_allows: List of zones that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_denies: List of zones that the team may not access.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamIpWhitelistArgs', 'TeamIpWhitelistArgsDict']]]] ip_whitelists: Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        :param pulumi.Input[bool] monitoring_create_jobs: Whether the user can create monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_delete_jobs: Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_manage_jobs: Whether the user can create, update, and delete monitoring jobs.
        :param pulumi.Input[bool] monitoring_manage_lists: Whether the team can modify notification lists.
        :param pulumi.Input[bool] monitoring_update_jobs: Whether the user can update monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_view_jobs: Whether the team can view monitoring jobs.
        :param pulumi.Input[str] name: The free form name of the team.
        :param pulumi.Input[bool] security_manage_active_directory: Whether the team can manage global active directory.
               Only relevant for the DDI product.
        :param pulumi.Input[bool] security_manage_global2fa: Whether the team can manage global two factor authentication.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: Optional[TeamArgs] = None,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Provides a NS1 Team resource. This can be used to create, modify, and delete
        teams. The credentials used must have the `manage_teams` permission set.

        ## Example Usage

        ```python
        import pulumi
        import pulumi_ns1 as ns1

        # Create a new NS1 Team
        example = ns1.Team("example",
            name="Example team",
            ip_whitelists=[
                {
                    "name": "whitelist-1",
                    "values": [
                        "1.1.1.1",
                        "2.2.2.2",
                    ],
                },
                {
                    "name": "whitelist-2",
                    "values": [
                        "3.3.3.3",
                        "4.4.4.4",
                    ],
                },
            ],
            dns_view_zones=False,
            account_manage_users=False)
        # Another team
        example2 = ns1.Team("example2",
            name="another team",
            dns_view_zones=True,
            dns_zones_allow_by_default=True,
            dns_zones_allows=["mytest.zone"],
            dns_zones_denies=["myother.zone"],
            dns_records_allows=[{
                "domain": "terraform.example.io",
                "include_subdomains": False,
                "zone": "example.io",
                "type": "A",
            }],
            data_manage_datasources=True)
        ```

        ## NS1 Documentation

        [Team Api Docs](https://ns1.com/api#team)

        ## Import

        ```sh
        $ pulumi import ns1:index/team:Team <name> <team_id>`
        ```

        :param str resource_name: The name of the resource.
        :param TeamArgs 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(TeamArgs, 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,
                 account_manage_account_settings: Optional[pulumi.Input[bool]] = None,
                 account_manage_apikeys: Optional[pulumi.Input[bool]] = None,
                 account_manage_ip_whitelist: Optional[pulumi.Input[bool]] = None,
                 account_manage_payment_methods: Optional[pulumi.Input[bool]] = None,
                 account_manage_plan: Optional[pulumi.Input[bool]] = None,
                 account_manage_teams: Optional[pulumi.Input[bool]] = None,
                 account_manage_users: Optional[pulumi.Input[bool]] = None,
                 account_view_activity_log: Optional[pulumi.Input[bool]] = None,
                 account_view_invoices: Optional[pulumi.Input[bool]] = None,
                 data_manage_datafeeds: Optional[pulumi.Input[bool]] = None,
                 data_manage_datasources: Optional[pulumi.Input[bool]] = None,
                 data_push_to_datafeeds: Optional[pulumi.Input[bool]] = None,
                 dns_manage_zones: Optional[pulumi.Input[bool]] = None,
                 dns_records_allows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsAllowArgs', 'TeamDnsRecordsAllowArgsDict']]]]] = None,
                 dns_records_denies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsDenyArgs', 'TeamDnsRecordsDenyArgsDict']]]]] = None,
                 dns_view_zones: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allow_by_default: Optional[pulumi.Input[bool]] = None,
                 dns_zones_allows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 dns_zones_denies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                 ip_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamIpWhitelistArgs', 'TeamIpWhitelistArgsDict']]]]] = None,
                 monitoring_create_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_delete_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_manage_lists: Optional[pulumi.Input[bool]] = None,
                 monitoring_update_jobs: Optional[pulumi.Input[bool]] = None,
                 monitoring_view_jobs: Optional[pulumi.Input[bool]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 security_manage_active_directory: Optional[pulumi.Input[bool]] = None,
                 security_manage_global2fa: Optional[pulumi.Input[bool]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        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__ = TeamArgs.__new__(TeamArgs)

            __props__.__dict__["account_manage_account_settings"] = account_manage_account_settings
            __props__.__dict__["account_manage_apikeys"] = account_manage_apikeys
            __props__.__dict__["account_manage_ip_whitelist"] = account_manage_ip_whitelist
            __props__.__dict__["account_manage_payment_methods"] = account_manage_payment_methods
            __props__.__dict__["account_manage_plan"] = account_manage_plan
            __props__.__dict__["account_manage_teams"] = account_manage_teams
            __props__.__dict__["account_manage_users"] = account_manage_users
            __props__.__dict__["account_view_activity_log"] = account_view_activity_log
            __props__.__dict__["account_view_invoices"] = account_view_invoices
            __props__.__dict__["data_manage_datafeeds"] = data_manage_datafeeds
            __props__.__dict__["data_manage_datasources"] = data_manage_datasources
            __props__.__dict__["data_push_to_datafeeds"] = data_push_to_datafeeds
            __props__.__dict__["dns_manage_zones"] = dns_manage_zones
            __props__.__dict__["dns_records_allows"] = dns_records_allows
            __props__.__dict__["dns_records_denies"] = dns_records_denies
            __props__.__dict__["dns_view_zones"] = dns_view_zones
            __props__.__dict__["dns_zones_allow_by_default"] = dns_zones_allow_by_default
            __props__.__dict__["dns_zones_allows"] = dns_zones_allows
            __props__.__dict__["dns_zones_denies"] = dns_zones_denies
            __props__.__dict__["ip_whitelists"] = ip_whitelists
            __props__.__dict__["monitoring_create_jobs"] = monitoring_create_jobs
            __props__.__dict__["monitoring_delete_jobs"] = monitoring_delete_jobs
            __props__.__dict__["monitoring_manage_jobs"] = monitoring_manage_jobs
            __props__.__dict__["monitoring_manage_lists"] = monitoring_manage_lists
            __props__.__dict__["monitoring_update_jobs"] = monitoring_update_jobs
            __props__.__dict__["monitoring_view_jobs"] = monitoring_view_jobs
            __props__.__dict__["name"] = name
            __props__.__dict__["security_manage_active_directory"] = security_manage_active_directory
            __props__.__dict__["security_manage_global2fa"] = security_manage_global2fa
        super(Team, __self__).__init__(
            'ns1:index/team:Team',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            account_manage_account_settings: Optional[pulumi.Input[bool]] = None,
            account_manage_apikeys: Optional[pulumi.Input[bool]] = None,
            account_manage_ip_whitelist: Optional[pulumi.Input[bool]] = None,
            account_manage_payment_methods: Optional[pulumi.Input[bool]] = None,
            account_manage_plan: Optional[pulumi.Input[bool]] = None,
            account_manage_teams: Optional[pulumi.Input[bool]] = None,
            account_manage_users: Optional[pulumi.Input[bool]] = None,
            account_view_activity_log: Optional[pulumi.Input[bool]] = None,
            account_view_invoices: Optional[pulumi.Input[bool]] = None,
            data_manage_datafeeds: Optional[pulumi.Input[bool]] = None,
            data_manage_datasources: Optional[pulumi.Input[bool]] = None,
            data_push_to_datafeeds: Optional[pulumi.Input[bool]] = None,
            dns_manage_zones: Optional[pulumi.Input[bool]] = None,
            dns_records_allows: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsAllowArgs', 'TeamDnsRecordsAllowArgsDict']]]]] = None,
            dns_records_denies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsDenyArgs', 'TeamDnsRecordsDenyArgsDict']]]]] = None,
            dns_view_zones: Optional[pulumi.Input[bool]] = None,
            dns_zones_allow_by_default: Optional[pulumi.Input[bool]] = None,
            dns_zones_allows: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            dns_zones_denies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
            ip_whitelists: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TeamIpWhitelistArgs', 'TeamIpWhitelistArgsDict']]]]] = None,
            monitoring_create_jobs: Optional[pulumi.Input[bool]] = None,
            monitoring_delete_jobs: Optional[pulumi.Input[bool]] = None,
            monitoring_manage_jobs: Optional[pulumi.Input[bool]] = None,
            monitoring_manage_lists: Optional[pulumi.Input[bool]] = None,
            monitoring_update_jobs: Optional[pulumi.Input[bool]] = None,
            monitoring_view_jobs: Optional[pulumi.Input[bool]] = None,
            name: Optional[pulumi.Input[str]] = None,
            security_manage_active_directory: Optional[pulumi.Input[bool]] = None,
            security_manage_global2fa: Optional[pulumi.Input[bool]] = None) -> 'Team':
        """
        Get an existing Team 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.
        :param pulumi.Input[bool] account_manage_account_settings: Whether the team can modify account settings.
        :param pulumi.Input[bool] account_manage_apikeys: Whether the team can modify account apikeys.
        :param pulumi.Input[bool] account_manage_ip_whitelist: Whether the team can manage ip whitelist.
        :param pulumi.Input[bool] account_manage_payment_methods: Whether the team can modify account payment methods.
        :param pulumi.Input[bool] account_manage_plan: No longer in use.
        :param pulumi.Input[bool] account_manage_teams: Whether the team can modify other teams in the account.
        :param pulumi.Input[bool] account_manage_users: Whether the team can modify account users.
        :param pulumi.Input[bool] account_view_activity_log: Whether the team can view activity logs.
        :param pulumi.Input[bool] account_view_invoices: Whether the team can view invoices.
        :param pulumi.Input[bool] data_manage_datafeeds: Whether the team can modify data feeds.
        :param pulumi.Input[bool] data_manage_datasources: Whether the team can modify data sources.
        :param pulumi.Input[bool] data_push_to_datafeeds: Whether the team can publish to data feeds.
        :param pulumi.Input[bool] dns_manage_zones: Whether the team can modify the accounts zones.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsAllowArgs', 'TeamDnsRecordsAllowArgsDict']]]] dns_records_allows: List of records that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamDnsRecordsDenyArgs', 'TeamDnsRecordsDenyArgsDict']]]] dns_records_denies: List of records that the team may not access.
        :param pulumi.Input[bool] dns_view_zones: Whether the team can view the accounts zones.
        :param pulumi.Input[bool] dns_zones_allow_by_default: If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_allows: List of zones that the team may access.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] dns_zones_denies: List of zones that the team may not access.
        :param pulumi.Input[Sequence[pulumi.Input[Union['TeamIpWhitelistArgs', 'TeamIpWhitelistArgsDict']]]] ip_whitelists: Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        :param pulumi.Input[bool] monitoring_create_jobs: Whether the user can create monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_delete_jobs: Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_manage_jobs: Whether the user can create, update, and delete monitoring jobs.
        :param pulumi.Input[bool] monitoring_manage_lists: Whether the team can modify notification lists.
        :param pulumi.Input[bool] monitoring_update_jobs: Whether the user can update monitoring jobs when manage_jobs is not set to true.
        :param pulumi.Input[bool] monitoring_view_jobs: Whether the team can view monitoring jobs.
        :param pulumi.Input[str] name: The free form name of the team.
        :param pulumi.Input[bool] security_manage_active_directory: Whether the team can manage global active directory.
               Only relevant for the DDI product.
        :param pulumi.Input[bool] security_manage_global2fa: Whether the team can manage global two factor authentication.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _TeamState.__new__(_TeamState)

        __props__.__dict__["account_manage_account_settings"] = account_manage_account_settings
        __props__.__dict__["account_manage_apikeys"] = account_manage_apikeys
        __props__.__dict__["account_manage_ip_whitelist"] = account_manage_ip_whitelist
        __props__.__dict__["account_manage_payment_methods"] = account_manage_payment_methods
        __props__.__dict__["account_manage_plan"] = account_manage_plan
        __props__.__dict__["account_manage_teams"] = account_manage_teams
        __props__.__dict__["account_manage_users"] = account_manage_users
        __props__.__dict__["account_view_activity_log"] = account_view_activity_log
        __props__.__dict__["account_view_invoices"] = account_view_invoices
        __props__.__dict__["data_manage_datafeeds"] = data_manage_datafeeds
        __props__.__dict__["data_manage_datasources"] = data_manage_datasources
        __props__.__dict__["data_push_to_datafeeds"] = data_push_to_datafeeds
        __props__.__dict__["dns_manage_zones"] = dns_manage_zones
        __props__.__dict__["dns_records_allows"] = dns_records_allows
        __props__.__dict__["dns_records_denies"] = dns_records_denies
        __props__.__dict__["dns_view_zones"] = dns_view_zones
        __props__.__dict__["dns_zones_allow_by_default"] = dns_zones_allow_by_default
        __props__.__dict__["dns_zones_allows"] = dns_zones_allows
        __props__.__dict__["dns_zones_denies"] = dns_zones_denies
        __props__.__dict__["ip_whitelists"] = ip_whitelists
        __props__.__dict__["monitoring_create_jobs"] = monitoring_create_jobs
        __props__.__dict__["monitoring_delete_jobs"] = monitoring_delete_jobs
        __props__.__dict__["monitoring_manage_jobs"] = monitoring_manage_jobs
        __props__.__dict__["monitoring_manage_lists"] = monitoring_manage_lists
        __props__.__dict__["monitoring_update_jobs"] = monitoring_update_jobs
        __props__.__dict__["monitoring_view_jobs"] = monitoring_view_jobs
        __props__.__dict__["name"] = name
        __props__.__dict__["security_manage_active_directory"] = security_manage_active_directory
        __props__.__dict__["security_manage_global2fa"] = security_manage_global2fa
        return Team(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="accountManageAccountSettings")
    def account_manage_account_settings(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify account settings.
        """
        return pulumi.get(self, "account_manage_account_settings")

    @property
    @pulumi.getter(name="accountManageApikeys")
    def account_manage_apikeys(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify account apikeys.
        """
        return pulumi.get(self, "account_manage_apikeys")

    @property
    @pulumi.getter(name="accountManageIpWhitelist")
    def account_manage_ip_whitelist(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can manage ip whitelist.
        """
        return pulumi.get(self, "account_manage_ip_whitelist")

    @property
    @pulumi.getter(name="accountManagePaymentMethods")
    def account_manage_payment_methods(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify account payment methods.
        """
        return pulumi.get(self, "account_manage_payment_methods")

    @property
    @pulumi.getter(name="accountManagePlan")
    @_utilities.deprecated("""obsolete, should no longer be used""")
    def account_manage_plan(self) -> pulumi.Output[Optional[bool]]:
        """
        No longer in use.
        """
        return pulumi.get(self, "account_manage_plan")

    @property
    @pulumi.getter(name="accountManageTeams")
    def account_manage_teams(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify other teams in the account.
        """
        return pulumi.get(self, "account_manage_teams")

    @property
    @pulumi.getter(name="accountManageUsers")
    def account_manage_users(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify account users.
        """
        return pulumi.get(self, "account_manage_users")

    @property
    @pulumi.getter(name="accountViewActivityLog")
    def account_view_activity_log(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can view activity logs.
        """
        return pulumi.get(self, "account_view_activity_log")

    @property
    @pulumi.getter(name="accountViewInvoices")
    def account_view_invoices(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can view invoices.
        """
        return pulumi.get(self, "account_view_invoices")

    @property
    @pulumi.getter(name="dataManageDatafeeds")
    def data_manage_datafeeds(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify data feeds.
        """
        return pulumi.get(self, "data_manage_datafeeds")

    @property
    @pulumi.getter(name="dataManageDatasources")
    def data_manage_datasources(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify data sources.
        """
        return pulumi.get(self, "data_manage_datasources")

    @property
    @pulumi.getter(name="dataPushToDatafeeds")
    def data_push_to_datafeeds(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can publish to data feeds.
        """
        return pulumi.get(self, "data_push_to_datafeeds")

    @property
    @pulumi.getter(name="dnsManageZones")
    def dns_manage_zones(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify the accounts zones.
        """
        return pulumi.get(self, "dns_manage_zones")

    @property
    @pulumi.getter(name="dnsRecordsAllows")
    def dns_records_allows(self) -> pulumi.Output[Optional[Sequence['outputs.TeamDnsRecordsAllow']]]:
        """
        List of records that the team may access.
        """
        return pulumi.get(self, "dns_records_allows")

    @property
    @pulumi.getter(name="dnsRecordsDenies")
    def dns_records_denies(self) -> pulumi.Output[Optional[Sequence['outputs.TeamDnsRecordsDeny']]]:
        """
        List of records that the team may not access.
        """
        return pulumi.get(self, "dns_records_denies")

    @property
    @pulumi.getter(name="dnsViewZones")
    def dns_view_zones(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can view the accounts zones.
        """
        return pulumi.get(self, "dns_view_zones")

    @property
    @pulumi.getter(name="dnsZonesAllowByDefault")
    def dns_zones_allow_by_default(self) -> pulumi.Output[Optional[bool]]:
        """
        If true, enable the `dns_zones_allow` list, otherwise enable the `dns_zones_deny` list.
        """
        return pulumi.get(self, "dns_zones_allow_by_default")

    @property
    @pulumi.getter(name="dnsZonesAllows")
    def dns_zones_allows(self) -> pulumi.Output[Optional[Sequence[str]]]:
        """
        List of zones that the team may access.
        """
        return pulumi.get(self, "dns_zones_allows")

    @property
    @pulumi.getter(name="dnsZonesDenies")
    def dns_zones_denies(self) -> pulumi.Output[Optional[Sequence[str]]]:
        """
        List of zones that the team may not access.
        """
        return pulumi.get(self, "dns_zones_denies")

    @property
    @pulumi.getter(name="ipWhitelists")
    def ip_whitelists(self) -> pulumi.Output[Optional[Sequence['outputs.TeamIpWhitelist']]]:
        """
        Array of IP addresses objects to chich to grant the team access. Each object includes a **name** (string), and **values** (array of strings) associated to each "allow" list.
        """
        return pulumi.get(self, "ip_whitelists")

    @property
    @pulumi.getter(name="monitoringCreateJobs")
    def monitoring_create_jobs(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the user can create monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_create_jobs")

    @property
    @pulumi.getter(name="monitoringDeleteJobs")
    def monitoring_delete_jobs(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the user can delete monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_delete_jobs")

    @property
    @pulumi.getter(name="monitoringManageJobs")
    def monitoring_manage_jobs(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the user can create, update, and delete monitoring jobs.
        """
        return pulumi.get(self, "monitoring_manage_jobs")

    @property
    @pulumi.getter(name="monitoringManageLists")
    def monitoring_manage_lists(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can modify notification lists.
        """
        return pulumi.get(self, "monitoring_manage_lists")

    @property
    @pulumi.getter(name="monitoringUpdateJobs")
    def monitoring_update_jobs(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the user can update monitoring jobs when manage_jobs is not set to true.
        """
        return pulumi.get(self, "monitoring_update_jobs")

    @property
    @pulumi.getter(name="monitoringViewJobs")
    def monitoring_view_jobs(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can view monitoring jobs.
        """
        return pulumi.get(self, "monitoring_view_jobs")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[str]:
        """
        The free form name of the team.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="securityManageActiveDirectory")
    def security_manage_active_directory(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can manage global active directory.
        Only relevant for the DDI product.
        """
        return pulumi.get(self, "security_manage_active_directory")

    @property
    @pulumi.getter(name="securityManageGlobal2fa")
    def security_manage_global2fa(self) -> pulumi.Output[Optional[bool]]:
        """
        Whether the team can manage global two factor authentication.
        """
        return pulumi.get(self, "security_manage_global2fa")

