# 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 builtins
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__ = ['AzureIntegrationsArgs', 'AzureIntegrations']

@pulumi.input_type
class AzureIntegrationsArgs:
    def __init__(__self__, *,
                 linked_account_id: pulumi.Input[builtins.str],
                 account_id: Optional[pulumi.Input[builtins.str]] = None,
                 api_management: Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']] = None,
                 app_gateway: Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']] = None,
                 app_service: Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']] = None,
                 containers: Optional[pulumi.Input['AzureIntegrationsContainersArgs']] = None,
                 cosmos_db: Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']] = None,
                 cost_management: Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']] = None,
                 data_factory: Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']] = None,
                 event_hub: Optional[pulumi.Input['AzureIntegrationsEventHubArgs']] = None,
                 express_route: Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']] = None,
                 firewalls: Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']] = None,
                 front_door: Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']] = None,
                 functions: Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']] = None,
                 key_vault: Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']] = None,
                 load_balancer: Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']] = None,
                 logic_apps: Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']] = None,
                 machine_learning: Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']] = None,
                 maria_db: Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']] = None,
                 monitor: Optional[pulumi.Input['AzureIntegrationsMonitorArgs']] = None,
                 mysql: Optional[pulumi.Input['AzureIntegrationsMysqlArgs']] = None,
                 mysql_flexible: Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']] = None,
                 postgresql: Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']] = None,
                 postgresql_flexible: Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']] = None,
                 power_bi_dedicated: Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']] = None,
                 redis_cache: Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']] = None,
                 service_bus: Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']] = None,
                 sql: Optional[pulumi.Input['AzureIntegrationsSqlArgs']] = None,
                 sql_managed: Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']] = None,
                 storage: Optional[pulumi.Input['AzureIntegrationsStorageArgs']] = None,
                 virtual_machine: Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']] = None,
                 virtual_networks: Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']] = None,
                 vms: Optional[pulumi.Input['AzureIntegrationsVmsArgs']] = None,
                 vpn_gateway: Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']] = None):
        """
        The set of arguments for constructing a AzureIntegrations resource.
        :param pulumi.Input[builtins.str] linked_account_id: The ID of the linked Azure account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        :param pulumi.Input[builtins.str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input['AzureIntegrationsApiManagementArgs'] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsAppGatewayArgs'] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsAppServiceArgs'] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsContainersArgs'] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsCosmosDbArgs'] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsCostManagementArgs'] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsDataFactoryArgs'] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsEventHubArgs'] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsExpressRouteArgs'] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFirewallsArgs'] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFrontDoorArgs'] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFunctionsArgs'] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsKeyVaultArgs'] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsLoadBalancerArgs'] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsLogicAppsArgs'] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMachineLearningArgs'] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMariaDbArgs'] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMonitorArgs'] monitor: Azure Monitor. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input['AzureIntegrationsMysqlArgs'] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMysqlFlexibleArgs'] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPostgresqlArgs'] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs'] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs'] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsRedisCacheArgs'] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsServiceBusArgs'] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsSqlArgs'] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsSqlManagedArgs'] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsStorageArgs'] storage: for Azure Storage. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input['AzureIntegrationsVirtualMachineArgs'] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVirtualNetworksArgs'] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVmsArgs'] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVpnGatewayArgs'] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        pulumi.set(__self__, "linked_account_id", linked_account_id)
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if api_management is not None:
            pulumi.set(__self__, "api_management", api_management)
        if app_gateway is not None:
            pulumi.set(__self__, "app_gateway", app_gateway)
        if app_service is not None:
            pulumi.set(__self__, "app_service", app_service)
        if containers is not None:
            pulumi.set(__self__, "containers", containers)
        if cosmos_db is not None:
            pulumi.set(__self__, "cosmos_db", cosmos_db)
        if cost_management is not None:
            pulumi.set(__self__, "cost_management", cost_management)
        if data_factory is not None:
            pulumi.set(__self__, "data_factory", data_factory)
        if event_hub is not None:
            pulumi.set(__self__, "event_hub", event_hub)
        if express_route is not None:
            pulumi.set(__self__, "express_route", express_route)
        if firewalls is not None:
            pulumi.set(__self__, "firewalls", firewalls)
        if front_door is not None:
            pulumi.set(__self__, "front_door", front_door)
        if functions is not None:
            pulumi.set(__self__, "functions", functions)
        if key_vault is not None:
            pulumi.set(__self__, "key_vault", key_vault)
        if load_balancer is not None:
            pulumi.set(__self__, "load_balancer", load_balancer)
        if logic_apps is not None:
            pulumi.set(__self__, "logic_apps", logic_apps)
        if machine_learning is not None:
            pulumi.set(__self__, "machine_learning", machine_learning)
        if maria_db is not None:
            pulumi.set(__self__, "maria_db", maria_db)
        if monitor is not None:
            pulumi.set(__self__, "monitor", monitor)
        if mysql is not None:
            pulumi.set(__self__, "mysql", mysql)
        if mysql_flexible is not None:
            pulumi.set(__self__, "mysql_flexible", mysql_flexible)
        if postgresql is not None:
            pulumi.set(__self__, "postgresql", postgresql)
        if postgresql_flexible is not None:
            pulumi.set(__self__, "postgresql_flexible", postgresql_flexible)
        if power_bi_dedicated is not None:
            pulumi.set(__self__, "power_bi_dedicated", power_bi_dedicated)
        if redis_cache is not None:
            pulumi.set(__self__, "redis_cache", redis_cache)
        if service_bus is not None:
            pulumi.set(__self__, "service_bus", service_bus)
        if sql is not None:
            pulumi.set(__self__, "sql", sql)
        if sql_managed is not None:
            pulumi.set(__self__, "sql_managed", sql_managed)
        if storage is not None:
            pulumi.set(__self__, "storage", storage)
        if virtual_machine is not None:
            pulumi.set(__self__, "virtual_machine", virtual_machine)
        if virtual_networks is not None:
            pulumi.set(__self__, "virtual_networks", virtual_networks)
        if vms is not None:
            pulumi.set(__self__, "vms", vms)
        if vpn_gateway is not None:
            pulumi.set(__self__, "vpn_gateway", vpn_gateway)

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> pulumi.Input[builtins.str]:
        """
        The ID of the linked Azure account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        """
        return pulumi.get(self, "linked_account_id")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

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

    @property
    @pulumi.getter(name="apiManagement")
    def api_management(self) -> Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']]:
        """
        Azure API Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_management")

    @api_management.setter
    def api_management(self, value: Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']]):
        pulumi.set(self, "api_management", value)

    @property
    @pulumi.getter(name="appGateway")
    def app_gateway(self) -> Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']]:
        """
        Azure App Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_gateway")

    @app_gateway.setter
    def app_gateway(self, value: Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']]):
        pulumi.set(self, "app_gateway", value)

    @property
    @pulumi.getter(name="appService")
    def app_service(self) -> Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']]:
        """
        Azure App Service. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_service")

    @app_service.setter
    def app_service(self, value: Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']]):
        pulumi.set(self, "app_service", value)

    @property
    @pulumi.getter
    def containers(self) -> Optional[pulumi.Input['AzureIntegrationsContainersArgs']]:
        """
        Azure Containers. See Integration blocks below for details.
        """
        return pulumi.get(self, "containers")

    @containers.setter
    def containers(self, value: Optional[pulumi.Input['AzureIntegrationsContainersArgs']]):
        pulumi.set(self, "containers", value)

    @property
    @pulumi.getter(name="cosmosDb")
    def cosmos_db(self) -> Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']]:
        """
        Azure CosmosDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "cosmos_db")

    @cosmos_db.setter
    def cosmos_db(self, value: Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']]):
        pulumi.set(self, "cosmos_db", value)

    @property
    @pulumi.getter(name="costManagement")
    def cost_management(self) -> Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']]:
        """
        Azure Cost Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "cost_management")

    @cost_management.setter
    def cost_management(self, value: Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']]):
        pulumi.set(self, "cost_management", value)

    @property
    @pulumi.getter(name="dataFactory")
    def data_factory(self) -> Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']]:
        """
        Azure Data Factory. See Integration blocks below for details.
        """
        return pulumi.get(self, "data_factory")

    @data_factory.setter
    def data_factory(self, value: Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']]):
        pulumi.set(self, "data_factory", value)

    @property
    @pulumi.getter(name="eventHub")
    def event_hub(self) -> Optional[pulumi.Input['AzureIntegrationsEventHubArgs']]:
        """
        Azure Event Hub. See Integration blocks below for details.
        """
        return pulumi.get(self, "event_hub")

    @event_hub.setter
    def event_hub(self, value: Optional[pulumi.Input['AzureIntegrationsEventHubArgs']]):
        pulumi.set(self, "event_hub", value)

    @property
    @pulumi.getter(name="expressRoute")
    def express_route(self) -> Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']]:
        """
        Azure Express Route. See Integration blocks below for details.
        """
        return pulumi.get(self, "express_route")

    @express_route.setter
    def express_route(self, value: Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']]):
        pulumi.set(self, "express_route", value)

    @property
    @pulumi.getter
    def firewalls(self) -> Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']]:
        """
        Azure Firewalls. See Integration blocks below for details.
        """
        return pulumi.get(self, "firewalls")

    @firewalls.setter
    def firewalls(self, value: Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']]):
        pulumi.set(self, "firewalls", value)

    @property
    @pulumi.getter(name="frontDoor")
    def front_door(self) -> Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']]:
        """
        Azure Front Door. See Integration blocks below for details.
        """
        return pulumi.get(self, "front_door")

    @front_door.setter
    def front_door(self, value: Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']]):
        pulumi.set(self, "front_door", value)

    @property
    @pulumi.getter
    def functions(self) -> Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']]:
        """
        Azure Functions. See Integration blocks below for details.
        """
        return pulumi.get(self, "functions")

    @functions.setter
    def functions(self, value: Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']]):
        pulumi.set(self, "functions", value)

    @property
    @pulumi.getter(name="keyVault")
    def key_vault(self) -> Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']]:
        """
        Azure Key Vault. See Integration blocks below for details.
        """
        return pulumi.get(self, "key_vault")

    @key_vault.setter
    def key_vault(self, value: Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']]):
        pulumi.set(self, "key_vault", value)

    @property
    @pulumi.getter(name="loadBalancer")
    def load_balancer(self) -> Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']]:
        """
        Azure Load Balancer. See Integration blocks below for details.
        """
        return pulumi.get(self, "load_balancer")

    @load_balancer.setter
    def load_balancer(self, value: Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']]):
        pulumi.set(self, "load_balancer", value)

    @property
    @pulumi.getter(name="logicApps")
    def logic_apps(self) -> Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']]:
        """
        Azure Logic Apps. See Integration blocks below for details.
        """
        return pulumi.get(self, "logic_apps")

    @logic_apps.setter
    def logic_apps(self, value: Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']]):
        pulumi.set(self, "logic_apps", value)

    @property
    @pulumi.getter(name="machineLearning")
    def machine_learning(self) -> Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']]:
        """
        Azure Machine Learning. See Integration blocks below for details.
        """
        return pulumi.get(self, "machine_learning")

    @machine_learning.setter
    def machine_learning(self, value: Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']]):
        pulumi.set(self, "machine_learning", value)

    @property
    @pulumi.getter(name="mariaDb")
    def maria_db(self) -> Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']]:
        """
        Azure MariaDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "maria_db")

    @maria_db.setter
    def maria_db(self, value: Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']]):
        pulumi.set(self, "maria_db", value)

    @property
    @pulumi.getter
    def monitor(self) -> Optional[pulumi.Input['AzureIntegrationsMonitorArgs']]:
        """
        Azure Monitor. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "monitor")

    @monitor.setter
    def monitor(self, value: Optional[pulumi.Input['AzureIntegrationsMonitorArgs']]):
        pulumi.set(self, "monitor", value)

    @property
    @pulumi.getter
    def mysql(self) -> Optional[pulumi.Input['AzureIntegrationsMysqlArgs']]:
        """
        Azure MySQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql")

    @mysql.setter
    def mysql(self, value: Optional[pulumi.Input['AzureIntegrationsMysqlArgs']]):
        pulumi.set(self, "mysql", value)

    @property
    @pulumi.getter(name="mysqlFlexible")
    def mysql_flexible(self) -> Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']]:
        """
        Azure MySQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql_flexible")

    @mysql_flexible.setter
    def mysql_flexible(self, value: Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']]):
        pulumi.set(self, "mysql_flexible", value)

    @property
    @pulumi.getter
    def postgresql(self) -> Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']]:
        """
        Azure PostgreSQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql")

    @postgresql.setter
    def postgresql(self, value: Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']]):
        pulumi.set(self, "postgresql", value)

    @property
    @pulumi.getter(name="postgresqlFlexible")
    def postgresql_flexible(self) -> Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']]:
        """
        Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql_flexible")

    @postgresql_flexible.setter
    def postgresql_flexible(self, value: Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']]):
        pulumi.set(self, "postgresql_flexible", value)

    @property
    @pulumi.getter(name="powerBiDedicated")
    def power_bi_dedicated(self) -> Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']]:
        """
        Azure Power BI Dedicated. See Integration blocks below for details.
        """
        return pulumi.get(self, "power_bi_dedicated")

    @power_bi_dedicated.setter
    def power_bi_dedicated(self, value: Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']]):
        pulumi.set(self, "power_bi_dedicated", value)

    @property
    @pulumi.getter(name="redisCache")
    def redis_cache(self) -> Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']]:
        """
        Azure Redis Cache. See Integration blocks below for details.
        """
        return pulumi.get(self, "redis_cache")

    @redis_cache.setter
    def redis_cache(self, value: Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']]):
        pulumi.set(self, "redis_cache", value)

    @property
    @pulumi.getter(name="serviceBus")
    def service_bus(self) -> Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']]:
        """
        Azure Service Bus. See Integration blocks below for details.
        """
        return pulumi.get(self, "service_bus")

    @service_bus.setter
    def service_bus(self, value: Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']]):
        pulumi.set(self, "service_bus", value)

    @property
    @pulumi.getter
    def sql(self) -> Optional[pulumi.Input['AzureIntegrationsSqlArgs']]:
        """
        Azure SQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql")

    @sql.setter
    def sql(self, value: Optional[pulumi.Input['AzureIntegrationsSqlArgs']]):
        pulumi.set(self, "sql", value)

    @property
    @pulumi.getter(name="sqlManaged")
    def sql_managed(self) -> Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']]:
        """
        Azure SQL Managed. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql_managed")

    @sql_managed.setter
    def sql_managed(self, value: Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']]):
        pulumi.set(self, "sql_managed", value)

    @property
    @pulumi.getter
    def storage(self) -> Optional[pulumi.Input['AzureIntegrationsStorageArgs']]:
        """
        for Azure Storage. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "storage")

    @storage.setter
    def storage(self, value: Optional[pulumi.Input['AzureIntegrationsStorageArgs']]):
        pulumi.set(self, "storage", value)

    @property
    @pulumi.getter(name="virtualMachine")
    def virtual_machine(self) -> Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']]:
        """
        Azure Virtual machine. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_machine")

    @virtual_machine.setter
    def virtual_machine(self, value: Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']]):
        pulumi.set(self, "virtual_machine", value)

    @property
    @pulumi.getter(name="virtualNetworks")
    def virtual_networks(self) -> Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']]:
        """
        for Azure Virtual networks. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_networks")

    @virtual_networks.setter
    def virtual_networks(self, value: Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']]):
        pulumi.set(self, "virtual_networks", value)

    @property
    @pulumi.getter
    def vms(self) -> Optional[pulumi.Input['AzureIntegrationsVmsArgs']]:
        """
        Azure VMs. See Integration blocks below for details.
        """
        return pulumi.get(self, "vms")

    @vms.setter
    def vms(self, value: Optional[pulumi.Input['AzureIntegrationsVmsArgs']]):
        pulumi.set(self, "vms", value)

    @property
    @pulumi.getter(name="vpnGateway")
    def vpn_gateway(self) -> Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']]:
        """
        Azure VPN Gateway. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        return pulumi.get(self, "vpn_gateway")

    @vpn_gateway.setter
    def vpn_gateway(self, value: Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']]):
        pulumi.set(self, "vpn_gateway", value)


@pulumi.input_type
class _AzureIntegrationsState:
    def __init__(__self__, *,
                 account_id: Optional[pulumi.Input[builtins.str]] = None,
                 api_management: Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']] = None,
                 app_gateway: Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']] = None,
                 app_service: Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']] = None,
                 containers: Optional[pulumi.Input['AzureIntegrationsContainersArgs']] = None,
                 cosmos_db: Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']] = None,
                 cost_management: Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']] = None,
                 data_factory: Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']] = None,
                 event_hub: Optional[pulumi.Input['AzureIntegrationsEventHubArgs']] = None,
                 express_route: Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']] = None,
                 firewalls: Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']] = None,
                 front_door: Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']] = None,
                 functions: Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']] = None,
                 key_vault: Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']] = None,
                 linked_account_id: Optional[pulumi.Input[builtins.str]] = None,
                 load_balancer: Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']] = None,
                 logic_apps: Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']] = None,
                 machine_learning: Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']] = None,
                 maria_db: Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']] = None,
                 monitor: Optional[pulumi.Input['AzureIntegrationsMonitorArgs']] = None,
                 mysql: Optional[pulumi.Input['AzureIntegrationsMysqlArgs']] = None,
                 mysql_flexible: Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']] = None,
                 postgresql: Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']] = None,
                 postgresql_flexible: Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']] = None,
                 power_bi_dedicated: Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']] = None,
                 redis_cache: Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']] = None,
                 service_bus: Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']] = None,
                 sql: Optional[pulumi.Input['AzureIntegrationsSqlArgs']] = None,
                 sql_managed: Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']] = None,
                 storage: Optional[pulumi.Input['AzureIntegrationsStorageArgs']] = None,
                 virtual_machine: Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']] = None,
                 virtual_networks: Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']] = None,
                 vms: Optional[pulumi.Input['AzureIntegrationsVmsArgs']] = None,
                 vpn_gateway: Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']] = None):
        """
        Input properties used for looking up and filtering AzureIntegrations resources.
        :param pulumi.Input[builtins.str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input['AzureIntegrationsApiManagementArgs'] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsAppGatewayArgs'] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsAppServiceArgs'] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsContainersArgs'] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsCosmosDbArgs'] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsCostManagementArgs'] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsDataFactoryArgs'] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsEventHubArgs'] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsExpressRouteArgs'] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFirewallsArgs'] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFrontDoorArgs'] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsFunctionsArgs'] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsKeyVaultArgs'] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input[builtins.str] linked_account_id: The ID of the linked Azure account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        :param pulumi.Input['AzureIntegrationsLoadBalancerArgs'] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsLogicAppsArgs'] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMachineLearningArgs'] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMariaDbArgs'] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMonitorArgs'] monitor: Azure Monitor. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input['AzureIntegrationsMysqlArgs'] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsMysqlFlexibleArgs'] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPostgresqlArgs'] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs'] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs'] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsRedisCacheArgs'] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsServiceBusArgs'] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsSqlArgs'] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsSqlManagedArgs'] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsStorageArgs'] storage: for Azure Storage. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input['AzureIntegrationsVirtualMachineArgs'] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVirtualNetworksArgs'] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVmsArgs'] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input['AzureIntegrationsVpnGatewayArgs'] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        if account_id is not None:
            pulumi.set(__self__, "account_id", account_id)
        if api_management is not None:
            pulumi.set(__self__, "api_management", api_management)
        if app_gateway is not None:
            pulumi.set(__self__, "app_gateway", app_gateway)
        if app_service is not None:
            pulumi.set(__self__, "app_service", app_service)
        if containers is not None:
            pulumi.set(__self__, "containers", containers)
        if cosmos_db is not None:
            pulumi.set(__self__, "cosmos_db", cosmos_db)
        if cost_management is not None:
            pulumi.set(__self__, "cost_management", cost_management)
        if data_factory is not None:
            pulumi.set(__self__, "data_factory", data_factory)
        if event_hub is not None:
            pulumi.set(__self__, "event_hub", event_hub)
        if express_route is not None:
            pulumi.set(__self__, "express_route", express_route)
        if firewalls is not None:
            pulumi.set(__self__, "firewalls", firewalls)
        if front_door is not None:
            pulumi.set(__self__, "front_door", front_door)
        if functions is not None:
            pulumi.set(__self__, "functions", functions)
        if key_vault is not None:
            pulumi.set(__self__, "key_vault", key_vault)
        if linked_account_id is not None:
            pulumi.set(__self__, "linked_account_id", linked_account_id)
        if load_balancer is not None:
            pulumi.set(__self__, "load_balancer", load_balancer)
        if logic_apps is not None:
            pulumi.set(__self__, "logic_apps", logic_apps)
        if machine_learning is not None:
            pulumi.set(__self__, "machine_learning", machine_learning)
        if maria_db is not None:
            pulumi.set(__self__, "maria_db", maria_db)
        if monitor is not None:
            pulumi.set(__self__, "monitor", monitor)
        if mysql is not None:
            pulumi.set(__self__, "mysql", mysql)
        if mysql_flexible is not None:
            pulumi.set(__self__, "mysql_flexible", mysql_flexible)
        if postgresql is not None:
            pulumi.set(__self__, "postgresql", postgresql)
        if postgresql_flexible is not None:
            pulumi.set(__self__, "postgresql_flexible", postgresql_flexible)
        if power_bi_dedicated is not None:
            pulumi.set(__self__, "power_bi_dedicated", power_bi_dedicated)
        if redis_cache is not None:
            pulumi.set(__self__, "redis_cache", redis_cache)
        if service_bus is not None:
            pulumi.set(__self__, "service_bus", service_bus)
        if sql is not None:
            pulumi.set(__self__, "sql", sql)
        if sql_managed is not None:
            pulumi.set(__self__, "sql_managed", sql_managed)
        if storage is not None:
            pulumi.set(__self__, "storage", storage)
        if virtual_machine is not None:
            pulumi.set(__self__, "virtual_machine", virtual_machine)
        if virtual_networks is not None:
            pulumi.set(__self__, "virtual_networks", virtual_networks)
        if vms is not None:
            pulumi.set(__self__, "vms", vms)
        if vpn_gateway is not None:
            pulumi.set(__self__, "vpn_gateway", vpn_gateway)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

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

    @property
    @pulumi.getter(name="apiManagement")
    def api_management(self) -> Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']]:
        """
        Azure API Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_management")

    @api_management.setter
    def api_management(self, value: Optional[pulumi.Input['AzureIntegrationsApiManagementArgs']]):
        pulumi.set(self, "api_management", value)

    @property
    @pulumi.getter(name="appGateway")
    def app_gateway(self) -> Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']]:
        """
        Azure App Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_gateway")

    @app_gateway.setter
    def app_gateway(self, value: Optional[pulumi.Input['AzureIntegrationsAppGatewayArgs']]):
        pulumi.set(self, "app_gateway", value)

    @property
    @pulumi.getter(name="appService")
    def app_service(self) -> Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']]:
        """
        Azure App Service. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_service")

    @app_service.setter
    def app_service(self, value: Optional[pulumi.Input['AzureIntegrationsAppServiceArgs']]):
        pulumi.set(self, "app_service", value)

    @property
    @pulumi.getter
    def containers(self) -> Optional[pulumi.Input['AzureIntegrationsContainersArgs']]:
        """
        Azure Containers. See Integration blocks below for details.
        """
        return pulumi.get(self, "containers")

    @containers.setter
    def containers(self, value: Optional[pulumi.Input['AzureIntegrationsContainersArgs']]):
        pulumi.set(self, "containers", value)

    @property
    @pulumi.getter(name="cosmosDb")
    def cosmos_db(self) -> Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']]:
        """
        Azure CosmosDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "cosmos_db")

    @cosmos_db.setter
    def cosmos_db(self, value: Optional[pulumi.Input['AzureIntegrationsCosmosDbArgs']]):
        pulumi.set(self, "cosmos_db", value)

    @property
    @pulumi.getter(name="costManagement")
    def cost_management(self) -> Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']]:
        """
        Azure Cost Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "cost_management")

    @cost_management.setter
    def cost_management(self, value: Optional[pulumi.Input['AzureIntegrationsCostManagementArgs']]):
        pulumi.set(self, "cost_management", value)

    @property
    @pulumi.getter(name="dataFactory")
    def data_factory(self) -> Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']]:
        """
        Azure Data Factory. See Integration blocks below for details.
        """
        return pulumi.get(self, "data_factory")

    @data_factory.setter
    def data_factory(self, value: Optional[pulumi.Input['AzureIntegrationsDataFactoryArgs']]):
        pulumi.set(self, "data_factory", value)

    @property
    @pulumi.getter(name="eventHub")
    def event_hub(self) -> Optional[pulumi.Input['AzureIntegrationsEventHubArgs']]:
        """
        Azure Event Hub. See Integration blocks below for details.
        """
        return pulumi.get(self, "event_hub")

    @event_hub.setter
    def event_hub(self, value: Optional[pulumi.Input['AzureIntegrationsEventHubArgs']]):
        pulumi.set(self, "event_hub", value)

    @property
    @pulumi.getter(name="expressRoute")
    def express_route(self) -> Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']]:
        """
        Azure Express Route. See Integration blocks below for details.
        """
        return pulumi.get(self, "express_route")

    @express_route.setter
    def express_route(self, value: Optional[pulumi.Input['AzureIntegrationsExpressRouteArgs']]):
        pulumi.set(self, "express_route", value)

    @property
    @pulumi.getter
    def firewalls(self) -> Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']]:
        """
        Azure Firewalls. See Integration blocks below for details.
        """
        return pulumi.get(self, "firewalls")

    @firewalls.setter
    def firewalls(self, value: Optional[pulumi.Input['AzureIntegrationsFirewallsArgs']]):
        pulumi.set(self, "firewalls", value)

    @property
    @pulumi.getter(name="frontDoor")
    def front_door(self) -> Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']]:
        """
        Azure Front Door. See Integration blocks below for details.
        """
        return pulumi.get(self, "front_door")

    @front_door.setter
    def front_door(self, value: Optional[pulumi.Input['AzureIntegrationsFrontDoorArgs']]):
        pulumi.set(self, "front_door", value)

    @property
    @pulumi.getter
    def functions(self) -> Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']]:
        """
        Azure Functions. See Integration blocks below for details.
        """
        return pulumi.get(self, "functions")

    @functions.setter
    def functions(self, value: Optional[pulumi.Input['AzureIntegrationsFunctionsArgs']]):
        pulumi.set(self, "functions", value)

    @property
    @pulumi.getter(name="keyVault")
    def key_vault(self) -> Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']]:
        """
        Azure Key Vault. See Integration blocks below for details.
        """
        return pulumi.get(self, "key_vault")

    @key_vault.setter
    def key_vault(self, value: Optional[pulumi.Input['AzureIntegrationsKeyVaultArgs']]):
        pulumi.set(self, "key_vault", value)

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The ID of the linked Azure account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        """
        return pulumi.get(self, "linked_account_id")

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

    @property
    @pulumi.getter(name="loadBalancer")
    def load_balancer(self) -> Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']]:
        """
        Azure Load Balancer. See Integration blocks below for details.
        """
        return pulumi.get(self, "load_balancer")

    @load_balancer.setter
    def load_balancer(self, value: Optional[pulumi.Input['AzureIntegrationsLoadBalancerArgs']]):
        pulumi.set(self, "load_balancer", value)

    @property
    @pulumi.getter(name="logicApps")
    def logic_apps(self) -> Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']]:
        """
        Azure Logic Apps. See Integration blocks below for details.
        """
        return pulumi.get(self, "logic_apps")

    @logic_apps.setter
    def logic_apps(self, value: Optional[pulumi.Input['AzureIntegrationsLogicAppsArgs']]):
        pulumi.set(self, "logic_apps", value)

    @property
    @pulumi.getter(name="machineLearning")
    def machine_learning(self) -> Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']]:
        """
        Azure Machine Learning. See Integration blocks below for details.
        """
        return pulumi.get(self, "machine_learning")

    @machine_learning.setter
    def machine_learning(self, value: Optional[pulumi.Input['AzureIntegrationsMachineLearningArgs']]):
        pulumi.set(self, "machine_learning", value)

    @property
    @pulumi.getter(name="mariaDb")
    def maria_db(self) -> Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']]:
        """
        Azure MariaDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "maria_db")

    @maria_db.setter
    def maria_db(self, value: Optional[pulumi.Input['AzureIntegrationsMariaDbArgs']]):
        pulumi.set(self, "maria_db", value)

    @property
    @pulumi.getter
    def monitor(self) -> Optional[pulumi.Input['AzureIntegrationsMonitorArgs']]:
        """
        Azure Monitor. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "monitor")

    @monitor.setter
    def monitor(self, value: Optional[pulumi.Input['AzureIntegrationsMonitorArgs']]):
        pulumi.set(self, "monitor", value)

    @property
    @pulumi.getter
    def mysql(self) -> Optional[pulumi.Input['AzureIntegrationsMysqlArgs']]:
        """
        Azure MySQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql")

    @mysql.setter
    def mysql(self, value: Optional[pulumi.Input['AzureIntegrationsMysqlArgs']]):
        pulumi.set(self, "mysql", value)

    @property
    @pulumi.getter(name="mysqlFlexible")
    def mysql_flexible(self) -> Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']]:
        """
        Azure MySQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql_flexible")

    @mysql_flexible.setter
    def mysql_flexible(self, value: Optional[pulumi.Input['AzureIntegrationsMysqlFlexibleArgs']]):
        pulumi.set(self, "mysql_flexible", value)

    @property
    @pulumi.getter
    def postgresql(self) -> Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']]:
        """
        Azure PostgreSQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql")

    @postgresql.setter
    def postgresql(self, value: Optional[pulumi.Input['AzureIntegrationsPostgresqlArgs']]):
        pulumi.set(self, "postgresql", value)

    @property
    @pulumi.getter(name="postgresqlFlexible")
    def postgresql_flexible(self) -> Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']]:
        """
        Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql_flexible")

    @postgresql_flexible.setter
    def postgresql_flexible(self, value: Optional[pulumi.Input['AzureIntegrationsPostgresqlFlexibleArgs']]):
        pulumi.set(self, "postgresql_flexible", value)

    @property
    @pulumi.getter(name="powerBiDedicated")
    def power_bi_dedicated(self) -> Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']]:
        """
        Azure Power BI Dedicated. See Integration blocks below for details.
        """
        return pulumi.get(self, "power_bi_dedicated")

    @power_bi_dedicated.setter
    def power_bi_dedicated(self, value: Optional[pulumi.Input['AzureIntegrationsPowerBiDedicatedArgs']]):
        pulumi.set(self, "power_bi_dedicated", value)

    @property
    @pulumi.getter(name="redisCache")
    def redis_cache(self) -> Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']]:
        """
        Azure Redis Cache. See Integration blocks below for details.
        """
        return pulumi.get(self, "redis_cache")

    @redis_cache.setter
    def redis_cache(self, value: Optional[pulumi.Input['AzureIntegrationsRedisCacheArgs']]):
        pulumi.set(self, "redis_cache", value)

    @property
    @pulumi.getter(name="serviceBus")
    def service_bus(self) -> Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']]:
        """
        Azure Service Bus. See Integration blocks below for details.
        """
        return pulumi.get(self, "service_bus")

    @service_bus.setter
    def service_bus(self, value: Optional[pulumi.Input['AzureIntegrationsServiceBusArgs']]):
        pulumi.set(self, "service_bus", value)

    @property
    @pulumi.getter
    def sql(self) -> Optional[pulumi.Input['AzureIntegrationsSqlArgs']]:
        """
        Azure SQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql")

    @sql.setter
    def sql(self, value: Optional[pulumi.Input['AzureIntegrationsSqlArgs']]):
        pulumi.set(self, "sql", value)

    @property
    @pulumi.getter(name="sqlManaged")
    def sql_managed(self) -> Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']]:
        """
        Azure SQL Managed. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql_managed")

    @sql_managed.setter
    def sql_managed(self, value: Optional[pulumi.Input['AzureIntegrationsSqlManagedArgs']]):
        pulumi.set(self, "sql_managed", value)

    @property
    @pulumi.getter
    def storage(self) -> Optional[pulumi.Input['AzureIntegrationsStorageArgs']]:
        """
        for Azure Storage. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "storage")

    @storage.setter
    def storage(self, value: Optional[pulumi.Input['AzureIntegrationsStorageArgs']]):
        pulumi.set(self, "storage", value)

    @property
    @pulumi.getter(name="virtualMachine")
    def virtual_machine(self) -> Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']]:
        """
        Azure Virtual machine. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_machine")

    @virtual_machine.setter
    def virtual_machine(self, value: Optional[pulumi.Input['AzureIntegrationsVirtualMachineArgs']]):
        pulumi.set(self, "virtual_machine", value)

    @property
    @pulumi.getter(name="virtualNetworks")
    def virtual_networks(self) -> Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']]:
        """
        for Azure Virtual networks. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_networks")

    @virtual_networks.setter
    def virtual_networks(self, value: Optional[pulumi.Input['AzureIntegrationsVirtualNetworksArgs']]):
        pulumi.set(self, "virtual_networks", value)

    @property
    @pulumi.getter
    def vms(self) -> Optional[pulumi.Input['AzureIntegrationsVmsArgs']]:
        """
        Azure VMs. See Integration blocks below for details.
        """
        return pulumi.get(self, "vms")

    @vms.setter
    def vms(self, value: Optional[pulumi.Input['AzureIntegrationsVmsArgs']]):
        pulumi.set(self, "vms", value)

    @property
    @pulumi.getter(name="vpnGateway")
    def vpn_gateway(self) -> Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']]:
        """
        Azure VPN Gateway. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        return pulumi.get(self, "vpn_gateway")

    @vpn_gateway.setter
    def vpn_gateway(self, value: Optional[pulumi.Input['AzureIntegrationsVpnGatewayArgs']]):
        pulumi.set(self, "vpn_gateway", value)


class AzureIntegrations(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 account_id: Optional[pulumi.Input[builtins.str]] = None,
                 api_management: Optional[pulumi.Input[Union['AzureIntegrationsApiManagementArgs', 'AzureIntegrationsApiManagementArgsDict']]] = None,
                 app_gateway: Optional[pulumi.Input[Union['AzureIntegrationsAppGatewayArgs', 'AzureIntegrationsAppGatewayArgsDict']]] = None,
                 app_service: Optional[pulumi.Input[Union['AzureIntegrationsAppServiceArgs', 'AzureIntegrationsAppServiceArgsDict']]] = None,
                 containers: Optional[pulumi.Input[Union['AzureIntegrationsContainersArgs', 'AzureIntegrationsContainersArgsDict']]] = None,
                 cosmos_db: Optional[pulumi.Input[Union['AzureIntegrationsCosmosDbArgs', 'AzureIntegrationsCosmosDbArgsDict']]] = None,
                 cost_management: Optional[pulumi.Input[Union['AzureIntegrationsCostManagementArgs', 'AzureIntegrationsCostManagementArgsDict']]] = None,
                 data_factory: Optional[pulumi.Input[Union['AzureIntegrationsDataFactoryArgs', 'AzureIntegrationsDataFactoryArgsDict']]] = None,
                 event_hub: Optional[pulumi.Input[Union['AzureIntegrationsEventHubArgs', 'AzureIntegrationsEventHubArgsDict']]] = None,
                 express_route: Optional[pulumi.Input[Union['AzureIntegrationsExpressRouteArgs', 'AzureIntegrationsExpressRouteArgsDict']]] = None,
                 firewalls: Optional[pulumi.Input[Union['AzureIntegrationsFirewallsArgs', 'AzureIntegrationsFirewallsArgsDict']]] = None,
                 front_door: Optional[pulumi.Input[Union['AzureIntegrationsFrontDoorArgs', 'AzureIntegrationsFrontDoorArgsDict']]] = None,
                 functions: Optional[pulumi.Input[Union['AzureIntegrationsFunctionsArgs', 'AzureIntegrationsFunctionsArgsDict']]] = None,
                 key_vault: Optional[pulumi.Input[Union['AzureIntegrationsKeyVaultArgs', 'AzureIntegrationsKeyVaultArgsDict']]] = None,
                 linked_account_id: Optional[pulumi.Input[builtins.str]] = None,
                 load_balancer: Optional[pulumi.Input[Union['AzureIntegrationsLoadBalancerArgs', 'AzureIntegrationsLoadBalancerArgsDict']]] = None,
                 logic_apps: Optional[pulumi.Input[Union['AzureIntegrationsLogicAppsArgs', 'AzureIntegrationsLogicAppsArgsDict']]] = None,
                 machine_learning: Optional[pulumi.Input[Union['AzureIntegrationsMachineLearningArgs', 'AzureIntegrationsMachineLearningArgsDict']]] = None,
                 maria_db: Optional[pulumi.Input[Union['AzureIntegrationsMariaDbArgs', 'AzureIntegrationsMariaDbArgsDict']]] = None,
                 monitor: Optional[pulumi.Input[Union['AzureIntegrationsMonitorArgs', 'AzureIntegrationsMonitorArgsDict']]] = None,
                 mysql: Optional[pulumi.Input[Union['AzureIntegrationsMysqlArgs', 'AzureIntegrationsMysqlArgsDict']]] = None,
                 mysql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsMysqlFlexibleArgs', 'AzureIntegrationsMysqlFlexibleArgsDict']]] = None,
                 postgresql: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlArgs', 'AzureIntegrationsPostgresqlArgsDict']]] = None,
                 postgresql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlFlexibleArgs', 'AzureIntegrationsPostgresqlFlexibleArgsDict']]] = None,
                 power_bi_dedicated: Optional[pulumi.Input[Union['AzureIntegrationsPowerBiDedicatedArgs', 'AzureIntegrationsPowerBiDedicatedArgsDict']]] = None,
                 redis_cache: Optional[pulumi.Input[Union['AzureIntegrationsRedisCacheArgs', 'AzureIntegrationsRedisCacheArgsDict']]] = None,
                 service_bus: Optional[pulumi.Input[Union['AzureIntegrationsServiceBusArgs', 'AzureIntegrationsServiceBusArgsDict']]] = None,
                 sql: Optional[pulumi.Input[Union['AzureIntegrationsSqlArgs', 'AzureIntegrationsSqlArgsDict']]] = None,
                 sql_managed: Optional[pulumi.Input[Union['AzureIntegrationsSqlManagedArgs', 'AzureIntegrationsSqlManagedArgsDict']]] = None,
                 storage: Optional[pulumi.Input[Union['AzureIntegrationsStorageArgs', 'AzureIntegrationsStorageArgsDict']]] = None,
                 virtual_machine: Optional[pulumi.Input[Union['AzureIntegrationsVirtualMachineArgs', 'AzureIntegrationsVirtualMachineArgsDict']]] = None,
                 virtual_networks: Optional[pulumi.Input[Union['AzureIntegrationsVirtualNetworksArgs', 'AzureIntegrationsVirtualNetworksArgsDict']]] = None,
                 vms: Optional[pulumi.Input[Union['AzureIntegrationsVmsArgs', 'AzureIntegrationsVmsArgsDict']]] = None,
                 vpn_gateway: Optional[pulumi.Input[Union['AzureIntegrationsVpnGatewayArgs', 'AzureIntegrationsVpnGatewayArgsDict']]] = None,
                 __props__=None):
        """
        Use this resource to integrate Azure services with New Relic.

        ## Prerequisite

        To start receiving Azure data with New Relic Azure integrations, connect your Azure account to New Relic infrastructure monitoring. If you don't have one already, create a New Relic account. It's free, forever.

        Setup is required for this resource to work properly. This resource assumes you have linked an Azure account to New Relic.

        You can find instructions on how to set up Azure on [our documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/).

        ## Example Usage

        Leave an integration block empty to use its default configuration. You can also use the full example, including the Azure set up, found in our guides.

        ```python
        import pulumi
        import pulumi_newrelic as newrelic

        foo = newrelic.cloud.AzureLinkAccount("foo",
            account_id="The New Relic account ID where you want to link the Azure account",
            application_id="ID of the application",
            client_secret="Secret value of client's Azure account",
            subscription_id="Subscription ID of Azure",
            tenant_id="Tenant ID of the Azure",
            name="Name of the linked account")
        foo_azure_integrations = newrelic.cloud.AzureIntegrations("foo",
            linked_account_id=foo.id,
            account_id="The New Relic account ID",
            api_management={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            app_gateway={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            app_service={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            containers={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            cosmos_db={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            cost_management={
                "metrics_polling_interval": 3600,
                "tag_keys": ["tag_keys"],
            },
            data_factory={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            event_hub={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            express_route={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            firewalls={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            front_door={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            functions={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            key_vault={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            load_balancer={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            logic_apps={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            machine_learning={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            maria_db={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            monitor={
                "metrics_polling_interval": 60,
                "resource_groups": ["resource_groups"],
                "include_tags": ["env:production"],
                "exclude_tags": [
                    "env:staging",
                    "env:testing",
                ],
                "enabled": True,
                "resource_types": ["microsoft.datashare/accounts"],
            },
            mysql={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            mysql_flexible={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            postgresql={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            postgresql_flexible={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            power_bi_dedicated={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            redis_cache={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            service_bus={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            sql={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            sql_managed={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            storage={
                "metrics_polling_interval": 1800,
                "resource_groups": ["resource_groups"],
            },
            virtual_machine={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            virtual_networks={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            vms={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            vpn_gateway={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            })
        ```

        ## Import

        Linked Azure accounts can be imported using `id`, you can find the `id` of existing Azure linked accounts in Azure dashboard under Infrastructure in NewRelic.

        bash

        ```sh
        $ pulumi import newrelic:cloud/azureIntegrations:AzureIntegrations foo <id>
        ```

        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[builtins.str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input[Union['AzureIntegrationsApiManagementArgs', 'AzureIntegrationsApiManagementArgsDict']] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsAppGatewayArgs', 'AzureIntegrationsAppGatewayArgsDict']] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsAppServiceArgs', 'AzureIntegrationsAppServiceArgsDict']] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsContainersArgs', 'AzureIntegrationsContainersArgsDict']] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsCosmosDbArgs', 'AzureIntegrationsCosmosDbArgsDict']] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsCostManagementArgs', 'AzureIntegrationsCostManagementArgsDict']] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsDataFactoryArgs', 'AzureIntegrationsDataFactoryArgsDict']] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsEventHubArgs', 'AzureIntegrationsEventHubArgsDict']] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsExpressRouteArgs', 'AzureIntegrationsExpressRouteArgsDict']] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFirewallsArgs', 'AzureIntegrationsFirewallsArgsDict']] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFrontDoorArgs', 'AzureIntegrationsFrontDoorArgsDict']] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFunctionsArgs', 'AzureIntegrationsFunctionsArgsDict']] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsKeyVaultArgs', 'AzureIntegrationsKeyVaultArgsDict']] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input[builtins.str] linked_account_id: The ID of the linked Azure account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        :param pulumi.Input[Union['AzureIntegrationsLoadBalancerArgs', 'AzureIntegrationsLoadBalancerArgsDict']] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsLogicAppsArgs', 'AzureIntegrationsLogicAppsArgsDict']] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMachineLearningArgs', 'AzureIntegrationsMachineLearningArgsDict']] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMariaDbArgs', 'AzureIntegrationsMariaDbArgsDict']] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMonitorArgs', 'AzureIntegrationsMonitorArgsDict']] monitor: Azure Monitor. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input[Union['AzureIntegrationsMysqlArgs', 'AzureIntegrationsMysqlArgsDict']] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMysqlFlexibleArgs', 'AzureIntegrationsMysqlFlexibleArgsDict']] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPostgresqlArgs', 'AzureIntegrationsPostgresqlArgsDict']] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPostgresqlFlexibleArgs', 'AzureIntegrationsPostgresqlFlexibleArgsDict']] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPowerBiDedicatedArgs', 'AzureIntegrationsPowerBiDedicatedArgsDict']] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsRedisCacheArgs', 'AzureIntegrationsRedisCacheArgsDict']] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsServiceBusArgs', 'AzureIntegrationsServiceBusArgsDict']] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsSqlArgs', 'AzureIntegrationsSqlArgsDict']] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsSqlManagedArgs', 'AzureIntegrationsSqlManagedArgsDict']] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsStorageArgs', 'AzureIntegrationsStorageArgsDict']] storage: for Azure Storage. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input[Union['AzureIntegrationsVirtualMachineArgs', 'AzureIntegrationsVirtualMachineArgsDict']] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVirtualNetworksArgs', 'AzureIntegrationsVirtualNetworksArgsDict']] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVmsArgs', 'AzureIntegrationsVmsArgsDict']] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVpnGatewayArgs', 'AzureIntegrationsVpnGatewayArgsDict']] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: AzureIntegrationsArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Use this resource to integrate Azure services with New Relic.

        ## Prerequisite

        To start receiving Azure data with New Relic Azure integrations, connect your Azure account to New Relic infrastructure monitoring. If you don't have one already, create a New Relic account. It's free, forever.

        Setup is required for this resource to work properly. This resource assumes you have linked an Azure account to New Relic.

        You can find instructions on how to set up Azure on [our documentation](https://docs.newrelic.com/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/).

        ## Example Usage

        Leave an integration block empty to use its default configuration. You can also use the full example, including the Azure set up, found in our guides.

        ```python
        import pulumi
        import pulumi_newrelic as newrelic

        foo = newrelic.cloud.AzureLinkAccount("foo",
            account_id="The New Relic account ID where you want to link the Azure account",
            application_id="ID of the application",
            client_secret="Secret value of client's Azure account",
            subscription_id="Subscription ID of Azure",
            tenant_id="Tenant ID of the Azure",
            name="Name of the linked account")
        foo_azure_integrations = newrelic.cloud.AzureIntegrations("foo",
            linked_account_id=foo.id,
            account_id="The New Relic account ID",
            api_management={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            app_gateway={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            app_service={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            containers={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            cosmos_db={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            cost_management={
                "metrics_polling_interval": 3600,
                "tag_keys": ["tag_keys"],
            },
            data_factory={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            event_hub={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            express_route={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            firewalls={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            front_door={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            functions={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            key_vault={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            load_balancer={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            logic_apps={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            machine_learning={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            maria_db={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            monitor={
                "metrics_polling_interval": 60,
                "resource_groups": ["resource_groups"],
                "include_tags": ["env:production"],
                "exclude_tags": [
                    "env:staging",
                    "env:testing",
                ],
                "enabled": True,
                "resource_types": ["microsoft.datashare/accounts"],
            },
            mysql={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            mysql_flexible={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            postgresql={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            postgresql_flexible={
                "metrics_polling_interval": 3600,
                "resource_groups": ["resource_groups"],
            },
            power_bi_dedicated={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            redis_cache={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            service_bus={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            sql={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            sql_managed={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            storage={
                "metrics_polling_interval": 1800,
                "resource_groups": ["resource_groups"],
            },
            virtual_machine={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            virtual_networks={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            vms={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            },
            vpn_gateway={
                "metrics_polling_interval": 300,
                "resource_groups": ["resource_groups"],
            })
        ```

        ## Import

        Linked Azure accounts can be imported using `id`, you can find the `id` of existing Azure linked accounts in Azure dashboard under Infrastructure in NewRelic.

        bash

        ```sh
        $ pulumi import newrelic:cloud/azureIntegrations:AzureIntegrations foo <id>
        ```

        :param str resource_name: The name of the resource.
        :param AzureIntegrationsArgs 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(AzureIntegrationsArgs, 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_id: Optional[pulumi.Input[builtins.str]] = None,
                 api_management: Optional[pulumi.Input[Union['AzureIntegrationsApiManagementArgs', 'AzureIntegrationsApiManagementArgsDict']]] = None,
                 app_gateway: Optional[pulumi.Input[Union['AzureIntegrationsAppGatewayArgs', 'AzureIntegrationsAppGatewayArgsDict']]] = None,
                 app_service: Optional[pulumi.Input[Union['AzureIntegrationsAppServiceArgs', 'AzureIntegrationsAppServiceArgsDict']]] = None,
                 containers: Optional[pulumi.Input[Union['AzureIntegrationsContainersArgs', 'AzureIntegrationsContainersArgsDict']]] = None,
                 cosmos_db: Optional[pulumi.Input[Union['AzureIntegrationsCosmosDbArgs', 'AzureIntegrationsCosmosDbArgsDict']]] = None,
                 cost_management: Optional[pulumi.Input[Union['AzureIntegrationsCostManagementArgs', 'AzureIntegrationsCostManagementArgsDict']]] = None,
                 data_factory: Optional[pulumi.Input[Union['AzureIntegrationsDataFactoryArgs', 'AzureIntegrationsDataFactoryArgsDict']]] = None,
                 event_hub: Optional[pulumi.Input[Union['AzureIntegrationsEventHubArgs', 'AzureIntegrationsEventHubArgsDict']]] = None,
                 express_route: Optional[pulumi.Input[Union['AzureIntegrationsExpressRouteArgs', 'AzureIntegrationsExpressRouteArgsDict']]] = None,
                 firewalls: Optional[pulumi.Input[Union['AzureIntegrationsFirewallsArgs', 'AzureIntegrationsFirewallsArgsDict']]] = None,
                 front_door: Optional[pulumi.Input[Union['AzureIntegrationsFrontDoorArgs', 'AzureIntegrationsFrontDoorArgsDict']]] = None,
                 functions: Optional[pulumi.Input[Union['AzureIntegrationsFunctionsArgs', 'AzureIntegrationsFunctionsArgsDict']]] = None,
                 key_vault: Optional[pulumi.Input[Union['AzureIntegrationsKeyVaultArgs', 'AzureIntegrationsKeyVaultArgsDict']]] = None,
                 linked_account_id: Optional[pulumi.Input[builtins.str]] = None,
                 load_balancer: Optional[pulumi.Input[Union['AzureIntegrationsLoadBalancerArgs', 'AzureIntegrationsLoadBalancerArgsDict']]] = None,
                 logic_apps: Optional[pulumi.Input[Union['AzureIntegrationsLogicAppsArgs', 'AzureIntegrationsLogicAppsArgsDict']]] = None,
                 machine_learning: Optional[pulumi.Input[Union['AzureIntegrationsMachineLearningArgs', 'AzureIntegrationsMachineLearningArgsDict']]] = None,
                 maria_db: Optional[pulumi.Input[Union['AzureIntegrationsMariaDbArgs', 'AzureIntegrationsMariaDbArgsDict']]] = None,
                 monitor: Optional[pulumi.Input[Union['AzureIntegrationsMonitorArgs', 'AzureIntegrationsMonitorArgsDict']]] = None,
                 mysql: Optional[pulumi.Input[Union['AzureIntegrationsMysqlArgs', 'AzureIntegrationsMysqlArgsDict']]] = None,
                 mysql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsMysqlFlexibleArgs', 'AzureIntegrationsMysqlFlexibleArgsDict']]] = None,
                 postgresql: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlArgs', 'AzureIntegrationsPostgresqlArgsDict']]] = None,
                 postgresql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlFlexibleArgs', 'AzureIntegrationsPostgresqlFlexibleArgsDict']]] = None,
                 power_bi_dedicated: Optional[pulumi.Input[Union['AzureIntegrationsPowerBiDedicatedArgs', 'AzureIntegrationsPowerBiDedicatedArgsDict']]] = None,
                 redis_cache: Optional[pulumi.Input[Union['AzureIntegrationsRedisCacheArgs', 'AzureIntegrationsRedisCacheArgsDict']]] = None,
                 service_bus: Optional[pulumi.Input[Union['AzureIntegrationsServiceBusArgs', 'AzureIntegrationsServiceBusArgsDict']]] = None,
                 sql: Optional[pulumi.Input[Union['AzureIntegrationsSqlArgs', 'AzureIntegrationsSqlArgsDict']]] = None,
                 sql_managed: Optional[pulumi.Input[Union['AzureIntegrationsSqlManagedArgs', 'AzureIntegrationsSqlManagedArgsDict']]] = None,
                 storage: Optional[pulumi.Input[Union['AzureIntegrationsStorageArgs', 'AzureIntegrationsStorageArgsDict']]] = None,
                 virtual_machine: Optional[pulumi.Input[Union['AzureIntegrationsVirtualMachineArgs', 'AzureIntegrationsVirtualMachineArgsDict']]] = None,
                 virtual_networks: Optional[pulumi.Input[Union['AzureIntegrationsVirtualNetworksArgs', 'AzureIntegrationsVirtualNetworksArgsDict']]] = None,
                 vms: Optional[pulumi.Input[Union['AzureIntegrationsVmsArgs', 'AzureIntegrationsVmsArgsDict']]] = None,
                 vpn_gateway: Optional[pulumi.Input[Union['AzureIntegrationsVpnGatewayArgs', 'AzureIntegrationsVpnGatewayArgsDict']]] = 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__ = AzureIntegrationsArgs.__new__(AzureIntegrationsArgs)

            __props__.__dict__["account_id"] = account_id
            __props__.__dict__["api_management"] = api_management
            __props__.__dict__["app_gateway"] = app_gateway
            __props__.__dict__["app_service"] = app_service
            __props__.__dict__["containers"] = containers
            __props__.__dict__["cosmos_db"] = cosmos_db
            __props__.__dict__["cost_management"] = cost_management
            __props__.__dict__["data_factory"] = data_factory
            __props__.__dict__["event_hub"] = event_hub
            __props__.__dict__["express_route"] = express_route
            __props__.__dict__["firewalls"] = firewalls
            __props__.__dict__["front_door"] = front_door
            __props__.__dict__["functions"] = functions
            __props__.__dict__["key_vault"] = key_vault
            if linked_account_id is None and not opts.urn:
                raise TypeError("Missing required property 'linked_account_id'")
            __props__.__dict__["linked_account_id"] = linked_account_id
            __props__.__dict__["load_balancer"] = load_balancer
            __props__.__dict__["logic_apps"] = logic_apps
            __props__.__dict__["machine_learning"] = machine_learning
            __props__.__dict__["maria_db"] = maria_db
            __props__.__dict__["monitor"] = monitor
            __props__.__dict__["mysql"] = mysql
            __props__.__dict__["mysql_flexible"] = mysql_flexible
            __props__.__dict__["postgresql"] = postgresql
            __props__.__dict__["postgresql_flexible"] = postgresql_flexible
            __props__.__dict__["power_bi_dedicated"] = power_bi_dedicated
            __props__.__dict__["redis_cache"] = redis_cache
            __props__.__dict__["service_bus"] = service_bus
            __props__.__dict__["sql"] = sql
            __props__.__dict__["sql_managed"] = sql_managed
            __props__.__dict__["storage"] = storage
            __props__.__dict__["virtual_machine"] = virtual_machine
            __props__.__dict__["virtual_networks"] = virtual_networks
            __props__.__dict__["vms"] = vms
            __props__.__dict__["vpn_gateway"] = vpn_gateway
        super(AzureIntegrations, __self__).__init__(
            'newrelic:cloud/azureIntegrations:AzureIntegrations',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            account_id: Optional[pulumi.Input[builtins.str]] = None,
            api_management: Optional[pulumi.Input[Union['AzureIntegrationsApiManagementArgs', 'AzureIntegrationsApiManagementArgsDict']]] = None,
            app_gateway: Optional[pulumi.Input[Union['AzureIntegrationsAppGatewayArgs', 'AzureIntegrationsAppGatewayArgsDict']]] = None,
            app_service: Optional[pulumi.Input[Union['AzureIntegrationsAppServiceArgs', 'AzureIntegrationsAppServiceArgsDict']]] = None,
            containers: Optional[pulumi.Input[Union['AzureIntegrationsContainersArgs', 'AzureIntegrationsContainersArgsDict']]] = None,
            cosmos_db: Optional[pulumi.Input[Union['AzureIntegrationsCosmosDbArgs', 'AzureIntegrationsCosmosDbArgsDict']]] = None,
            cost_management: Optional[pulumi.Input[Union['AzureIntegrationsCostManagementArgs', 'AzureIntegrationsCostManagementArgsDict']]] = None,
            data_factory: Optional[pulumi.Input[Union['AzureIntegrationsDataFactoryArgs', 'AzureIntegrationsDataFactoryArgsDict']]] = None,
            event_hub: Optional[pulumi.Input[Union['AzureIntegrationsEventHubArgs', 'AzureIntegrationsEventHubArgsDict']]] = None,
            express_route: Optional[pulumi.Input[Union['AzureIntegrationsExpressRouteArgs', 'AzureIntegrationsExpressRouteArgsDict']]] = None,
            firewalls: Optional[pulumi.Input[Union['AzureIntegrationsFirewallsArgs', 'AzureIntegrationsFirewallsArgsDict']]] = None,
            front_door: Optional[pulumi.Input[Union['AzureIntegrationsFrontDoorArgs', 'AzureIntegrationsFrontDoorArgsDict']]] = None,
            functions: Optional[pulumi.Input[Union['AzureIntegrationsFunctionsArgs', 'AzureIntegrationsFunctionsArgsDict']]] = None,
            key_vault: Optional[pulumi.Input[Union['AzureIntegrationsKeyVaultArgs', 'AzureIntegrationsKeyVaultArgsDict']]] = None,
            linked_account_id: Optional[pulumi.Input[builtins.str]] = None,
            load_balancer: Optional[pulumi.Input[Union['AzureIntegrationsLoadBalancerArgs', 'AzureIntegrationsLoadBalancerArgsDict']]] = None,
            logic_apps: Optional[pulumi.Input[Union['AzureIntegrationsLogicAppsArgs', 'AzureIntegrationsLogicAppsArgsDict']]] = None,
            machine_learning: Optional[pulumi.Input[Union['AzureIntegrationsMachineLearningArgs', 'AzureIntegrationsMachineLearningArgsDict']]] = None,
            maria_db: Optional[pulumi.Input[Union['AzureIntegrationsMariaDbArgs', 'AzureIntegrationsMariaDbArgsDict']]] = None,
            monitor: Optional[pulumi.Input[Union['AzureIntegrationsMonitorArgs', 'AzureIntegrationsMonitorArgsDict']]] = None,
            mysql: Optional[pulumi.Input[Union['AzureIntegrationsMysqlArgs', 'AzureIntegrationsMysqlArgsDict']]] = None,
            mysql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsMysqlFlexibleArgs', 'AzureIntegrationsMysqlFlexibleArgsDict']]] = None,
            postgresql: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlArgs', 'AzureIntegrationsPostgresqlArgsDict']]] = None,
            postgresql_flexible: Optional[pulumi.Input[Union['AzureIntegrationsPostgresqlFlexibleArgs', 'AzureIntegrationsPostgresqlFlexibleArgsDict']]] = None,
            power_bi_dedicated: Optional[pulumi.Input[Union['AzureIntegrationsPowerBiDedicatedArgs', 'AzureIntegrationsPowerBiDedicatedArgsDict']]] = None,
            redis_cache: Optional[pulumi.Input[Union['AzureIntegrationsRedisCacheArgs', 'AzureIntegrationsRedisCacheArgsDict']]] = None,
            service_bus: Optional[pulumi.Input[Union['AzureIntegrationsServiceBusArgs', 'AzureIntegrationsServiceBusArgsDict']]] = None,
            sql: Optional[pulumi.Input[Union['AzureIntegrationsSqlArgs', 'AzureIntegrationsSqlArgsDict']]] = None,
            sql_managed: Optional[pulumi.Input[Union['AzureIntegrationsSqlManagedArgs', 'AzureIntegrationsSqlManagedArgsDict']]] = None,
            storage: Optional[pulumi.Input[Union['AzureIntegrationsStorageArgs', 'AzureIntegrationsStorageArgsDict']]] = None,
            virtual_machine: Optional[pulumi.Input[Union['AzureIntegrationsVirtualMachineArgs', 'AzureIntegrationsVirtualMachineArgsDict']]] = None,
            virtual_networks: Optional[pulumi.Input[Union['AzureIntegrationsVirtualNetworksArgs', 'AzureIntegrationsVirtualNetworksArgsDict']]] = None,
            vms: Optional[pulumi.Input[Union['AzureIntegrationsVmsArgs', 'AzureIntegrationsVmsArgsDict']]] = None,
            vpn_gateway: Optional[pulumi.Input[Union['AzureIntegrationsVpnGatewayArgs', 'AzureIntegrationsVpnGatewayArgsDict']]] = None) -> 'AzureIntegrations':
        """
        Get an existing AzureIntegrations 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[builtins.str] account_id: The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        :param pulumi.Input[Union['AzureIntegrationsApiManagementArgs', 'AzureIntegrationsApiManagementArgsDict']] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsAppGatewayArgs', 'AzureIntegrationsAppGatewayArgsDict']] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsAppServiceArgs', 'AzureIntegrationsAppServiceArgsDict']] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsContainersArgs', 'AzureIntegrationsContainersArgsDict']] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsCosmosDbArgs', 'AzureIntegrationsCosmosDbArgsDict']] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsCostManagementArgs', 'AzureIntegrationsCostManagementArgsDict']] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsDataFactoryArgs', 'AzureIntegrationsDataFactoryArgsDict']] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsEventHubArgs', 'AzureIntegrationsEventHubArgsDict']] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsExpressRouteArgs', 'AzureIntegrationsExpressRouteArgsDict']] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFirewallsArgs', 'AzureIntegrationsFirewallsArgsDict']] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFrontDoorArgs', 'AzureIntegrationsFrontDoorArgsDict']] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsFunctionsArgs', 'AzureIntegrationsFunctionsArgsDict']] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsKeyVaultArgs', 'AzureIntegrationsKeyVaultArgsDict']] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input[builtins.str] linked_account_id: The ID of the linked Azure account in New Relic.
               
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        :param pulumi.Input[Union['AzureIntegrationsLoadBalancerArgs', 'AzureIntegrationsLoadBalancerArgsDict']] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsLogicAppsArgs', 'AzureIntegrationsLogicAppsArgsDict']] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMachineLearningArgs', 'AzureIntegrationsMachineLearningArgsDict']] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMariaDbArgs', 'AzureIntegrationsMariaDbArgsDict']] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMonitorArgs', 'AzureIntegrationsMonitorArgsDict']] monitor: Azure Monitor. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        :param pulumi.Input[Union['AzureIntegrationsMysqlArgs', 'AzureIntegrationsMysqlArgsDict']] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsMysqlFlexibleArgs', 'AzureIntegrationsMysqlFlexibleArgsDict']] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPostgresqlArgs', 'AzureIntegrationsPostgresqlArgsDict']] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPostgresqlFlexibleArgs', 'AzureIntegrationsPostgresqlFlexibleArgsDict']] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsPowerBiDedicatedArgs', 'AzureIntegrationsPowerBiDedicatedArgsDict']] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsRedisCacheArgs', 'AzureIntegrationsRedisCacheArgsDict']] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsServiceBusArgs', 'AzureIntegrationsServiceBusArgsDict']] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsSqlArgs', 'AzureIntegrationsSqlArgsDict']] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsSqlManagedArgs', 'AzureIntegrationsSqlManagedArgsDict']] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsStorageArgs', 'AzureIntegrationsStorageArgsDict']] storage: for Azure Storage. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        :param pulumi.Input[Union['AzureIntegrationsVirtualMachineArgs', 'AzureIntegrationsVirtualMachineArgsDict']] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVirtualNetworksArgs', 'AzureIntegrationsVirtualNetworksArgsDict']] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVmsArgs', 'AzureIntegrationsVmsArgsDict']] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input[Union['AzureIntegrationsVpnGatewayArgs', 'AzureIntegrationsVpnGatewayArgsDict']] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
               
               The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _AzureIntegrationsState.__new__(_AzureIntegrationsState)

        __props__.__dict__["account_id"] = account_id
        __props__.__dict__["api_management"] = api_management
        __props__.__dict__["app_gateway"] = app_gateway
        __props__.__dict__["app_service"] = app_service
        __props__.__dict__["containers"] = containers
        __props__.__dict__["cosmos_db"] = cosmos_db
        __props__.__dict__["cost_management"] = cost_management
        __props__.__dict__["data_factory"] = data_factory
        __props__.__dict__["event_hub"] = event_hub
        __props__.__dict__["express_route"] = express_route
        __props__.__dict__["firewalls"] = firewalls
        __props__.__dict__["front_door"] = front_door
        __props__.__dict__["functions"] = functions
        __props__.__dict__["key_vault"] = key_vault
        __props__.__dict__["linked_account_id"] = linked_account_id
        __props__.__dict__["load_balancer"] = load_balancer
        __props__.__dict__["logic_apps"] = logic_apps
        __props__.__dict__["machine_learning"] = machine_learning
        __props__.__dict__["maria_db"] = maria_db
        __props__.__dict__["monitor"] = monitor
        __props__.__dict__["mysql"] = mysql
        __props__.__dict__["mysql_flexible"] = mysql_flexible
        __props__.__dict__["postgresql"] = postgresql
        __props__.__dict__["postgresql_flexible"] = postgresql_flexible
        __props__.__dict__["power_bi_dedicated"] = power_bi_dedicated
        __props__.__dict__["redis_cache"] = redis_cache
        __props__.__dict__["service_bus"] = service_bus
        __props__.__dict__["sql"] = sql
        __props__.__dict__["sql_managed"] = sql_managed
        __props__.__dict__["storage"] = storage
        __props__.__dict__["virtual_machine"] = virtual_machine
        __props__.__dict__["virtual_networks"] = virtual_networks
        __props__.__dict__["vms"] = vms
        __props__.__dict__["vpn_gateway"] = vpn_gateway
        return AzureIntegrations(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> pulumi.Output[builtins.str]:
        """
        The New Relic account ID to operate on.  This allows the user to override the `account_id` attribute set on the provider. Defaults to the environment variable `NEW_RELIC_ACCOUNT_ID`.
        """
        return pulumi.get(self, "account_id")

    @property
    @pulumi.getter(name="apiManagement")
    def api_management(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsApiManagement']]:
        """
        Azure API Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "api_management")

    @property
    @pulumi.getter(name="appGateway")
    def app_gateway(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsAppGateway']]:
        """
        Azure App Gateway. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_gateway")

    @property
    @pulumi.getter(name="appService")
    def app_service(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsAppService']]:
        """
        Azure App Service. See Integration blocks below for details.
        """
        return pulumi.get(self, "app_service")

    @property
    @pulumi.getter
    def containers(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsContainers']]:
        """
        Azure Containers. See Integration blocks below for details.
        """
        return pulumi.get(self, "containers")

    @property
    @pulumi.getter(name="cosmosDb")
    def cosmos_db(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsCosmosDb']]:
        """
        Azure CosmosDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "cosmos_db")

    @property
    @pulumi.getter(name="costManagement")
    def cost_management(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsCostManagement']]:
        """
        Azure Cost Management. See Integration blocks below for details.
        """
        return pulumi.get(self, "cost_management")

    @property
    @pulumi.getter(name="dataFactory")
    def data_factory(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsDataFactory']]:
        """
        Azure Data Factory. See Integration blocks below for details.
        """
        return pulumi.get(self, "data_factory")

    @property
    @pulumi.getter(name="eventHub")
    def event_hub(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsEventHub']]:
        """
        Azure Event Hub. See Integration blocks below for details.
        """
        return pulumi.get(self, "event_hub")

    @property
    @pulumi.getter(name="expressRoute")
    def express_route(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsExpressRoute']]:
        """
        Azure Express Route. See Integration blocks below for details.
        """
        return pulumi.get(self, "express_route")

    @property
    @pulumi.getter
    def firewalls(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsFirewalls']]:
        """
        Azure Firewalls. See Integration blocks below for details.
        """
        return pulumi.get(self, "firewalls")

    @property
    @pulumi.getter(name="frontDoor")
    def front_door(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsFrontDoor']]:
        """
        Azure Front Door. See Integration blocks below for details.
        """
        return pulumi.get(self, "front_door")

    @property
    @pulumi.getter
    def functions(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsFunctions']]:
        """
        Azure Functions. See Integration blocks below for details.
        """
        return pulumi.get(self, "functions")

    @property
    @pulumi.getter(name="keyVault")
    def key_vault(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsKeyVault']]:
        """
        Azure Key Vault. See Integration blocks below for details.
        """
        return pulumi.get(self, "key_vault")

    @property
    @pulumi.getter(name="linkedAccountId")
    def linked_account_id(self) -> pulumi.Output[builtins.str]:
        """
        The ID of the linked Azure account in New Relic.


        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 60 seconds.
        """
        return pulumi.get(self, "linked_account_id")

    @property
    @pulumi.getter(name="loadBalancer")
    def load_balancer(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsLoadBalancer']]:
        """
        Azure Load Balancer. See Integration blocks below for details.
        """
        return pulumi.get(self, "load_balancer")

    @property
    @pulumi.getter(name="logicApps")
    def logic_apps(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsLogicApps']]:
        """
        Azure Logic Apps. See Integration blocks below for details.
        """
        return pulumi.get(self, "logic_apps")

    @property
    @pulumi.getter(name="machineLearning")
    def machine_learning(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsMachineLearning']]:
        """
        Azure Machine Learning. See Integration blocks below for details.
        """
        return pulumi.get(self, "machine_learning")

    @property
    @pulumi.getter(name="mariaDb")
    def maria_db(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsMariaDb']]:
        """
        Azure MariaDB. See Integration blocks below for details.
        """
        return pulumi.get(self, "maria_db")

    @property
    @pulumi.getter
    def monitor(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsMonitor']]:
        """
        Azure Monitor. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 300 seconds.
        """
        return pulumi.get(self, "monitor")

    @property
    @pulumi.getter
    def mysql(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsMysql']]:
        """
        Azure MySQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql")

    @property
    @pulumi.getter(name="mysqlFlexible")
    def mysql_flexible(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsMysqlFlexible']]:
        """
        Azure MySQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "mysql_flexible")

    @property
    @pulumi.getter
    def postgresql(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsPostgresql']]:
        """
        Azure PostgreSQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql")

    @property
    @pulumi.getter(name="postgresqlFlexible")
    def postgresql_flexible(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsPostgresqlFlexible']]:
        """
        Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        """
        return pulumi.get(self, "postgresql_flexible")

    @property
    @pulumi.getter(name="powerBiDedicated")
    def power_bi_dedicated(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsPowerBiDedicated']]:
        """
        Azure Power BI Dedicated. See Integration blocks below for details.
        """
        return pulumi.get(self, "power_bi_dedicated")

    @property
    @pulumi.getter(name="redisCache")
    def redis_cache(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsRedisCache']]:
        """
        Azure Redis Cache. See Integration blocks below for details.
        """
        return pulumi.get(self, "redis_cache")

    @property
    @pulumi.getter(name="serviceBus")
    def service_bus(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsServiceBus']]:
        """
        Azure Service Bus. See Integration blocks below for details.
        """
        return pulumi.get(self, "service_bus")

    @property
    @pulumi.getter
    def sql(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsSql']]:
        """
        Azure SQL. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql")

    @property
    @pulumi.getter(name="sqlManaged")
    def sql_managed(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsSqlManaged']]:
        """
        Azure SQL Managed. See Integration blocks below for details.
        """
        return pulumi.get(self, "sql_managed")

    @property
    @pulumi.getter
    def storage(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsStorage']]:
        """
        for Azure Storage. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 3600 seconds.
        """
        return pulumi.get(self, "storage")

    @property
    @pulumi.getter(name="virtualMachine")
    def virtual_machine(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsVirtualMachine']]:
        """
        Azure Virtual machine. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_machine")

    @property
    @pulumi.getter(name="virtualNetworks")
    def virtual_networks(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsVirtualNetworks']]:
        """
        for Azure Virtual networks. See Integration blocks below for details.
        """
        return pulumi.get(self, "virtual_networks")

    @property
    @pulumi.getter
    def vms(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsVms']]:
        """
        Azure VMs. See Integration blocks below for details.
        """
        return pulumi.get(self, "vms")

    @property
    @pulumi.getter(name="vpnGateway")
    def vpn_gateway(self) -> pulumi.Output[Optional['outputs.AzureIntegrationsVpnGateway']]:
        """
        Azure VPN Gateway. See Integration blocks below for details.

        The following arguments/integration blocks are intended to be used with a minimum `metrics_polling_interval` of 1800 seconds.
        """
        return pulumi.get(self, "vpn_gateway")

