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

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

__all__ = ['AzureIntegrationsArgs', 'AzureIntegrations']

@pulumi.input_type
class AzureIntegrationsArgs:
    def __init__(__self__, *,
                 linked_account_id: pulumi.Input[int],
                 account_id: Optional[pulumi.Input[int]] = 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,
                 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[int] linked_account_id: The ID of the linked Azure account in New Relic.
        :param pulumi.Input[int] 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['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.
        :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.
        """
        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 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[int]:
        """
        The ID of the linked Azure account in New Relic.
        """
        return pulumi.get(self, "linked_account_id")

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

    @property
    @pulumi.getter(name="accountId")
    def account_id(self) -> Optional[pulumi.Input[int]]:
        """
        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[int]]):
        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 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.
        """
        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.
        """
        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[int]] = 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[int]] = 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,
                 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[int] 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[int] linked_account_id: The ID of the linked Azure account in New Relic.
        :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['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.
        :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.
        """
        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 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[int]]:
        """
        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[int]]):
        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[int]]:
        """
        The ID of the linked Azure account in New Relic.
        """
        return pulumi.get(self, "linked_account_id")

    @linked_account_id.setter
    def linked_account_id(self, value: Optional[pulumi.Input[int]]):
        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 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.
        """
        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.
        """
        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[int]] = None,
                 api_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsApiManagementArgs']]] = None,
                 app_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppGatewayArgs']]] = None,
                 app_service: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppServiceArgs']]] = None,
                 containers: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsContainersArgs']]] = None,
                 cosmos_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCosmosDbArgs']]] = None,
                 cost_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCostManagementArgs']]] = None,
                 data_factory: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsDataFactoryArgs']]] = None,
                 event_hub: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsEventHubArgs']]] = None,
                 express_route: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsExpressRouteArgs']]] = None,
                 firewalls: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFirewallsArgs']]] = None,
                 front_door: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFrontDoorArgs']]] = None,
                 functions: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFunctionsArgs']]] = None,
                 key_vault: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsKeyVaultArgs']]] = None,
                 linked_account_id: Optional[pulumi.Input[int]] = None,
                 load_balancer: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLoadBalancerArgs']]] = None,
                 logic_apps: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLogicAppsArgs']]] = None,
                 machine_learning: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMachineLearningArgs']]] = None,
                 maria_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMariaDbArgs']]] = None,
                 mysql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlArgs']]] = None,
                 mysql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlFlexibleArgs']]] = None,
                 postgresql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlArgs']]] = None,
                 postgresql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlFlexibleArgs']]] = None,
                 power_bi_dedicated: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPowerBiDedicatedArgs']]] = None,
                 redis_cache: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsRedisCacheArgs']]] = None,
                 service_bus: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsServiceBusArgs']]] = None,
                 sql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlArgs']]] = None,
                 sql_managed: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlManagedArgs']]] = None,
                 storage: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsStorageArgs']]] = None,
                 virtual_machine: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualMachineArgs']]] = None,
                 virtual_networks: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualNetworksArgs']]] = None,
                 vms: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVmsArgs']]] = None,
                 vpn_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVpnGatewayArgs']]] = None,
                 __props__=None):
        """
        ## 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[int] 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[pulumi.InputType['AzureIntegrationsApiManagementArgs']] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsAppGatewayArgs']] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsAppServiceArgs']] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsContainersArgs']] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsCosmosDbArgs']] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsCostManagementArgs']] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsDataFactoryArgs']] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsEventHubArgs']] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsExpressRouteArgs']] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFirewallsArgs']] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFrontDoorArgs']] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFunctionsArgs']] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsKeyVaultArgs']] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input[int] linked_account_id: The ID of the linked Azure account in New Relic.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsLoadBalancerArgs']] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsLogicAppsArgs']] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMachineLearningArgs']] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMariaDbArgs']] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlArgs']] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlFlexibleArgs']] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlArgs']] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlFlexibleArgs']] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPowerBiDedicatedArgs']] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsRedisCacheArgs']] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsServiceBusArgs']] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsSqlArgs']] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsSqlManagedArgs']] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsStorageArgs']] storage: for Azure Storage. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualMachineArgs']] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualNetworksArgs']] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVmsArgs']] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVpnGatewayArgs']] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: AzureIntegrationsArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        ## 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[int]] = None,
                 api_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsApiManagementArgs']]] = None,
                 app_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppGatewayArgs']]] = None,
                 app_service: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppServiceArgs']]] = None,
                 containers: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsContainersArgs']]] = None,
                 cosmos_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCosmosDbArgs']]] = None,
                 cost_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCostManagementArgs']]] = None,
                 data_factory: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsDataFactoryArgs']]] = None,
                 event_hub: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsEventHubArgs']]] = None,
                 express_route: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsExpressRouteArgs']]] = None,
                 firewalls: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFirewallsArgs']]] = None,
                 front_door: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFrontDoorArgs']]] = None,
                 functions: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFunctionsArgs']]] = None,
                 key_vault: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsKeyVaultArgs']]] = None,
                 linked_account_id: Optional[pulumi.Input[int]] = None,
                 load_balancer: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLoadBalancerArgs']]] = None,
                 logic_apps: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLogicAppsArgs']]] = None,
                 machine_learning: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMachineLearningArgs']]] = None,
                 maria_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMariaDbArgs']]] = None,
                 mysql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlArgs']]] = None,
                 mysql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlFlexibleArgs']]] = None,
                 postgresql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlArgs']]] = None,
                 postgresql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlFlexibleArgs']]] = None,
                 power_bi_dedicated: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPowerBiDedicatedArgs']]] = None,
                 redis_cache: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsRedisCacheArgs']]] = None,
                 service_bus: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsServiceBusArgs']]] = None,
                 sql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlArgs']]] = None,
                 sql_managed: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlManagedArgs']]] = None,
                 storage: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsStorageArgs']]] = None,
                 virtual_machine: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualMachineArgs']]] = None,
                 virtual_networks: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualNetworksArgs']]] = None,
                 vms: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVmsArgs']]] = None,
                 vpn_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVpnGatewayArgs']]] = 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__["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[int]] = None,
            api_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsApiManagementArgs']]] = None,
            app_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppGatewayArgs']]] = None,
            app_service: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsAppServiceArgs']]] = None,
            containers: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsContainersArgs']]] = None,
            cosmos_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCosmosDbArgs']]] = None,
            cost_management: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsCostManagementArgs']]] = None,
            data_factory: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsDataFactoryArgs']]] = None,
            event_hub: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsEventHubArgs']]] = None,
            express_route: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsExpressRouteArgs']]] = None,
            firewalls: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFirewallsArgs']]] = None,
            front_door: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFrontDoorArgs']]] = None,
            functions: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsFunctionsArgs']]] = None,
            key_vault: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsKeyVaultArgs']]] = None,
            linked_account_id: Optional[pulumi.Input[int]] = None,
            load_balancer: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLoadBalancerArgs']]] = None,
            logic_apps: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsLogicAppsArgs']]] = None,
            machine_learning: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMachineLearningArgs']]] = None,
            maria_db: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMariaDbArgs']]] = None,
            mysql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlArgs']]] = None,
            mysql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlFlexibleArgs']]] = None,
            postgresql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlArgs']]] = None,
            postgresql_flexible: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlFlexibleArgs']]] = None,
            power_bi_dedicated: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsPowerBiDedicatedArgs']]] = None,
            redis_cache: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsRedisCacheArgs']]] = None,
            service_bus: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsServiceBusArgs']]] = None,
            sql: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlArgs']]] = None,
            sql_managed: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsSqlManagedArgs']]] = None,
            storage: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsStorageArgs']]] = None,
            virtual_machine: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualMachineArgs']]] = None,
            virtual_networks: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualNetworksArgs']]] = None,
            vms: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVmsArgs']]] = None,
            vpn_gateway: Optional[pulumi.Input[pulumi.InputType['AzureIntegrationsVpnGatewayArgs']]] = 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[int] 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[pulumi.InputType['AzureIntegrationsApiManagementArgs']] api_management: Azure API Management. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsAppGatewayArgs']] app_gateway: Azure App Gateway. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsAppServiceArgs']] app_service: Azure App Service. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsContainersArgs']] containers: Azure Containers. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsCosmosDbArgs']] cosmos_db: Azure CosmosDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsCostManagementArgs']] cost_management: Azure Cost Management. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsDataFactoryArgs']] data_factory: Azure Data Factory. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsEventHubArgs']] event_hub: Azure Event Hub. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsExpressRouteArgs']] express_route: Azure Express Route. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFirewallsArgs']] firewalls: Azure Firewalls. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFrontDoorArgs']] front_door: Azure Front Door. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsFunctionsArgs']] functions: Azure Functions. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsKeyVaultArgs']] key_vault: Azure Key Vault. See Integration blocks below for details.
        :param pulumi.Input[int] linked_account_id: The ID of the linked Azure account in New Relic.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsLoadBalancerArgs']] load_balancer: Azure Load Balancer. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsLogicAppsArgs']] logic_apps: Azure Logic Apps. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMachineLearningArgs']] machine_learning: Azure Machine Learning. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMariaDbArgs']] maria_db: Azure MariaDB. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlArgs']] mysql: Azure MySQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsMysqlFlexibleArgs']] mysql_flexible: Azure MySQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlArgs']] postgresql: Azure PostgreSQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPostgresqlFlexibleArgs']] postgresql_flexible: Azure PostgreSQL Flexible Server. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsPowerBiDedicatedArgs']] power_bi_dedicated: Azure Power BI Dedicated. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsRedisCacheArgs']] redis_cache: Azure Redis Cache. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsServiceBusArgs']] service_bus: Azure Service Bus. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsSqlArgs']] sql: Azure SQL. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsSqlManagedArgs']] sql_managed: Azure SQL Managed. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsStorageArgs']] storage: for Azure Storage. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualMachineArgs']] virtual_machine: Azure Virtual machine. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVirtualNetworksArgs']] virtual_networks: for Azure Virtual networks. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVmsArgs']] vms: Azure VMs. See Integration blocks below for details.
        :param pulumi.Input[pulumi.InputType['AzureIntegrationsVpnGatewayArgs']] vpn_gateway: Azure VPN Gateway. See Integration blocks below for details.
        """
        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__["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[int]:
        """
        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[int]:
        """
        The ID of the linked Azure account in New Relic.
        """
        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 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.
        """
        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.
        """
        return pulumi.get(self, "vpn_gateway")

